Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11900
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-04 11:52
个人简介

it界的一只小虫

文章分类
文章存档

2015年(8)

2014年(5)

我的朋友
最近访客

分类: LINUX

2015-01-17 10:06:20

功能说明:比较两个文件是否有差异。当相互比较的两个文件完全先同时,则该指令不会显示任何信息。若发现有所差异,预设会表示每一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为"-",则cmp指令会从标准输入设备读取数据。

语法:cmp [-c[v][-i <字符数目>][--help][第一个文件][第二个文件]

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

示例:

1、cmp prog.o.bak prog.o

比较 prog.o.bak 和 prog.o。如果文件相同,则不显示消息。如果文件不同,则显示第一个不同的位置;例如:
prog.o.bak prog.o differ: char 4, line 1  
如果显示消息 cmp: EOF on prog.o.bak,则 prog.o 的第一部分与 prog.o.bak 相同,但在 prog.o 中还有其他数据。

2、cmp -l proj.o.bak prog.o

这比较文件,然后显示字节数(使用十进制格式)和每个不同的不同字节(使用八进制格式)。例如,如果第五个字节在 prog.o.bak 中是八进制 101,在 prog.o 中是 141,则 cmp 显示:
5 101 141  
5 101 141

3、cmp -s prog.c.bak prog.c  
如果文件相同,则给出值 0,如果不同,则给出值 1,或者如果发生错误,则给出值 2。

du可以带一个参数,即指定一个路径来工作;如果没有指定,则使用当前目录。SUS指定了du有以下这些选项:

-a,将当前目录下每个文件(不含目录)作为一个条目显示。
-H,计算命令行中指定链接对象的磁盘使用情况。
-k,将大小除以1024字节,而非512字节显示。
-L,计算任意链接对象的使用情况。
-s,仅汇报当前目录总计的磁盘使用情况,不显示每一个文件。
-x,仅遍历指定路径所在设备上的文件与目录。
-h,把磁盘使用情况的大小加上单位后缀,显示为一个用户更容易理解的形式。

如:KB单位的目录总大小:
$ du -sk *  
152304  directoryOne  
1856548 directoryTwo 

更易读的目录总大小格式(Byte、KB、MB、GB、TB、PB):
$ du -sh *  
149M directoryOne  
1.8G directoryTwo 

当前目录下包含隐藏文件,子目录与文件的磁盘使用情况(从小到大排序):
$ du -sk .[!.]* *| sort -n 

当前目录下包含隐藏文件,子目录与文件的磁盘使用情况(从大到小排序):
$ du -sk .[!.]* *| sort -nr 

显示深度为1的目录大小及其总和:
$ du -d 1 -c -h 

阅读(973) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~