Linux 文件相关命令
一、文件
1、定义
文件是被命名的相关信息的集合体。
2、组成
- 索引节点(I节点)
系统利用其中的信息对相应文件实施控制和管理,这些信息包括:文件权限、文件主、文件大小、存放位置、创建日期等。
- 数据
存放文件的实际内容
3、命名
Linux的文件名几乎可以由ASCII字符的任意组合构成,最长可达255个字符。
-
应避免使用/、空格、制表符或其它控制字符
-
应避免使用有特殊含义的字符,例如:
;、|、<、>、$、!、%、(、)、[、]
等 -
文件名区分大小写
-
以点(.)开头的是隐藏文件
4、通配符
-
*
-
匹配0个或多个任意字符(不包括以
.
开头的隐藏文件) -
.*
只匹配隐藏文件
-
-
?
匹配任意单个字符,可以使用多个
?
-
[]
匹配括号中列出的字符之一,如果
[]
中是以!
或^
开头,表示匹配不在括号中出现的字符
二、查看与创建
1、cat
经常用来显示文件的内容,也可以连接两个或多个文件。
-
格式:cat [OPTION] [FILE]
-
常用选项
-
-b(–number-noblank)
从1开始对所有非空输出行进行编号
-
-n(–number)
从1开始对所有输出行编号
-
-s(–squeeze-blank)
将多个相邻的空行合并成一个空行
-
-help
显示该命令的用法
-
如果没有指定文件或用
-
代替文件,该命令就读取标准输入
-
2、more
显示文件内容,每次显示一屏。
more -dc file
清屏后显示file的内容,并在屏幕下方显示百分比。
more -c -5 file
清屏后显示file的内容,每5行显示一次,使用空格键显示后面的5行,使用回车键单行显示后面的内容。
3、less
分屏显示文件的内容,允许用户向前或向后查看文件。
-
用法
less file
-
翻页
PageUp:向上;PageDown:向下。
-
退出
q、Q、:q、:Q或ZZ
4、head
指定显示文件的前n行,默认显示10行。
常用格式:
head -15 file
显示file的前5行
head --bytes=- 10 file
显示file文件中去掉最后10个字节后的内容
head -v file
同时显示文件名标题
head -q file
只显示文件内容,不显示文件名标题
5、tail
指定显示文件的末尾n行,默认显示10行。
常用格式:
tail -5 file
显示file的最后5行
tail -n +3 file
显示file中第3行到末尾的内容
6、touch
创建一个空文件或修改文件的”修改时间”。
touch test.txt
在当前目录下创建一个名为test.txt的空文件
touch -m test.txt
将test.txt文件的修改时间改为系统当前时间
7、file
三、统计与查找
1、wc
统计文件中的字节数、字数和行数
- 格式
wc [选项] [文件]
- 输出格式
行数 字数 字节数 文件名
- 常用选项
2、grep
在文本文件中查找并显示包含指定模式的词或短语的所有行,一次只能搜索一个指定的模式。
-
格式
-
grep [选项] 模式 [文件]
-
grep [选项] [-e模式] [文件]
-
grep [选项] [-f文件] [文件]
从文件中取模式
-
-
常用选项
-
-E
:使用正则表达式egrep
命令等同于grep -E
-
-F
fgrep
命令等同于grep -F
,是快速搜索命令,检索固定字符串。 -
-c,--count
:只显示文件中包含匹配字符串的行数 -
-i,--ignore-case
:匹配时不区分大小写 -
-R,-r,--recursive
:以递归方式查找目录下的所有子目录中的文件 -
-n
:显示行号 -
-v
:显示不包含匹配字符串的行 -
-x
:显示整行都严格匹配的行 -
-f,--file=FILE
:从文件FILE中获取模式,每行一个
-
-
示例
3、sort
对指定文件中的行进行排序,将结果显示在标准输出上。
sort [OPTION]... [FILE]...
-
常用选项
-
-m,--merge
对已排好序的文件统一合并,但不排序
-
-c,--check
检查指定的文件是否已排序,如果没有,则显示错误信息
-
-u,--unique
与
-c
连用时,严格地按顺序检查;不与-c
连用时,对指定文件排序后重复的内容只输出一行 -
-o,--output=FILE
将排序结果输出到FILE中,如果该文件不存在则创建。
-
4、uniq
读取输入文件,比较相邻的行,去掉重复的行(保留一行)。
uniq [OPTION]... [INPUT [OUTPUT]]
-
常用选项
-
-c,--count
在显示输出时,在行首显示该行在文件中出现的次数
-
-d,--repeated
只显示重复行
-
-u,--unique
只显示文件中不重复的行
-
四、内容比较
1、comm
对两个已排序的文件进行逐行比较
comm [OPTION]... FILE1 FILE2
-
常用选项
-
-1
:不输出仅在FILE1中出现的行 -
-2
:不输出仅在FILE2中出现的行 -
-3
:不输出在两个文件中都出现的行 -
--help
:显示帮助信息并退出
-
2、diff
逐行比较两个文件,列出它们的不同之处,并且告诉用户,为了使两个文件一致,需要修改哪些行。
- 常用格式
diff [OPTION]... FILE1 FILE2
-
输出形式
其中字母
a
、d
、c
之前的行号(n1, n2)是针对FILE1的;之后的行号(n3, n4)是针对文件2的;a
表示添加,d
表示删除,c
表示修改。-
n1 a n3, n4
把FILE1的n1行添加到FILE2的n3~n4行,则两个文件内容相同
-
n1, n2 d n3
把FILE1的n1~n2行以及FILE2的n3行删除,则两个文件内容相同
-
n1, n2 c n3, n4
把FILE1的n1~n2行改为FILE2的n3~n4行,则两个文件内容相同
-