如何查看特定目錄下大小在前10位的文件
find 目錄 -ls |sort -nrk7 |head
參數說明如下:
-ls True; list current file in ls -dils format on standard output.
沒加-ls之前,輸出的只是文件名,類似於
/u01/app/oracle/oradata/test/system01.dbf
加了-ls之后,輸出的類似於
924123 1802252 -rw-r----- 1 oracle oinstall 1845501952 May 21 20:55 /u01/app/oracle/oradata/test/system01.dbf
-n, --numeric-sort
compare according to string numerical value
根據字符的數字值來進行比較,如果沒有-n,則排序依據的是字符串的大小,這樣,會導致123大於1224,因為第一個字符串的第三位的ASCII碼的值大於第二個字符串的第三位的值。盡管從數字上來看,1224大於123。
-r, --reverse
reverse the result of comparisons
sort默認是順序排列的,加了-r以后,就是降序排列
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line)
指定排序的列,-k7指的是按照第7列的值進行排序,在上例中,指的就是1845501952所在列。
如何查看特定目錄下大小在前10位的文件夾
du -S 目錄 |sort -nr |head
參數說明如下:
-S, --separate-dirs
do not include size of subdirectories
不包括子文件夾的大小,即查找的是最低一層文件夾。
PS:這兩個命令在AIX上同樣適用。