查找超过一定大小的文件和目录

查找超过一定大小的文件和目录

我目前正在使用du -sch /var/log/ | grep total | grep G查找消耗超过 1 GB 空间的 /var/log/ 目录。它工作完美。

我现在正在考虑调整它以执行相同的操作,但仅在目录超过 5 GB 时显示结果。

如何才能做到这一点?

答案1

如果您想检查目录,可以省略-c.如果您想检查大小,最好省略-h并使用-b来获取大小(以字节为单位)。

awk命令可用于仅显示第一列大于特定大小的行:

尝试:

du -bs /var/log | awk '$1 >= 1*(1024*1024*1024)'

和/或:

du -bs /var/* | awk '$1 >= 1*(1024*1024*1024)'

如果您想查找特定大小的文件,可以使用find以下实用程序:

find /var/log -type f -size +1G

答案2

我发现您可以使用du带有另一个选项的命令。

杜-h-d 1-t 5G

   -h, --human-readable
          print sizes in human readable format (e.g., 1K 234M 2G)

   -d, --max-depth=N
          print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument;  --max-depth=0 is the same as --summarize

   -t, --threshold=SIZE
          exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative

相关内容