Linux指令入门-文件管理

1. 文件管理命令笔记

1. cat命令。

cat命令描述:该命令用于连接文件并打印到标准输出设备上。

cat命令语法:

cat [参数] [文件名]

参数说明:

参数

说明

-n

由1开始对所有输出的行数进行编号。

-b

由1开始对所有输出的行数进行编号,对于空白行不编号。

-s

当遇到有连续两行以上的空白行,就替换为一行的空白行。

-E

在每行结束处显示$。

-T

将 TAB 字符显示为^I。

cat命令使用示例:

a. 执行如下命令,将一个自增序列写入test1.txt文件中。

for i in $(seq 1 10); do echo $i >> test1.txt ; done

Linux指令入门-文件管理

b. 执行如下命令,查看文件test1.txt内容。

cat test1.txt

返回结果如下所示。

Linux指令入门-文件管理

c. 执行如下命令,将test1.txt的文件内容加上行号后输入到test2.txt文件。

cat -n test1.txt > test2.txt

Linux指令入门-文件管理

d. 执行如下命令,查看文件test2.txt内容。

cat test2.txt

返回结果如下所示。

Linux指令入门-文件管理

e. 执行如下命令,将test1.txt文件内容清空。

cat /dev/null > test1.txt

Linux指令入门-文件管理

f. 执行如下命令,查看文件test1.txt内容。

cat test1.txt

返回结果如下所示,您可以看到test1.txt文件没有任何内容。

Linux指令入门-文件管理

2. cmp命令。

cmp命令描述:该命令用于比较两个文件是否有差异。当相互比较的两个文件完全一样时,该指令不会显示任何信息。否则会标示出第一个不同之处的字符和列数编号。当不指定任何文件名称,或文件名为"-",则cmp指令会从标准输入设备读取数据。

cmp命令语法:

cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]

参数说明:

参数

说明

-c

除了标明差异处的十进制字码之外,一并显示该字符所对应字符。

-i <字符数目>

指定一个数目。

-l

标示出所有不一样的地方。

-s

不显示错误信息。

-v

显示版本信息。

--help

在线帮助。

cmp命令使用示例:

a. 执行如下命令,将一个自增序列1-5写入test1.txt文件中。

for i in $(seq 1 5); do echo $i >> test1.txt ; done

Linux指令入门-文件管理

b. 执行如下命令,比较test1.txt文件和test2.txt文件是否相同。

cmp test1.txt test2.txt

返回结果如下所示,您可以看到test1.txt文件和test2.txt文件第一行就有不同之处。

Linux指令入门-文件管理

3. diff命令。

diff命令描述:该命令用于比较文件的差异。diff命令以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

diff命令语法:

diff [参数] [文件或目录1] [文件或目录2]

参数说明:

参数

说明

-<行数>

指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。

-c

显示全部内文,并标出不同之处。

-u

以合并的方式来显示文件内容的不同。

-a

diff预设只会逐行比较文本文件。

-b

不检查空格字符的不同。

-d

使用不同的演算法,以较小的单位来做比较。

-i

不检查大小写的不同。

-y

以并列的方式显示文件的异同之处。

-W<宽度>

在使用-y参数时,指定栏宽。

diff命令使用示例:

执行如下命令,比较test1.txt文件和test2.txt文件,以并排格式输出。

diff test1.txt test2.txt -y -W 50

Linux指令入门-文件管理

返回结果如下所示,您可以看到test1.txt文件和test2.txt文件的不同之处。

Linux指令入门-文件管理

4. file命令。

file命令描述:该命令用于辨识文件类型。

file命令语法:

file [参数] [文件]

参数说明:

参数

说明

-b

列出辨识结果时,不显示文件名称。

-c

详细显示指令执行过程,便于排错或分析程序执行的情形。

-f<名称文件>

指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。

-L

直接显示符号连接所指向的文件的类别。

-v

显示版本信息。

-z

解读压缩文件的内容。

file命令使用示例:

a. 执行如下命令,显示test1.txt文件类型。

file test1.txt

Linux指令入门-文件管理

返回结果如下所示,您可以看到test1.txt文件类型是ASCII text。

Linux指令入门-文件管理

b. 执行如下命令,显示test2.txt文件类型并不显示文件名称。

file -b test2.txt

Linux指令入门-文件管理

5. find命令。

find命令描述:该命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find命令语法:

find [参数] [文件]

参数说明:

参数

说明

-mount

只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件。

-amin n

在过去n分钟内被读取过文件。

-type c

文件类型是c的文件。

-cmin n

在过去n分钟内被修改过。

-name name

查找文件名称为name的文件。

find命令使用示例:

a. 执行如下命令,将当前目录及其子目录下所有文件后缀为.txt的文件列出来。

find . -name "*.txt"

Linux指令入门-文件管理

返回结果如下所示。

Linux指令入门-文件管理

b. 执行如下命令,查找系统中所有文件长度为0的普通文件,并列出它们的完整路径。

find / -type f -size 0 -exec ls -l {} \;

Linux指令入门-文件管理

返回结果如下所示。

Linux指令入门-文件管理

2. 文件管理命令总结

cat命令描述:该命令用于连接文件并打印到标准输出设备上。(在文本一节已经介绍过,十分重要)

cmp命令描述:该命令用于比较两个文件是否有差异。当相互比较的两个文件完全一样时,该指令不会显示任何信息。否则会标示出第一个不同之处的字符和列数编号。当不指定任何文件名称,或文件名为"-",则cmp指令会从标准输入设备读取数据。

diff命令描述:该命令用于比较文件的差异。diff命令以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

file命令描述:该命令用于辨识文件类型。

find命令描述:该命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。(十分重要)

上一篇:如何看待云栖大会上阿里发布第一台云电脑


下一篇:js之原生JavaScript数据结构