在Linux系统中,命令du(disk usage)用于查看当前系统磁盘空间使用情况,这条命令在日常排查问题中是非常有用的,拿最近一次使用该命令的经历来说,早上突然发现系统进不去了,查看日志发现数据库连接不上,查看数据库服务状态也是正常的,根据以往的经验,使用du查看了下容易出问题的目录文件大小,发现日志文件已达到40多G,通过清理日志文件释放内存后问题等得到解决。与命令du功能类似的还有命令df(disk free),df命令更容易查看磁盘空间使用情况,这个后面会说到。
语法
du [参数] [文件
参数说明
-a 显示所有文件大小
-h 以单位为K、M、G的形式显示大小(易读)
-s 显示文件的总大小
--exclude=<目录或文件> 忽略指定的目录或文件
-X,--exclude-from=FIle 从文件读取需要略过的文件
--max-depth=N 显示N级子目录的大小,当N=0时。效果和-s参数效果一样
案例
-a 参数显示所有文件的大小
[root@master test]# du -a
4 ./.ha.py
0 ./test/data
0 ./test
0 ./datapro/test01/test03
0 ./datapro/test01/test04
0 ./datapro/test01
0 ./datapro/test02/test03
0 ./datapro/test02/test04
0 ./datapro/test02
0 ./datapro
0 ./test02/8.py
0 ./test02/9.py
4 ./test02/5.py.gz
0 ./test02/5.py
32 ./test03/pandas.png
32 ./test03
8 ./test04/mysql-community-release-el7-5.noarch.rpm
36 ./test04/Python-3.6.8.tar.xz
4516 ./test04/Python-3.6.8.tar.xz.1
800 ./test04/wget-log
5360 ./test04
5412 .
[root@master test]#
-s 参数显示指定文件(目录)的总大小,不会显示其子目录
[root@master test]# du -s /data/
39404 /data/
[root@master test]#
-sh 组合参数以可读的方式显示文件总大小
[root@master test]# du -sh /data/
39M /data/
[root@master test]#
-max-depth=1 只显示指定层次目录的大小
[root@master test]# du -h --max-depth=1 /data/
26M /data/srs
39M /data/
[root@master test]#
---END---
更多精彩内容请关注公众号:数据与编程之美