Linux du命令教程及示例

du命令用于获取有关Linux中磁盘使用情况的信息。du命令提供了大量有关磁盘使用情况的有用信息,如目录大小、文件大小、可用百分比等。

null

将文件大小打印为字节

du命令用于以字节为单位列出给定的文件和目录大小。没有额外的参数。下面的命令列出了当前工作目录及其子目录的大小。

du 
图片[1]-Linux du命令教程及示例-yiteyi-C++库
将文件大小打印为字节

或者,我们可以指定不同于当前工作目录的目录,以便列出文件和目录的大小。在本例中,我们将提供列表大小的绝对完整路径。

du /var/log
图片[2]-Linux du命令教程及示例-yiteyi-C++库

以可读格式打印文件大小

默认情况下,大小以字节单位打印,这不容易阅读和理解。当大小以千字节、兆字节、千兆字节等形式打印时,可以使用人类可读格式,-h选项以人类可读格式打印大小。

du -h /var/log

输出如下。

 625M    /var/log/journal/295c2cf105a140e5ab505a9e74ff560e 625M    /var/log/journal 252K    /var/log/apt 1012K    /var/log/installer 4,0K    /var/log/private 4,0K    /var/log/gdm3 64K    /var/log/unattended-upgrades 4,0K    /var/log/openvpn 4,0K    /var/log/lightdm 40K    /var/log/cups 4,0K    /var/log/sssd 64K    /var/log/apache2 4,0K    /var/log/dist-upgrade 32K    /var/log/mysql 4,0K    /var/log/speech-dispatcher 629M    /var/log

打印所有文件和目录的大小

默认情况下,du命令只打印目录大小及其内容。但是通过提供 -a 选项所有文件大小也可以打印如下。或者,可以使用-a选项的长格式 –全部 .

du -h -a /var/log

输出如下。我们可以看到扩展名为*.gz和*.1的文件及其大小也被打印出来。

4,0K    /var/log/vmware-network.log 16K    /var/log/boot.log.2 4,0K    /var/log/kern.log.2.gz 625M    /var/log/journal 180K    /var/log/syslog.6.gz 1,3M    /var/log/dpkg.log.1 4,0K    /var/log/kern.log.3.gz 4,0K    /var/log/kern.log.1 12K    /var/log/apt/history.log 72K    /var/log/apt/eipp.log.xz 96K    /var/log/apt/term.log 32K    /var/log/apt/term.log.1.gz...

通过排除某些文件和目录来打印大小

默认情况下,du命令打印所有指定的文件和目录大小。但是我们也可以通过使用 -十 选项。-X选项的长格式是 –排除 . 提供了一些将被排除的文件或目录模式。在下面的示例中,我们将排除扩展名为“*.gz”的文件。

du -X="*.gz"

排除符号链接

Linux大量使用符号链接,不同的目录可能包含指向其他目录或路径的符号链接。我们可以排除与 -我 选项如下。

du -h -L /var/log

打印所有目录的总大小

目录的总大小可以使用 -c级 选项。总大小包括给定的目录内容及其所有子目录大小。或者,可以使用-c选项的长形式 –总计 .

$ du -h -c /var/log
625M    /var/log/journal/295c2cf105a140e5ab505a9e74ff560e 625M    /var/log/journal 252K    /var/log/apt 1012K    /var/log/installer 4,0K    /var/log/private 4,0K    /var/log/gdm3 64K    /var/log/unattended-upgrades 4,0K    /var/log/openvpn 4,0K    /var/log/lightdm 40K    /var/log/cups 4,0K    /var/log/sssd 64K    /var/log/apache2 4,0K    /var/log/dist-upgrade 32K    /var/log/mysql 4,0K    /var/log/speech-dispatcher 629M    /var/log 629M    total

打印指定级别文件和目录的大小

默认情况下,du命令遍历所有子目录及其内容。但在某些情况下,这可能是不必要的。我们可以指定要反转的目录,而不计算较低级别的目录。这个 -d级 选项和级别号可用于此操作。在下面的示例中,我们将只遍历级别1的目录和文件。

du -d 1 /var/log
639020    /var/log/journal 252    /var/log/apt 1012    /var/log/installer 4    /var/log/private 4    /var/log/gdm3 64    /var/log/unattended-upgrades 4    /var/log/openvpn 4    /var/log/lightdm 40    /var/log/cups 4    /var/log/sssd 64    /var/log/apache2 4    /var/log/dist-upgrade 32    /var/log/mysql 4    /var/log/speech-dispatcher 644028    /var/log

将当前目录大小打印为摘要

这个 -s码 du命令的选项可用于打印文件系统的摘要大小,如下所示。

$ du -s -h /var/log
629M    /var/log

打印文件和目录的修改时间

即使不是du命令的主要任务,目录和文件夹的最后修改时间也可以用 –时间 选项如下。

du --time -h /var/log
625M    2020-12-20 12:41    /var/log/journal/295c2cf105a140e5ab505a9e74ff560e 625M    2020-12-20 12:41    /var/log/journal 252K    2020-12-18 09:50    /var/log/apt 1012K    2020-11-02 17:23    /var/log/installer 4,0K    2020-10-22 16:59    /var/log/private 4,0K    2020-11-02 14:37    /var/log/gdm3 64K    2020-12-20 11:57    /var/log/unattended-upgrades 4,0K    2020-08-18 14:42    /var/log/openvpn 4,0K    2020-02-07 14:40    /var/log/lightdm 40K    2020-12-20 12:24    /var/log/cups 4,0K    2020-11-29 00:00    /var/log/sssd 64K    2020-12-20 00:00    /var/log/apache2 4,0K    2020-09-23 01:59    /var/log/dist-upgrade 32K    2020-12-20 00:00    /var/log/mysql 4,0K    2020-08-20 01:11    /var/log/speech-dispatcher 629M    2020-12-20 12:41    /var/log

相关文章: 如何在Linux中删除目录?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享