Linux - 文件管理

Linux - 文件管理 首页 / Linux入门教程 / Linux - 文件管理

在本章中,我们将详细讨论Unix中的文件管理,Unix中的所有数据都是文件,所有文件都组织在目录中,这些目录被组织成称为文件系统的树状结构。

在Unix中,文件有三种基本类型-

  • Ordinary Files   - 普通文件是系统上包含数据,文本或程序指令的文件。

  • Directories         - 目录存储特殊文件和普通文件。

  • Special Files      - 特殊文件提供对硬件的访问,如硬盘驱动器,CD-ROM驱动器。

列出文件

要列出存储在当前目录中的文件和目录,请使用以下命令-

$ls

这是上述命令的示例输出-

$ls

bin        hosts  lib     res.03
ch07       hw1    pub     learnfk_com
ch07.bak   hw2    res.01  users
docs       hw3    res.02  work

命令 ls 支持 -l 选项,该选项将帮助您获取有关所列文件的更多信息-

$ls -l
total 1962188

drwxrwxr-x  2 learnfk learnfk      4096 Dec 25 09:59 uml
-rw-rw-r-- 1 learnfk learnfk 5341 Dec 25 08:38 uml.jpg
drwxr-xr-x 2 learnfk learnfk 4096 Feb 15 2006 univ
drwxr-xr-x 2 root root 4096 Dec 9 2021 urlspedia -rw-r--r-- 1 root root 276480 Dec 9 2021 urlspedia.tar drwxr-xr-x 8 root root 4096 Nov 25 2021 usr drwxr-xr-x 2 200 300 4096 Nov 25 2021 webthumb-1.01 -rwxr-xr-x 1 root root 3192 Nov 25 2021 webthumb.php -rw-rw-r-- 1 learnfk learnfk 20480 Nov 25 2021 webthumb.tar
-rw-rw-r-- 1 learnfk learnfk 5654 Aug 9 2021 yourfile.mid
-rw-rw-r-- 1 learnfk learnfk 166255 Aug 9 2021 yourfile.swf
drwxr-xr-x 11 learnfk learnfk 4096 May 29 2021 zlib-1.2.3
$

这是有关所有列出的列的信息-

链接:https://www.learnfk.comhttps://www.learnfk.com/linux/linux-file-management.html

来源:LearnFk无涯教程网

  • 第一列 - 表示文件类型和文件上的权限。

  • 第二列 - 表示文件或目录占用的内存块数。

  • 第三列 - 表示文件的所有者。

  • 第四列 - 代表所有者的组。

  • 第五列 - 表示文件大小(以字节为单位)。

  • 第六列 - 表示最后一次创建或修改此文件的日期和时间。

  • 第七列 - 表示文件或目录名称。

ls -l 列出的示例中,每个文件行均以 d ,-或 l 开头。这些字符指示列出的文件的类型。

Sr.No.Prefix & 描述
1

-

常规文件,如ASCII文本文件,二进制可执行文件或硬链接。

2

b

阻止特殊文件。阻止输入/输出设备文件,如物理硬盘驱动器。

3

c

字符特殊文件。原始输入/输出设备文件,如物理硬盘驱动器。

4

d

包含其他文件和目录列表的目录文件。

5

l

符号链接文件。任何常规文件上的链接。

6

p

命名管道。进程间通信的机制。

7

s

用于进程间通信的Socket。

元字符

元字符在Unix中具有特殊含义。 如 *和? 是元字符。 我们使用*匹配0个或更多字符,问号(?)匹配单个字符。

$ls ch*.doc

显示所有文件,其名称以 ch 开头并以 .doc 结尾-

ch01-1.doc   ch010.doc  ch02.doc    ch03-2.doc 
ch04-1.doc   ch040.doc  ch05.doc    ch06-2.doc
ch01-2.doc ch02-1.doc c

在这里, * 用作与任何字符匹配的元字符。如果要显示所有以 .doc 结尾的文件,则可以使用以下命令-

$ls *.doc

隐藏文件

一个不可见的文件叫隐藏文件,其第一个字符是点或句点字符(.),Unix程序使用这些文件来存储配置信息。

隐藏文件的一些常见示例包括文件-

  • .profile  - Bourne shell(sh)初始化脚本

  • .kshrc    - Korn shell(ksh)初始化脚本

  • .cshrc    - C Shell(csh)初始化脚本

  • .rhosts   - 远程Shell程序配置文件

要列出不可见的文件,请在 ls 中指定 -a 

$ls -a

.         .profile       docs     lib     learnfk_com
..        .rhosts        hosts    pub     users
.emacs    bin            hw1      res.01  work
.exrc     ch07           hw2      res.02
.kshrc    ch07.bak       hw3      res.03
$
  • 单点(.)  - 这表示当前目录。

  • 双点(..) - 这表示父目录。

创建文件

您可以使用 vi 编辑器在任何Unix系统上创建普通文件。您只需要给出以下命令-

$vi learnfk

上面的命令将打开具有给定文件名的文件。现在,按 i 键进入编辑模式。进入编辑模式后,您可以按照以下程序开始在文件中写入内容-

This is unix file....I created it for the first time.....
I'm going to save this learnfk content in this file.

完成程序后,请按照以下步骤操作:

  • 按 esc 键退出编辑模式。

  • 同时按下两个键Shift + ZZ可完全退出文件。

现在,您将在当前目录中使用 learnfk 创建一个文件。

$vi learnfk
$

编辑文件

您可以使用 vi 编辑器来编辑现有文件。简而言之,我们将讨论如何打开现有文件-

$vi learnfk

打开文件后,可以按 i 键进入编辑模式,然后可以编辑文件。

  • l 键移到右侧。

  • h 键移到左侧。

  • k 键可在文件中向上移动。

  • j 键可在文件中向下移动。

完成文件中的编辑后,按Esc键,最后同时按Shift + ZZ两个键,可以完全退出文件。

查看文件内容

您可以使用 cat 命令查看文件的内容。以下是一个简单的示例,可以查看上面创建的文件的内容-

无涯教程网

$cat learnfk
This is unix file....I created it for the first time.....
I'm going to save this learnfk content in this file.
$

您可以使用 -b 选项和 cat 命令来显示行号,如下所示-

$cat -b learnfk
1   This is unix file....I created it for the first time.....
2   I'm going to save this learnfk content in this file.
$

统计文件中的单词

您可以使用 wc 命令获取文件中包含的行,单词和字符总数的计数。以下是一个简单的示例,以查看有关上面创建的文件的信息-

$wc learnfk
2  19 103 learnfk
$

这是所有四列的详细信息-

  • 第一列 - 表示文件中的总行数。

  • 第二列 - 表示文件中的单词总数。

  • 第三列 - 表示文件中的字节总数。这是文件的实际大小。

  • 第四列 - 表示文件名。

您可以一次提供多个文件并获取有关这些文件的信息。以下是简单的语法-

$wc filename1 filename2 filename3

复制文件

要复制文件,请使用 cp 命令。该命令的基本语法是-

$cp source_file destination_file

以下是创建现有文件文件名的副本的示例。

$cp filename copyfile
$

现在,您将在当前目录中找到另一个文件 copyfile ,该文件将与原始文件文件名完全相同。

重命名文件

要更改文件名,请使用 mv 命令。以下是基本语法-

$mv old_file new_file

以下程序会将现有文件 learnfk 重命名为 newfile 。

$mv learnfk newfile
$

mv 命令会将现有文件完全移动到新文件中。在这种情况下,您将在当前目录中仅找到 newfile 。

删除文件

要删除现有文件,请使用 rm 命令。以下是基本语法-

$rm learnfk

注意-文件可能包含有用的信息。始终建议在使用此 Delete 命令时要小心。最好将 -i 选项与 rm 命令一起使用。

以下是显示如何完全删除现有文件文件名的示例。

$rm learnfk
$

您可以使用下面给出的命令一次删除多个文件-

$rm filename1 filename2 filename3
$

标准Unix流

在正常情况下,每个Unix程序启动时都会为其打开三个流(文件)-

  • stdin    - 这称为标准输入,关联的文件描述符为0,这也表示为STDIN,Unix程序将从STDIN读取默认输入。

  • stdout  - 这称为标准输出,关联的文件描述符为1,这也表示为STDOUT,Unix程序将在STDOUT上写入默认输出。

  • stderr   - 这称为标准错误,并且相关的文件描述符为2,这也表示为STDERR,Unix程序将在STDERR上写入所有错误消息。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Service Mesh实践指南 -〔周晶〕

程序员进阶攻略 -〔胡峰〕

接口测试入门课 -〔陈磊〕

SRE实战手册 -〔赵成〕

讲好故事 -〔涵柏〕

全链路压测实战30讲 -〔高楼〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

快速上手C++数据结构与算法 -〔王健伟〕

结构思考力 · 透过结构看表达 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)