liuux/ Unix 文件管理命令(五)
diffstat命令
根据diff的比较结果,显示统计数字。
diffstat读取diff的输出结果,然后统计各文件的插入,删除,修改等差异计量。
语法:
diff [-wV][-n <文件名长度>][-p <文件名长度>]
参数:
· -n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
· -p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
· -w 指定输出时栏位的宽度。
· -V 显示版本信息。
实例:
1).用户也可以直接使用"|"将diff指令所输出的结果直接送给diffstat指令进行统计结果的显示。
使用该指令时,若所比较的文件或者子目录不在当前目录下,则应该使用其完整路径。
将目录"test1"和"test2"下的同名文件"testf.txt"使用diff指令进行比较。然后使用diffstat指令对结果进行统计显示,输入如下命令:
$ diff test1 test2 | diffstat #进行比较结果的统计显示
注意:使用这条命令可以非常方便地实现统计显示的功能。
2).对于查看文件中的内容,用户可以通过指令"cat"进行查看即可,具体操作如下:
$ cat test1/testf.txt #查看test1/testf的内容
abc
def
ghi
jkl
mno
pqr
stu
vws
$ cat test2/testf.txt #查看test2/testf的内容
abc
def
ghi
jkl
mno
3).从上面的文件内容显示,可以看到两个文件内容的差别。现在来运行刚才的命令,对文件比较的结果进行统计显示,结果如下:
testfile | 2 +- #统计信息输出显示
1 file changed, 1 insertion(+), 1 deletion(-)
file命令
用于辨识文件类型。
通过file指令,我们得以辨识该文件的类型。
语法:
file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
参数:
· -b 列出辨识结果时,不显示文件名称。
· -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
· -f<名称文件> 指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。
· -L 直接显示符号连接所指向的文件的类别。
· -m<魔法数字文件> 指定魔法数字文件。
· -v 显示版本信息。
· -z 尝试去解读压缩文件的内容。
· [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
实例:
1).显示文件类型:
[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text
[root@localhost ~]# file -b install.log <== 不显示文件名称
UTF-8 Unicode text
[root@localhost ~]# file -i install.log <== 显示MIME类别。
install.log: text/plain; charset=utf-8
[root@localhost ~]# file -b -i install.log
text/plain; charset=utf-8
2).显示符号链接的文件类型
[root@localhost ~]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail
[root@localhost ~]# file /var/mail
/var/mail: symbolic link to `spool/mail'
[root@localhost ~]# file -L /var/mail
/var/mail: directory
[root@localhost ~]# file /var/spool/mail
/var/spool/mail: directory
[root@localhost ~]# file -L /var/spool/mail
/var/spool/mail: directory