如何查找特定目录下最大的文件及文件夹如何查看特定目录下大小在前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上同样适用。