如何查看特定目录下大小在前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上同样适用。