Files
例如,我如何在 /usr/lib 目錄中列出五個最大的文件?
例如,我如何列出
/usr/lib
目錄中最大的五個文件?還請為您正在使用的每一位程式碼添加一些小的解釋。
最簡單的方法是簡單地按大小排序並列印最後 5 行:
ls -Sr /usr/lib | tail -n 5
來自
man ls
:-r, --reverse reverse order while sorting -S sort by file size
tail
只列印文件的最後 N 行:-n, --lines=K output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth
如果您還想檢查子目錄中的文件,您可以這樣做:
find /usr/lib -type f -ls | sort -gk7 | tail -n 5
該
find
命令從以下位置查找文件man find
:-type c File is of type c: [ ... ] f regular file -ls True; list current file in ls -dils format on standard output. The block counts are of 1K blocks, unless the environment vari‐ able POSIXLY_CORRECT is set, in which case 512-byte blocks are used. See the UNUSUAL FILENAMES section for information about how unusual characters in filenames are handled.
sort
做你所期望的,它對輸入進行排序。來自man sort
:-g, --general-numeric-sort compare according to general numerical value -k, --key=KEYDEF sort via a key; KEYDEF gives location and type
因此, sort
-g
使其按數字順序排序,並-k7
使其在第 7 個欄位上排序,在 的情況下find -ls
,它是文件的大小。這應該是相對健壯的,並且對於帶有空格或奇怪字元的文件名沒有問題。無論如何,由於您正在搜尋,
/usr/lib
因此您不太可能有奇怪的文件名。