ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

du命令用的好,磁盘空间全知了

2021-12-06 01:01:32  阅读:195  来源: 互联网

标签:tmp systemd service private 磁盘空间 unix 31de4ddb230847ecb9b7d67391665ec2 du 全知


服务器开发环境作为公共环境,经常会遇到磁盘空间爆满的情况(不知道您有没有遇到过,反正我经常遇到这个情况)。由于我们好多开发同学都在上面放文件,遇到这种情况就只能先删除自己的没用的文件了。但是,之前曾经遇到一个情况,我删除了之前存储的10个G文件,释放空间不到两分钟,磁盘空间又满了!!!

所以说,掌握服务器磁盘空间查看命令是非常重要滴,不然你怎么找出是什么问题导致磁盘空间增速这么快呢,废话少说,接下俩咱们看看如何精确使用du这个命令,让我们在平常开发中少走弯路。

说一下,以下命令都是centos7.6环境下的root用户执行的结果。

du

显示目录的磁盘使用率摘要

[root@hadoop3 /]# du /tmp
4       /tmp/.font-unix
4       /tmp/.ICE-unix
4       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
8       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4       /tmp/.XIM-unix
260     /tmp/hsperfdata_root
4       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
8       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4       /tmp/.Test-unix
4       /tmp/.X11-unix
300     /tmp

命令详解:不带任何选项的'du'命令将列出给定目录或当前工作目录中的所有文件和文件夹。此外,它还将沿着它们的路径以块的形式显示,在页面的底部,它将以块的形式显示总文件大小。正如您在上面的示例中看到的,文件路径和现有文件的块大小一起显示。但是,上面的输出不是可读的格式,这是它的主要缺点。

du -h

以可读的形式显示目录的磁盘使用率摘要

[root@hadoop3 /]# du -h /tmp
4.0K    /tmp/.font-unix
4.0K    /tmp/.ICE-unix
4.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4.0K    /tmp/.XIM-unix
260K    /tmp/hsperfdata_root
4.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4.0K    /tmp/.Test-unix
4.0K    /tmp/.X11-unix
300K    /tmp

命令详解:使用'du -h'选项将以"可读格式"列出所有输出。这个'-h'选项将块大小转换为可读的格式,如Bytes、Kilobytes、Megabytes或Gigabytes。在上面的例子中,您可以看到所有文件大小的输出K的形式打印。

du -sh

查看特定目录的总磁盘使用情况

[root@hadoop3 /]# du -sh /tmp
300K    /tmp

命令详解:'du -sh'选项将显示目录的确切使用大小。'-s'标志将显示包含块大小的目录总数,但'-h'标志的组合将把输出转换为可读的格式。该命令在实际中使用最为频繁。

du -a

列出该目录下所有文件/子文件的磁盘使用情况

[root@hadoop3 /]# du -a /tmp
4       /tmp/.font-unix
4       /tmp/.ICE-unix
4       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
8       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4       /tmp/.XIM-unix
32      /tmp/hsperfdata_root/5057
32      /tmp/hsperfdata_root/3645
32      /tmp/hsperfdata_root/963
32      /tmp/hsperfdata_root/4034
32      /tmp/hsperfdata_root/11619
32      /tmp/hsperfdata_root/18122
32      /tmp/hsperfdata_root/12567
32      /tmp/hsperfdata_root/3820
260     /tmp/hsperfdata_root
4       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
8       /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4       /tmp/.Test-unix
0       /tmp/wrapper-680-1-in
4       /tmp/.X11-unix
0       /tmp/wrapper-680-1-out
300     /tmp

命令详解:使用'-a'选项,可以列出并打印每个文件的磁盘使用情况,包括目录和子目录。该命令可以识别给定路径下最大的文件/文件夹,并帮助您删除/清除未使用的或最大的文件,以便为服务器提供足够的空闲空间。在上面的示例中,可以看到与前面示例的不同之处,这里列出了包括目录在内的每个文件。如果你在上面的命令中加上'-h'标志,比如'du -ah',那么所有的输出都是人类可读的格式。

du -c

列出文件总的磁盘占用空间

[root@hadoop3 /]# du -ch /tmp
4.0K    /tmp/.font-unix
4.0K    /tmp/.ICE-unix
4.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4.0K    /tmp/.XIM-unix
260K    /tmp/hsperfdata_root
4.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4.0K    /tmp/.Test-unix
4.0K    /tmp/.X11-unix
300K    /tmp
300K    total

命令详解:使用'-c'选项将在输出的最底部列出总的使用磁盘空间。如果你在上面的命令中加上'-h'标志,比如'du -ch',那么所有的输出都是可读的格式。

du -BK/-BM/-BG

以指定容量单位输出文件/文件夹磁盘占用大小

[root@hadoop3 /]# du -BK /tmp
4K      /tmp/.font-unix
4K      /tmp/.ICE-unix
4K      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
8K      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4K      /tmp/.XIM-unix
260K    /tmp/hsperfdata_root
4K      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
8K      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4K      /tmp/.Test-unix
4K      /tmp/.X11-unix
300K    /tmp
[root@hadoop3 /]# du -BM /tmp
1M      /tmp/.font-unix
1M      /tmp/.ICE-unix
1M      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
1M      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
1M      /tmp/.XIM-unix
1M      /tmp/hsperfdata_root
1M      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
1M      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
1M      /tmp/.Test-unix
1M      /tmp/.X11-unix
1M      /tmp
[root@hadoop3 /]# du -BG /tmp
1G      /tmp/.font-unix
1G      /tmp/.ICE-unix
1G      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
1G      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
1G      /tmp/.XIM-unix
1G      /tmp/hsperfdata_root
1G      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
1G      /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
1G      /tmp/.Test-unix
1G      /tmp/.X11-unix
1G      /tmp

命令详解:将'-B'标记与'K'、'M'或'G'结合使用,可以将文件和目录的总磁盘使用情况分为千字节(Kilobytes)、兆字节(Megabytes)或千兆字节(Gigabytes)。但是请注意,在使用的时候请合理使用容量单位,不然就会出现上述情况,实际没有1M,用-BM会导致文件四舍五入容量。

du —max-depth=x

检查当前位置的所有子目录的大小

[root@hadoop3 /]# du -h --max-depth=1 /tmp
4.0K    /tmp/.font-unix
4.0K    /tmp/.ICE-unix
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4.0K    /tmp/.XIM-unix
260K    /tmp/hsperfdata_root
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4.0K    /tmp/.Test-unix
4.0K    /tmp/.X11-unix
300K    /tmp

命令详解:添加'—max-depth=x'参数,可以检查当前目录下x深度的子目录的磁盘容量大小。

du —exclude="xxx"

在计算磁盘大小时排除特定类型的文件

[root@hadoop3 /]# du -h --exclude="*.font-unix" /tmp
4.0K    /tmp/.ICE-unix
4.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4.0K    /tmp/.XIM-unix
260K    /tmp/hsperfdata_root
4.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
8.0K    /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4.0K    /tmp/.Test-unix
4.0K    /tmp/.X11-unix
296K    /tmp

命令详解:在'du'命令中使用'-exclude'选项,在计算所有文件和目录的磁盘使用情况时,我们可以删除一些特定的模式(如php、txt、png等扩展名)。

du —time

查看上次修改时间的磁盘使用情况

[root@hadoop3 /]# du -ha --time /tmp
4.0K    2021-02-26 12:19        /tmp/.font-unix
4.0K    2021-02-26 12:19        /tmp/.ICE-unix
4.0K    2021-11-20 23:29        /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ/tmp
8.0K    2021-11-20 23:29        /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-nginx.service-pt0CTJ
4.0K    2021-02-26 12:19        /tmp/.XIM-unix
32K     2021-12-06 00:17        /tmp/hsperfdata_root/5057
32K     2021-12-06 00:18        /tmp/hsperfdata_root/3645
32K     2021-12-06 00:17        /tmp/hsperfdata_root/963
32K     2021-12-06 00:18        /tmp/hsperfdata_root/4034
32K     2021-12-06 00:18        /tmp/hsperfdata_root/11619
32K     2021-12-06 00:18        /tmp/hsperfdata_root/18122
32K     2021-12-06 00:18        /tmp/hsperfdata_root/12567
32K     2021-12-06 00:18        /tmp/hsperfdata_root/3820
260K    2021-12-06 00:18        /tmp/hsperfdata_root
4.0K    2021-11-20 18:18        /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD/tmp
8.0K    2021-11-20 18:18        /tmp/systemd-private-31de4ddb230847ecb9b7d67391665ec2-chronyd.service-rVhZDD
4.0K    2021-02-26 12:19        /tmp/.Test-unix
0       2021-12-06 00:18        /tmp/wrapper-680-1-in
4.0K    2021-02-26 12:19        /tmp/.X11-unix
0       2021-12-06 00:18        /tmp/wrapper-680-1-out
300K    2021-12-06 00:18        /tmp

:在'du'命令中使用' time'选项,它将列出最后修改的文件和目录的日期和时间。

标签:tmp,systemd,service,private,磁盘空间,unix,31de4ddb230847ecb9b7d67391665ec2,du,全知
来源: https://www.cnblogs.com/BigDataToAI/p/linux_du_command.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有