Linux 常用文件命令

153 阅读7分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

Linux ls 命令

ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

参数 :

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  • -R 若目录下有文件,则以下之文件亦皆依序列出

/dev/tty表示终端设备的文件

字符串crw-rw-rw-的第一个字符c表示是字符设备文件

/dev/sda1表示USB移动存储设备的文件

字符串brw-rw的第一个字符是b表示是块设备文件

Linux Cat 命令

cat 命令 把多个文件连接后输出到标准输出(屏幕) 或 加“> 文件名”输出到另一个文件中。

常用选项:

-b(number noblank)从1开始对所有非空输出行进行编号

-n(numbe) 从1开始对所有行编号

-s(squeeze-blank)将连续俩行以上的空白行合并成一行空白行

Linux more 命令

more命令:该命令显示文本文件的内容,一次显示一屏,满屏后停下来,可按如下键继续

(1) Space :默认显示文本的下一屏内容

(2) Enter:默认显示文本的下一行内容

(3)d:向下显示文本半屏,默认为11行

(4)b:默认显示文本的上一屏内容

(5)q:退出more命令

选项:-d 在每屏底部显示提示行,包括当前显示的百分比,按键提示等

-s 压缩多余的行为一行

-num 表示一屏显示多少行

+num 从num行开始往下全面显示

-c 或 -p 不滚屏,在显示下一屏之前先清屏

+/pattern:定义一字符串,在文件中查找该字符串,从该字符串后开始显示

Linux less命令

less命令:改命令与more命令相似,分屏显示文件的内容。less命令允许用户向前或向后浏览文件,在less命令提示符按q键退出

选项:

-i 搜索时忽略大小写,除非搜索串中包含大写字母

-I 搜索时忽略大小写

-m 显示读取文件的百分比

-M显示读取文件的百分比、行号及总行数

-N在每行前输出行号

-p定义一字符串,在文件中查找该字符串,从该字符串后开始显示

Linux head命令

head命令:head命令用于查看一个文本文件的开头部分,行数由参数值决定,默认值为0

常用选项:

-c 显示文件签名num个字节

-n 显示文件签名num行,不指定此参数显示前10行

Linux tail命令

tail命令:tail命令用于查看一文本文件的末尾若干行,行数由参数值决定,默认值是10。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。

常用选项:

-c 显示文件最后面的num个字节

-n 显示文件最后面的num行,不指定此参数显示10行

Linux grep命令

grep家族包括grep、egrep和fgrep。egrep是grep的扩展,可使用扩展的字符串模式进行搜索,fgreo就是fixed grep或fast grep,把所有字母看作单词,不识别正则表达式。如果没有指定文件名,grep命令会搜索标准输入。

常用选项:

-b在显示符合匹配字符串行前,标识该行第一个字符的位编号

-c计算符合匹配字符串的行数

-E将查找模式结束程扩展的正则表达式 相当于egrep

-F将查找模式结束成单纯的字符串 相当于fgrep

-i忽略字符大小写

-n在显示包含字符串的行之前,标示出该行的行号

-v反转查找,显示不包括匹配字符串的文本行

-V显示版本信息

-x只显示全行都严格匹配的行

正则表达式元字符集包括基本集合扩展集

image.png

Linux Sort命令

Sort:Sort命令对指定文件中所有的行排序,将结果显示在标准输出上。如不指定输入文件或使用“-”,表示排序内容来自标准输入。

缺省情况下以行为关键字按ASCLL字符顺序进行排序

常用选项:

-m 若给定文件已排好序,合并文件

-c 检查给定文件是否排序,未排序打印出错信息,以状态值1退出

-u 对排序后相同的行只留其中一行

-o 文件名 将排序输出写到输出文件中而不是标准输出

改变却省排序规则的选项主要有:

-d 按字典顺序排序

-f 忽略字母大小写

-r 按逆序输出排序结果,默认排序输出时是按升序的

+pos1 - pos2 指定一个或几个字段作为排序关键字,字段位置从pos1开始,到pos2为止(包括pos1,不包括pos2),如不指定pos2,则关键字为从pos1到行尾,字段和字符的位置从0开始。

Linux Uniq命令

uniq命令:检查及删除文本文件中重复出现的行

-c 显示输出中,在每行行首加上本行在文件中出现的次数

-d 只显示文件中的各重复行

-u 只显示文件中不重复的各行

Linux Comm命令

comm命令:comm命令对俩个已经排好序的文件进行比较,comm从文件1和文件2中读取正文行进行比较,生成三行输出:在两个文件中都出现的行,仅在文件1中出现的行,仅在文件2中出现的行

常用选项:

-123:选项1,2,3,分别表示不显示comm输出中的第一列,第二列,第三列

Linux Diff命令

diff命令:diff命令比较文本文件,并找出它们的不同

常用选项:

-b 忽略空格造成的不同

-B 忽略空行造成的不同

-i 忽略大小写的不同

-r 当比较的文件都是目录时,递归比较子目录中的文件。

Linux Cp命令

cp命令:cp命令完成文件的复制

1)如果源是普通文件,该命令把源文件复制成指定的目标文件或复制到指定的目标目录中

2)如果源是目录,目录是一已存在的目录,该命令把源目录下的所有文件和子目录都复制到目标目录中。

3)如果源是目录,目录不是一已存在的目录,命令出现错误信息。

文件操作命令

常用选项:

-f:强行复制文件或目录

-i:覆盖目标文件前需要确认

-n:不覆盖已存在的目标文件

-p:复制源文件或目录内容的同时也复制文件属性

-R:递归复制目录,将源目录下所有文件及子目录都复制到目标目标位置

Linux Rm命令

rm命令:rm命令可以删除文件或目录,删除目录必须要加 -r选项

常用选项:

-f:强制删除文件或目录

-i:删除文件或目录前提示要用户确认

-r:递归删除指定目录及其下属各级子目录和相应的文件

Linux mv命令

mv命令:mv命令可移动文件或目录,更改文件或目录的名称

常用选项:

-i:覆盖文件前需要确认

-f:若目标文件或目录已存在,直接覆盖

-n:不覆盖已存在的文件

-u:移动或更改文件名时,若目标已存在,且文件日期比源文件新,则不覆盖目标文件