Linux下六個有關file的實例
簡介
file的官方解釋為:
- file - determine file type
也就是說可以識別文件類型的意思,也可用來辨別一些文件的編碼格式。它是通過查看文件的頭部信息來獲取文件類型,而不是像Windows通過擴展名來確定文件類型的,所以加不加后綴真的無所謂,誰會愛上誰,說起Windows嗎,啥也不說了。
實例
下面看幾個比較使用的例子。
實例一 :默認
file后直接跟文件,得到如下所示信息
- ➜ file book.pdf
- delete.pdf: PDF document, version 1.3
- ➜ file book
- delete: PDF document, version 1.3
可以看出加不加后綴都是沒有關系的。
實例二:不顯示名稱
- ➜ file -b book.pdf
- PDF document, version 1.3
加上-b參數,是brief的含義,將只顯示文件辨識結果,不顯示文件名稱了,這個其實對于很多文件而言,不是很友好。
實例三:輸出易懂信息
- ➜ file -i delete.pdf
- delete.pdf: application/pdf; charset=binary
加上-i參數,是mime類型的含義,我也不懂是啥意思,但是我能剛方便地讀懂我想知道的文件類型的含義。這就夠了,不是嗎,畢竟我們是來是用file命令的。
實例四:查看文件中的文件名的文件信息
- ➜ cat hello.txt
- sunset.jpg
- ➜ file -f hello.txt
- sunset.jpg: JPEG image data, JFIF standard 1.01
這個咋聽著這么拗口,其實很簡單,其實并不難,加上-f參數,是file-from類型的含義,到底是幾個意思呢,也就是你想查看文件的類型信息的文件名在一個文件里面,從這個文件里面讀取文件來的到信息,如下即可曉得。
實例五:好看的雞肋
- ➜ file -F " === " sunset.jpg sunset.jpg === JPEG image data, JFIF standard 1.01
這個功能說實話,沒搞明白有什么作用,默認的:感覺挺好用的,當然這個應該屬于定制型的,如下所示:
實例六:查看軟鏈接的文件信息
- ➜ file a.jpg a.jpg: symbolic link to `sunset.jpg' ➜ file -L a.jpg a.jpg: JPEG image data, JFIF standard 1.01
默認情況下,如果沒有L參數,只能得到這個文件是軟鏈接的信息,如果加上這個參數,就能看到源文件的文件信息,這個功能還是很贊的。