du和df 是linux下查询空间占用的命令。
du查看目录,df查询磁盘
du:统计目录(或文件)所占磁盘空间的大小。
默认要显示一个目录树及其每个子树的磁盘使用情况
-s或–summarize 仅显示总计,即当前目录的大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
--exclude='*xyz*' 去除某个路径
--max-depth=N 遍历的深度
列出当前目录中的目录名不包括xyz字符串的目录的大小:
例子:
1、查看当前文件夹的大小
du -sh
2、查看某个文件夹的大小
du -sh /home/xinchun.wang/project/
3、列出当前文件夹下的所有文件夹及其大小,并按照文件夹大小排序
du -sh * | sort -n
du -sh /home/xinchun.wang/project/tts_ins_package/*|sort -n
4、指定目录深度的文件大小
du -m --max-depth=3 |sort -nr|head -10
du -sh 文件夹/文件 --根据文件大小显示为nK/nM/nG
du -sk 文件夹/文件 --根据文件大小显示为nK
du -sm 文件夹/文件 --根据文件大小显示为nM
df:检查文件系统的磁盘空间占用情况
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
--total
produce a grand total
df --total -h
注意:ls ll 命令是查看文件夹的节点的大小,不包括其内的文件
案例:如果一台机器的突然磁盘满了,如何定位原因。
思路:
1、df 先查询系统磁盘的情况。
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 9.9G 1.1G 8.4G 11% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/vda1 194M 54M 131M 29% /boot
/dev/vda6 985M 339M 596M 37% /home
/dev/vda7 60G 985M 56G 2% /home/q
/dev/vda5 4.0G 316M 3.5G 9% /var
2、/home下37%的占用,去查看/home下最大的文件目录。
sudo du -m --max-depth=1|sort -nr|head -10
注意:-m 按兆为单位 ,--max-depth 标志目录查询的深度为1 -nr 是按数字排倒序
321 ./xinchun.wang
1 ./zhen.pei
1 ./zelin.miao
1 ./yufeng.ji
1 ./yinan.gao
1 ./yigang.sun
1 ./ye.gu
1 ./yan.lu
定位到/home/xinchun.wang 目录占用了大量的空间为321M