• 查询文件和目录的磁盘使用


    Linux "du"(磁盘使用)命令是一个标准的Unix/Linux命令,用于检测机器上文件和目录的磁盘使用信息。du命令有很多参数选项,它们能够用于用很多格式获取结果。du命令也用递归方式显示文件和目录尺寸。

    如何在Linux中查找一个目录的尺寸

    1、要查找/home/blctrl目录树和其每个子目录中磁盘使用概要。输入命令:

    1. [root@rockygu blctrl]# du /home/blctrl/
    2. 4 /home/blctrl/EPICS/TEST/testIoc/configure/O.linux-x86_64
    3. ...
    4. 5052 /home/blctrl/EPICS
    5. 12 /home/blctrl/.dbus/session-bus
    6. 12 /home/blctrl/.dbus
    7. 4 /home/blctrl/.ssh
    8. 0 /home/blctrl/Rocky
    9. 0 /home/blctrl/rocky
    10. 28 /home/blctrl/.config/pulse
    11. 28 /home/blctrl/.config
    12. 25844 /home/blctrl/

    以上命令的输出显示了/home/blctrl和其子目录中磁盘块数目。

    如何用人可阅读格式查找目录尺寸

    2、使用"-h"选项的"du"命令提供了"人可阅读格式"的结果。这表示你可以看到以字节,千字节,兆字节,吉字节为尺寸的结果。

    1. [root@rockygu blctrl]# du -h /home/blctrl
    2. ...
    3. 12K /home/blctrl/.dbus/session-bus
    4. 12K /home/blctrl/.dbus
    5. 4.0K /home/blctrl/.ssh
    6. 0 /home/blctrl/Rocky
    7. 0 /home/blctrl/rocky
    8. 28K /home/blctrl/.config/pulse
    9. 28K /home/blctrl/.config
    10. 26M /home/blctrl

    如何在Linux中查找一个目录的总尺寸

    3、要获取一个目录的整个磁盘使用尺寸的概要,使用"-s"选项。

    1. [root@rockygu blctrl]# du -sh /home/blctrl
    2. 26M /home/blctrl

    4、"du"命令使用"-a"标记显示所有文件和目录的磁盘使用。

    1. [root@rockygu blctrl]# du -ah /home/blctrl
    2. 4.0K /home/blctrl/.bash_logout
    3. 4.0K /home/blctrl/.bash_profile
    4. 4.0K /home/blctrl/.bashrc
    5. 4.0K /home/blctrl/EPICS/test.db
    6. ...
    7. 4.0K /home/blctrl/.Xauthority
    8. 26M /home/blctrl

    5、用千字节块查找一棵目录树以及子树的磁盘使用。使用"-k":

    1. [root@rockygu blctrl]# du -k /home/blctrl
    2. 4 /home/blctrl/EPICS/TEST/testIoc/configure/O.linux-x86_64
    3. 0 /home/blctrl/EPICS/TEST/testIoc/configure/O.Common
    4. 36 /home/blctrl/EPICS/TEST/testIoc/configure
    5. ...
    6. 25844 /home/blctrl

    6、用兆字节块查找一棵目录树以及子树的磁盘使用。使用"-m":

    1. [root@rockygu blctrl]# du -mh /home/blctrl
    2. 4.0K /home/blctrl/EPICS/TEST/testIoc/configure/O.linux-x86_64
    3. 0 /home/blctrl/EPICS/TEST/testIoc/configure/O.Common
    4. 36K /home/blctrl/EPICS/TEST/testIoc/configure
    5. ...
    6. 28K /home/blctrl/.config/pulse
    7. 28K /home/blctrl/.config
    8. 26M /home/blctrl

    7、"-c"标记在末行提供一个总使用磁盘空间。

    1. [root@rockygu blctrl]# du -ch /home/blctrl
    2. 4.0K /home/blctrl/EPICS/TEST/testIoc/configure/O.linux-x86_64
    3. ...
    4. 28K /home/blctrl/.config
    5. 26M /home/blctrl
    6. 26M total

    如何用du命令排除文件

    8、以下命令计算和现实所有文件和目录的磁盘使用,但排除匹配指定模式的文件。以下命令在计算一个目录的整个尺寸时排除了".txt"文件。通过使用"--exclude"标记,你能够排除任何文件格式。

    1. [root@rockygu blctrl]# du -ah --exclude="*.txt" /home/blctrl
    2. 4.0K /home/blctrl/.bash_logout
    3. 4.0K /home/blctrl/.bash_profile
    4. 4.0K /home/blctrl/.bashrc
    5. ...
    6. 26M /home/blctrl

    如何通过修改时间查找目录使用

    9、根据修改时间显示磁盘使用,使用标记"--time"。

    1. [root@rockygu blctrl]# du -ah --time /home/blctrl
    2. 4.0K 2021-07-27 22:21 /home/blctrl/.bash_logout
    3. 4.0K 2021-07-27 22:21 /home/blctrl/.bash_profile
    4. 4.0K 2021-07-27 22:21 /home/blctrl/.bashrc
    5. ...
    6. 4.0K 2022-06-12 17:29 /home/blctrl/EPICS/TEST/testIoc/testIocApp/Makefile
    7. 4.0K 2022-06-12 17:29 /home/blctrl/EPICS/TEST/testIoc/testIocApp/src/Makefile
    8. 4.0K 2022-06-12 17:29 /home/blctrl/EPICS/TEST/testIoc/testIocApp/src/devtestIocVers

    如何在Linux中查找最大的文件和目录

    10、运行以下命令查找在/home目录下最大的目录。

    1. [root@rockygu blctrl]# du -a /home/ | sort -n -r | head -n 5
    2. 25844 /home/blctrl
    3. 25844 /home/
    4. 20676 /home/blctrl/wordpress.tar.gz
    5. 5052 /home/blctrl/EPICS
    6. 2920 /home/blctrl/EPICS/IOCs

    以上命令显示/home目录中最大的5个目录。

    在Linux中寻找最大目录

    如果你想要显示在当前工作目录中最大目录,运行:

    1. [root@rockygu blctrl]# du -a | sort -n -r | head -n 5
    2. 25844 .
    3. 20676 ./wordpress.tar.gz
    4. 5052 ./EPICS
    5. 2920 ./EPICS/IOCs
    6. 2760 ./EPICS/IOCs/sampleIOC

    分解以上命令并且看每个参数说了什么。

    • du命令:计算文件空间使用。
    • a:显示所有文件和文件夹。
    • sort命令:排序文本文件的行。
    • -n:根据字符串数值比较。
    • -r:反向比较结果。
    • head:输出文件的前面部分。
    • -n:打印前'n'行。

    想要以人阅读的格式显示以上结果,即:你想要以KB,MB或GB显示最大文件。

    1. [root@rockygu blctrl]# du -hs * | sort -rh | head -5
    2. 21M wordpress.tar.gz
    3. 5.0M EPICS
    4. 4.0K test
    5. 4.0K services.txt
    6. 4.0K rocky.txt

    以上命令将显示最上层目录,它们消耗过更多磁盘空间。如果你觉得某些目录不重要,你可以删除一些子目录或者删除整个文件夹来释放一些空间。

    要显示包括子目录的最大文件夹/文件,运行:

    1. [root@rockygu blctrl]# du -Sh | sort -rh | head -5
    2. 21M .
    3. 860K ./EPICS/IOCs/sampleIOC/sampleIOCApp/src/O.linux-x86_64
    4. 648K ./EPICS/TEST/testIoc/testIocApp/src/O.linux-x86_64
    5. 636K ./EPICS/IOCs/sampleIOC/sampleIOCApp/src/O.Common
    6. 620K ./EPICS/IOCs/sampleIOC/dbd

    在以上命令中每个选项的含义:

    • du命令:估算文件空间使用。
    • -h:以人可阅读方式打印尺寸。
    • -S:要包含子目录的尺寸。
    • -s:只显示每个参数的总值。
    • sort命令:排序文本文件的行。
    • -r:反向比较结果。
    • -h:以人可阅读方式打印尺寸。
    • head:输出文件的前面部分。

    只查找最大文件的尺寸

    如果你只想要显示最大文件,则运行以下命令:

    1. [root@rockygu blctrl]# find -type f -exec du -Sh {} + | sort -rh | head -5
    2. 21M ./wordpress.tar.gz
    3. 612K ./EPICS/IOCs/sampleIOC/sampleIOCApp/src/O.Common/sampleIOC.dbd
    4. 612K ./EPICS/IOCs/sampleIOC/dbd/sampleIOC.dbd
    5. 456K ./EPICS/TEST/testIoc/testIocApp/src/O.Common/testIoc.dbd
    6. 456K ./EPICS/TEST/testIoc/dbd/testIoc.dbd

    要查找一个特定位置的最大文件,只要在find命令中包含这个路径: 

    1. [root@rockygu blctrl]# find /home/blctrl/ -type f -exec du -Sh {} + | sort -rh | head -5
    2. 21M /home/blctrl/wordpress.tar.gz
    3. 612K /home/blctrl/EPICS/IOCs/sampleIOC/sampleIOCApp/src/O.Common/sampleIOC.dbd
    4. 612K /home/blctrl/EPICS/IOCs/sampleIOC/dbd/sampleIOC.dbd
    5. 456K /home/blctrl/EPICS/TEST/testIoc/testIocApp/src/O.Common/testIoc.dbd
    6. 456K /home/blctrl/EPICS/TEST/testIoc/dbd/testIoc.dbd
  • 相关阅读:
    【计算机网络学习之路】TCP socket编程
    操作系统之微内核架构
    APT组织最喜欢的工具 Cobalt Strike (CS) 实战
    【RTOS训练营】继续程序框架、tick中断补充、预习、课后作业和晚课提问
    NodeJs 实践之他说
    10CSS
    Java集合或Map中元素排序及过滤
    类,这一篇文章你就懂了!
    快鲸物业管理系统:助力物业管理服务双提升
    Numpy学习笔记
  • 原文地址:https://blog.csdn.net/yuyuyuliang00/article/details/126088370