如何从 Linux 命令行检查目录大小如何从 Linux 命令行检查目录大小如何从 Linux 命令行检查目录大小如何从 Linux 命令行检查目录大小
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何从 Linux 命令行检查目录大小

虽然 Linux 命令 ls 可以显示文件的大小,但它不能正确处理目录,目录总是显示为 4096 字节。您需要使用 du 命令递归到子目录并打印出总数。

使用 du 命令

ls 的最佳替代品是使用带有几个标志的 du:

du -had 1

-h 标志代表“人类可读”,它将为您格式化以 KB、MB 和 GB 为单位的大小,而不是让您获取计算器。

-a 标志是“all”,将包括单个文件和目录,这有助于模仿 ls 的工作方式。

-d 1 标志限制了 du 打印结果的深度。默认情况下,它被配置为打印出每个子目录,如果你有很多嵌套文件,这可能会很痛苦。 -d 标志会将它们全部相加并打印出执行命令的每个可见目录的总数。

如果您希望它列出每个目录,您可以使用 --apparent-size 标志运行该命令,这将显示每个子目录的总大小,就像您右键单击 > Properties in你的文件浏览器。

虽然这一切都是混乱的,所以如果您想查看当前文件夹中最大的目录,您可以将输出通过管道传递给 sort 命令。确保同时使用 -h 标志,否则 sort 会将 128MB 视为大于 1GB 的数字.

du -had 1 | sort -rh

默认情况下,du 使用当前目录,但您也可以针对特定目录。只需将位置作为最后一个参数传递。

du -had 1 ./world/

查找服务器上最大的目录

Linux 上的一项常见任务是调试大量磁盘使用情况。如果您想查看每个磁盘的总使用情况,您可以使用 df -h,或安装一个监控工具,如 glances,它会更清晰地显示它:

但是,这不会深入目录,也不会找到问题的根源。为此,您可以使用 du,但删除 -d 1 标志,以便它搜索每个目录。将其定位到根目录,对其进行排序,并筛选出前 25 个目录,这样您的屏幕就不会溢出。

du -ah / | sort -rh | head -n 25

对于无法访问的文件,这可能会打印出一些错误;确保使用 sudo 运行它。

©2015-2025 艾丽卡 support@alaica.com