如何在 Linux 中查看目录大小?
阅读原文时间:2023年08月10日阅读:1

这是一篇关于如何通过一些常用的命令,显示 CentOS 或 RedHat 中的 Linux 目录大小,以及哪些文件夹占用的空间最大的教程。

搜索当前的 CentOS 或 RedHat 文件夹

您可以使用以下命令,在命令行中向下搜索当前文件夹的大小:

du -h --max-depth=1  |grep -v -e [0-9].[0-9]K -e [0-9][0-9]K -e ^0 | sort -n

在 Linux 文件夹中查找前 10 个大文件

find /home/shenweiyan/Downloads -xdev -type f -exec du -sk {} \; |sort -rn | head -10

在 Linux 中查找使用率高的磁盘

df -P | awk '0+$5 >= 70 {print}'        # 其实 du -Th 就可以直接看

将限制更改为 10% 的示例

安装软件包以检查 Linux 目录大小

Ncdu 是 NCurses 磁盘使用率的首字母缩写。这是查看正在使用磁盘空间的目录的快速方法。它是一种简单快速的磁盘使用情况分析器,用于查找哪些目录或文件占用了更多空间。 要在 RHEL,CentOS 上安装 ncdu,请使用下面的命令安装:

yum install ncdu

安装后,只需键入 ncdu 即可开始:

ncdu 键盘快捷键

 up, down j, k         - 在各个项目条目之间循环;

     right, enter, l     - 打开光标所在的目录;

     left, <, h &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      -&nbsp;回到父目录;

     n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            &nbsp;-&nbsp;按文件名排序(再次按降序排列);&nbsp;

     s &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            &nbsp;-&nbsp;按文件大小排序(再次按降序排列);&nbsp;

     C &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            -&nbsp;按项目数(即该目录下的文件总数)排序(再次按降序排列);

     c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            -&nbsp;切换子项计数的显示;

     a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            -&nbsp;在显示磁盘使用情况和显示大小之间切换;

     M &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            -&nbsp;按最近的 child mtime 或修改时间排序(再次按降序排列)需要&nbsp;-e 标志;

     m &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            -&nbsp;切换最近的 child mtime或修改时间的显示。需要-e标志;

     d &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;            -&nbsp;删除选定的文件或目录。当目录的内容与文件系统不匹配或不再存在时,将显示一条错误消息;

     g &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;             -&nbsp;在显示百分比,图形或两者之间切换。百分比是相对于当前目录的大小,图是相对于当前目录中的最大项目;

     e &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            &nbsp;-&nbsp;显示/隐藏“隐藏”或“排除”的文件和目录。请注意,即使看不到隐藏的文件和目录,它们也仍然存在,并且仍包含在目录大小中;

     i &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;             -&nbsp;显示有关用法和大小的突出显示的项目信息;

     r &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            &nbsp;&nbsp;-&nbsp;重新计算当前目录;

     b &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            -&nbsp;在当前目录中生成 bash shell;

     q &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            -&nbsp;退出 ncdu;

NCDU 示例

要扫描和浏览您当前所在的目录,只需一个简单的操作:

ncdu

如果要扫描整个文件系统(例如,根文件系统),则需要使用
-x

ncdu&nbsp;-x&nbsp;/

ncdu 扫描整个文件系统

由于扫描大型目录可能需要一段时间,因此您可以扫描目录并导出结果以供以后查看:

ncdu&nbsp;-1xo-&nbsp;/&nbsp;|&nbsp;gzip&nbsp;>export.gz&nbsp;&nbsp;

扫描完成后,可以通过下面的命令查看扫描结果:

zcat&nbsp;export.gz&nbsp;|&nbsp;ncdu&nbsp;-f-

提示:要从 cron 作业导出,请确保将 -1 替换为 -0 以禁止任何不必要的输出!

扫描完成后,您还可以导出目录并浏览目录:

ncdu&nbsp;-o-&nbsp;|&nbsp;tee&nbsp;export.file&nbsp;|&nbsp;ncdu&nbsp;-f-

使用 gzip 压缩的结果也可以做到这一点,但有点麻烦:

ncdu&nbsp;-o-&nbsp;|&nbsp;gzip&nbsp;|&nbsp;tee&nbsp;export.gz&nbsp;|&nbsp;gunzip&nbsp;|&nbsp;ncdu&nbsp;-f-

要远程扫描系统,但在本地浏览文件:

ssh&nbsp;-C&nbsp;user@system&nbsp;ncdu&nbsp;-o-&nbsp;/&nbsp;|&nbsp;ncdu&nbsp;-f-

ssh 的 -C 选项会启用压缩,这对于慢速链接非常有用。与直接在远程系统上运行 ncdu 相比,远程扫描和本地查看具有两个主要优点:您可以浏览本地系统上的扫描目录而没有任何网络延迟,并且 ncdu 在导出时不会将整个目录结构保留在内存中, 这样您就不会在远程系统上消耗太多内存。

结论

如您所见,Linux 目录大小可以通过多种不同的方法来确定,如果您还有其他一些经常使用的相关命令,欢迎在下面的评论中添加。

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章