liuux/ Unix 文件管理命令(五)shell
diffstat命令 ide
根據diff的比較結果,顯示統計數字。spa
diffstat讀取diff的輸出結果,而後統計各文件的插入,刪除,修改等差別計量。code
diff [-wV][-n <文件名長度>][-p <文件名長度>]utf-8
參數:it
· -n<文件名長度> 指定文件名長度,指定的長度必須大於或等於全部文件中最長的文件名。io
· -p<文件名長度> 與-n參數相同,但此處的<文件名長度>包括了文件的路徑。class
· -w 指定輸出時欄位的寬度。test
· -V 顯示版本信息。file
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