df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
du命令用来查看某个目录或文件所占空间大小。默认显示单位KB。
df命令
1. 语法
df (选项) (参数)
2. 选项
-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或--portability:使用POSIX的输出格式;
--sync:在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
-T或--print-type:显示文件系统的类型;
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
--help:显示帮助;
--version:显示版本信息。
3. 参数
文件:指定文件系统上的文件。
4. 栗子
1)查看系统磁盘设备,默认是KB为单位:
[root@4383b9267a03 /]# df
Filesystem 1K-blocks Used Available Use% Mounted on
overlay 61255492 7455824 50658344 13% /
tmpfs 65536 0 65536 0% /dev
tmpfs 1023516 0 1023516 0% /sys/fs/cgroup
/dev/sda1 61255492 7455824 50658344 13% /etc/hosts
shm 65536 0 65536 0% /dev/shm
tmpfs 1023516 8396 1015120 1% /run
2)使用-h
选项以KB以上的单位来显示,可读性高:
[root@4383b9267a03 /]# df -h
Filesystem Size Used Avail Use% Mounted on
overlay 59G 7.2G 49G 13% /
tmpfs 64M 0 64M 0% /dev
tmpfs 1000M 0 1000M 0% /sys/fs/cgroup
/dev/sda1 59G 7.2G 49G 13% /etc/hosts
shm 64M 0 64M 0% /dev/shm
tmpfs 1000M 8.2M 992M 1% /run
du 命令
1. 语法
du [选项] [文件]
2. 选项
-a或-all 显示全部文件与目录的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。
3. 栗子
1)显示目录或者文件所占空间:
[root@4383b9267a03 systemd]# du
4 ./user
4 ./system/default.target.wants
4 ./system/getty.target.wants
4 ./system/system-update.target.wants
4 ./system/multi-user.target.wants
20 ./system
52 .
只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的52为当前目录的总大小
2)查看指定目录的所占空间:
[root@4383b9267a03 systemd]# du system
4 system/default.target.wants
4 system/getty.target.wants
4 system/system-update.target.wants
4 system/multi-user.target.wants
20 system
3)显示多个文件所占空间:
[root@4383b9267a03 systemd]# du bootchart.conf user.conf
4 bootchart.conf
4 user.conf
4)列表显示总和的大小且易读:
[root@4383b9267a03 systemd]# du -sh *
4.0K bootchart.conf
4.0K coredump.conf
4.0K journald.conf
4.0K logind.conf
20K system
4.0K system.conf
4.0K user
4.0K user.conf
5)和 sort 结合对文件排序
# 查看当前目录下的所有文件和文件夹大小,并从大到小排序
du -sh * | sort -nr
这个命令对吗?
不对!因为du -sh展示的结果单位不同,但是sort排序只能针对数字,导致980KB的文件排在1GB文件的前面。
# 查看当前目录下的所有文件和文件夹大小,找出所有GB大小的文件,并从大到小排序
du -sh * | grep G | sort -nr
# 这样就可以达到目的了~, 但是如果文件夹较多的话,还要一个一个的进入去找,怎么解决呢?接着看下面:
# 去掉 -s 参数,可以直接查看包括所有文件夹下的所有文件
du -h * | grep G | sort -nr
# 显示排序后的前10个
[root@4383b9267a03 etc]# du -s * | sort -nr | head -10
1036 pki
656 services
112 openldap
76 security
72 pam.d
64 dbus-1
52 systemd
48 yum
44 rc.d
36 yum.repos.d
「真诚赞赏,手留余香」
请我喝杯咖啡?
使用微信扫描二维码完成支付
