无需先创建临时文件即可获取 Inode 使用情况的命令

问题描述

我以前用过这个命令,它需要先创建临时文件,所以当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。但是前面的命令对结果进行了排序。

我需要一个命令来对 Inodes 使用情况进行排序,而不必先创建临时文件,这样它就可以在 inodes 使用量已满时工作。

非常感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)