我以前用这个命令,需要先创建临时文件,所以在inode满的时候就不行,会报错:cannot create temporary file in '/tmp': Disk quota exceeded
find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn
但是当我使用下面的另一个命令时,它可以在不先创建临时文件的情况下对 inode 使用进行排序,这是为什么呢?
echo "Detailed Inodes usage for: $(pwd)" ; for d in `find -maxdepth 1 -type d |cut -d\/ -f2 |grep -xv . |sort`; do c=$(find $d |wc -l) ; printf "$c\t\t- $d\n" ; done ; printf "Total: \t\t$(find $(pwd) | wc -l)\n"
后者不会对 inode 使用情况进行排序,因此需要一段时间来检查哪个文件夹使用的 inode 最多。但是前一个命令对结果进行了排序。
我需要一个命令来对 inode 使用情况进行排序,而不必先创建临时文件,因此它可以在 inode 使用情况已满时工作。
非常感谢您的帮助!