du 和 df 算是一对同门师兄弟,du 侧重在文件夹和文件的磁盘占用方面,而 df 则侧重在文件系统级别的磁盘占用方面。这两个命令都非常的基础,也是每位 Linux 工程师都应该掌握的命令。
du
命令:du
是 “disk usage” 的缩写,用于显示指定目录或文件的磁盘使用情况。
基本语法:
bash du [选项] [目录或文件]
常用选项:
-h
:以人类可读的方式显示文件和目录的大小。
-
c:是 --total 的缩写形式,它表示的是针对输出的各个对象来计算其磁盘使用量的总和。需要计算某一段时间范围内的日志文件的磁盘使用量,那么-c选项就可以很好地满足需求了
-s
:仅显示总计大小,不显示每个子目录的详细信息。
示例:
# 查看当前目录下所有文件和子目录的大小
du -h
# 查看特定目录的大小
du -h /path/to/directory
#计算当前文件夹的总磁盘占用量, -s选项表示计算总和, -h选项表示以恰当的K/M/G单位展示
du -sh
# 查看当前目录下所有文件和子目录的磁盘使用情况,并显示总计大小
du -ch
# 只想看当前文件夹下第一级的内存大小排序
du -sh *|sort -nr
# 想看当前文件夹和其子文件夹下的内存大小排序
du -ah .|sort -hr
du
会递归地显示指定目录中每个文件和子目录的大小,并以可读的格式显示。
排序的参数
-h
选项和-n
选项的区别:
-n
选项,按数值进行比较,只会傻傻地比较数字,它会认为 98 K大于 2G。
-h
选项,会更加聪明,先优先比较单位(G>M>K),然后再对数值进行比较。
df 是 “disk free” 的缩写,用于显示文件系统的磁盘空间使用情况。
基本语法:
bash df [选项]
常用选项:
-h
:以人类可读的方式显示磁盘空间使用情况。
-T
:显示文件系统类型。
-i
:显示 inode 使用情况。
示例:
# 查看文件系统的磁盘空间使用情况
df -h
# 查看指定目录所在的文件系统的空间使用情况
df -h /path/to/directory ```
df
显示已挂载文件系统的信息,包括总容量、已使用、剩余空间等。
总的来说,du
用于查看指定目录或文件的磁盘使用情况,而 df
用于查看文件系统整体的磁盘空间使用情况。这两个命令通常在管理和监控系统磁盘空间时非常有用。