更多资料获取
📚 个人网站:ipengtao.com
df
和 du
是Linux系统中用于磁盘空间管理的两个关键命令。虽然它们的基本用法相对简单,但在深入了解它们的高级用法后,能更好地管理文件系统的磁盘空间。
使用 df
查看磁盘使用情况
基本用法
使用 df
命令来查看文件系统的磁盘使用情况:
df -h
这将显示所有挂载点的磁盘空间使用情况,以人类可读的方式。
查看单个文件系统
要查看特定文件系统的使用情况,可以提供文件系统的挂载点作为参数:
df -h /mnt/data
这将显示 /mnt/data
文件系统的磁盘使用情况。
使用 du
查看目录大小
基本用法
使用 du
命令来查看目录的大小:
du -sh /path/to/directory
这将显示目录的总大小,以人类可读的方式。
查看目录中各个子目录的大小
要查看目录中各个子目录的大小,可以使用 du
命令并结合 sort
命令:
du -h /path/to/directory | sort -rh
这将按大小排序并显示子目录的大小,最大的子目录将显示在顶部。
使用 df
和 du
结合查找大文件
要找到占用大量磁盘空间的文件,可以结合使用 df
和 du
命令:
# 查看挂载点的磁盘使用情况
df -h /mnt/data
# 使用 du 查找目录中最大的文件
du -h /mnt/data | sort -rh | head -n 10
这将首先查看挂载点的磁盘使用情况,然后使用 du
查找目录中最大的文件。
使用 df
和 awk
提取特定文件系统的使用率
要提取特定文件系统的使用率,可以使用 df
和 awk
命令结合:
df -h | awk '$1 == "/dev/sda1" {print $5}'
这将提取 /dev/sda1
文件系统的使用率。
使用 du
忽略特定目录或文件
要在使用 du
时忽略特定目录或文件,可以使用 --exclude
选项:
du -h --exclude=/path/to/exclude /path/to/directory
这将计算目录大小时忽略 /path/to/exclude
。
使用 df
和 grep
过滤特定文件系统
要过滤 df
输出中的特定文件系统,可以使用 grep
命令:
df -h | grep '/dev/sd[a-z]'
这将显示所有匹配 /dev/sd[a-z]
模式的文件系统。
使用 du
统计特定类型的文件大小
要查找目录中特定类型文件的大小,可以使用 find
命令结合 du
命令:
find /path/to/directory -type f -name "*.txt" -exec du -ch {} + | grep total$
这将查找并统计所有扩展名为 .txt
的文件的大小。
使用 du
计算磁盘使用情况并排除稀疏文件
要计算目录的磁盘使用情况并排除稀疏文件,可以使用 -B1
选项:
du -ch --apparent-size /path/to/directory
这将显示真实磁盘使用情况,而不会将稀疏文件的空洞计算在内。
使用 df
和 --output
自定义输出格式
要自定义 df
命令的输出格式,可以使用 --output
选项:
df -h --output=source,pcent,target
这将只显示文件系统源、使用率和目标目录。
使用 du
和 watch
定时监控磁盘使用情况
要定时监控磁盘使用情况,可以使用 watch
命令:
watch -n 5 'du -sh /path/to/directory'
这将每隔 5 秒刷新一次目录的磁盘使用情况。
总结
df
和 du
命令是Linux系统中用于磁盘空间管理的强大工具。通过深入了解它们的高级用法,可以更好地管理和监控文件系统的磁盘使用情况。希望本文中的示例和技巧能帮助大家更好地掌握这两个命令。
这些高级用法包括查看磁盘使用情况、查找大文件、提取特定文件系统的使用率、忽略目录或文件、过滤特定文件系统、统计特定类型的文件大小、排除稀疏文件、自定义输出格式以及定时监控磁盘使用情况。