Linux命令之cmp和rm

  • 2019 年 11 月 6 日
  • 筆記

Linux命令之cmp

Linux中的cmp命令用于比较两个文件的不同,若发现两个文件有不同支出,则会标出来第一处不同的位置和列数编号。

命令语法

diff [-wV][-n <文件名长度>][-p <文件名长度>]

参数说明

  • -c或–print-chars  
  • 除了标明差异处的十进制字码之外,一并显示该字符所对应字符。
  • -i<字符数目>
  • 指定一个数目。
  • -l或–verbose  
  • 标示出所有不一样的地方。
  • -s或–quiet或–silent  
  • 不显示错误信息。
  • -v或–version  
  • 显示版本信息。
  • –help  
  • 在线帮助。

实际应用

1.查看文件不同

[root@yeyz]$diff -y 1.c 2.c  asd   | ase  sdf   | sdd  dfg     dfg

上面两个文件的内容的不同之处已经通过diff命令给出来了,接下来使用cmp命令,看看有什么不同之处:

[root@yeyz]$ cmp 1.c 2.c  1.c 2.c differ: byte 3, line 1  

从结果中可以看出,是在第一行的第三个下标位置处有所不同。

还可以观察到底是什么不同,使用-b参数,如下:

[root@yeyz]$ cmp -b 1.c 2.c  1.c 2.c differ: byte 3, line 1 is 144 d 145 e  

如果想看这两个文件中的所有不同之处,可以使用-l参数和-b参数进行搭配:

[root@yeyz]$ cmp -lb 1.c 2.c   3 144 d    145 e   7 146 f    144 d  

Linux命令之rm

Linux的rm命令用于删除一个文件或者目录,它是一个比较危险的命令,具体有多危险,详见:

https://www.sohu.com/a/254959076_681464

这个命令本身比较简单,介绍如下:

语法

rm [options] name...

head命令参数

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

实例:

删除文件直接使用rm或者rm -f,删除目录必须使用rm -r,如下:

# rm  test.txt  rm:是否删除 一般文件 "test.txt"? y  # rm  homework  rm: 无法删除目录"homework": 是一个目录  # rm  -r  homework  rm:是否删除 目录 "homework"? y  

删除当前目录下的所有文件及目录,命令行为:

rm -rm *  

高危命令,不建议使用,使用前最好用pwd命令看一看当前的目录,避免误删重名的目录。

需要注意的是:文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。