输出 / 目录下所有目录文件的大小并排序
使用 du -sh /* 输出 / 目录下所有的目录总大小,看下效果:
[root@localhost ~]# du -sh /*
0 /bin
110M /boot
0 /dev
32M /etc
12K /home
0 /lib
0 /lib64
0 /media
0 /mnt
0 /opt
du: cannot access ‘/proc/2731/task/2731/fd/4’: No such file or directory
du: cannot access ‘/proc/2731/task/2731/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/2731/fd/4’: No such file or directory
du: cannot access ‘/proc/2731/fdinfo/4’: No such file or directory
0 /proc
48K /root
7.6M /run
0 /sbin
0 /srv
0 /sys
4.0K /tmp
1.4G /usr
330M /var
/proc/ 是虚拟文件系统,不是磁盘目录,不存在占用磁盘空间所有需要忽略,改动一下命令
[root@localhost ~]# du -sh /* 2> /dev/null | grep -v /proc
0 /bin
110M /boot
0 /dev
32M /etc
12K /home
0 /lib
0 /lib64
0 /media
0 /mnt
0 /opt
48K /root
7.6M /run
0 /sbin
0 /srv
0 /sys
4.0K /tmp
1.4G /usr
330M /var
已经忽略了 /proc 目录如何按大小排序呢
如果使用 sort 不带参数执行,默认是按第一列字典顺序,比如a-z,A-Z 大写字母通常在小写字母之前,默认是升序,默认字段分隔符是任何空白字符(空格或制表符)
[root@localhost ~]# du -sh /* 2> /dev/null | grep -v /proc | sort -h
0 /bin
0 /dev
0 /lib
0 /lib64
0 /media
0 /mnt
0 /opt
0 /sbin
0 /srv
0 /sys
4.0K /tmp
12K /home
48K /root
7.7M /run
32M /etc
110M /boot
330M /var
1.4G /usr
- -h 选项让 sort 以人类可读的数字格式(如 K, M, G)进行排序。
sort功能很强大还是需深入学习一下。