背景:因为磁盘空间被占满,导致redis ,sftp应用无法使用。这时需要清理磁盘空间,于是找出占用空间较大的文件和文件夹是比较重要的一步。

方法一:使用 du 和 sort 命令

1.查找当前目录及其子目录中占用空间较大的前10个文件或文件夹

du -ah . | sort -rh | head -n 10

说明:

  • du -ah .:递归计算当前目录(.)下的所有文件和文件夹的空间占用,-a 表示显示所有文件和文件夹,-h 表示以人类可读的格式显示。
  • sort -rh:按数值大小逆序排序,-r 表示逆序,-h 表示以人类可读的格式排序。
  • head -n 10:显示排序后的前10行结果。

方法二:使用 du 和 find 命令

如果只想查找文件或文件夹,可以分别使用以下命令。

1.查找前10个占用空间最大的文件

find . -type f -exec du -h {} + | sort -rh | head -n 10

说明:

  • find . -type f:查找当前目录(.)及其子目录中的所有文件。
  • -exec du -h {} +:对查找到的每个文件执行 du -h 命令,{} 代表文件名,+ 表示以批处理方式执行。
  • sort -rh | head -n 10:按数值大小逆序排序并显示前10行结果。
2.查找前10个占用空间最大的文件夹

du -h --max-depth=1 . | sort -rh | head -n 10

说明:

  • du -h --max-depth=1 .:计算当前目录(.)下的文件夹大小,--max-depth=1 表示只计算当前目录的深度,不递归子目录。
  • sort -rh | head -n 10:按数值大小逆序排序并显示前10行结果。 
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐