我目前正在使用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