Linux 中 df 和 du 命令的高级用法

本文详细介绍了Linux系统中df和du命令的高级用法,包括查看磁盘使用、过滤文件系统、统计文件大小等,以提升磁盘空间管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更多资料获取

📚 个人网站:ipengtao.com


dfdu 是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

这将按大小排序并显示子目录的大小,最大的子目录将显示在顶部。

使用 dfdu 结合查找大文件

要找到占用大量磁盘空间的文件,可以结合使用 dfdu 命令:

# 查看挂载点的磁盘使用情况
df -h /mnt/data

# 使用 du 查找目录中最大的文件
du -h /mnt/data | sort -rh | head -n 10

这将首先查看挂载点的磁盘使用情况,然后使用 du 查找目录中最大的文件。

使用 dfawk 提取特定文件系统的使用率

要提取特定文件系统的使用率,可以使用 dfawk 命令结合:

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

使用 dfgrep 过滤特定文件系统

要过滤 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

这将只显示文件系统源、使用率和目标目录。

使用 duwatch 定时监控磁盘使用情况

要定时监控磁盘使用情况,可以使用 watch 命令:

watch -n 5 'du -sh /path/to/directory'

这将每隔 5 秒刷新一次目录的磁盘使用情况。

总结

dfdu 命令是Linux系统中用于磁盘空间管理的强大工具。通过深入了解它们的高级用法,可以更好地管理和监控文件系统的磁盘使用情况。希望本文中的示例和技巧能帮助大家更好地掌握这两个命令。

这些高级用法包括查看磁盘使用情况、查找大文件、提取特定文件系统的使用率、忽略目录或文件、过滤特定文件系统、统计特定类型的文件大小、排除稀疏文件、自定义输出格式以及定时监控磁盘使用情况。

### Linux `du` 命令与 `df` 命令的区别及使用方法 #### 一、命令功能概述 - **`du` 命令**主要用于统计指定目录或文件的磁盘使用情况,能够显示单个文件或者整个目录树所占用的空间大小[^1]。 - **`df` 命令**则用于查看文件系统的整体磁盘空间使用状况,包括已用空间、可用空间以及挂载点等信息[^4]。 --- #### 二、具体区别 | 特性 | `du` 命令 | `df` 命令 | |---------------------|-----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| | **主要用途** | 统计特定目录或文件的磁盘使用量 | 查看整个文件系统的磁盘空间使用情况 | | **操作对象** | 单个文件或目录 | 文件系统 | | **输出内容** | 展示每个子目录及其父目录的磁盘占用情况 | 提供文件系统的总量、已用量、剩余量挂载位置 | | **单位支持** | 支持多种单位(默认为字节),可通过参数调整 | 默认以 KB 或其他指定单位展示 | --- #### 三、常见选项与用法 ##### 1. `du` 命令常用选项 - `-h, --human-readable`: 使用人类可读的形式表示文件大小 (如 K、M、G)[^5]。 - `-s, --summarize`: 只显示总计值而不列出每个子项。 - `-a, --all`: 列出所有文件目录的信息。 - `-c, --total`: 在最后加上总计数。 - `-i`: 显示 inode 的使用情况而非实际数据块[^3]。 ###### 示例代码 ```bash # 显示当前目录下的总大小 du -sh . # 显示当前目录下每个文件夹的具体大小 du -h --max-depth=1 . ``` ##### 2. `df` 命令常用选项 - `-h, --human-readable`: 类似于 `du` 的 `-h` 参数,使输出更易理解。 - `-T`: 显示文件系统类型。 - `-k`: 以千字节(KB)为单位报告磁盘空间。 - `-t type`: 仅显示某种类型的文件系统。 - `-x type`: 排除某些类型的文件系统。 ###### 示例代码 ```bash # 查看所有挂载点的磁盘使用情况 df -h # 同时显示文件系统类型 df -Th ``` --- #### 四、注意事项 - 如果需要分析某个目录内部结构并找出大文件,则应优先考虑使用 `du` 命令- 对于监控服务器的整体存储状态而言,`df` 更加适合因为可以快速获取全局视角的数据。 - 当涉及特殊需求比如只关心 iNode 数目而不是物理存储容量的时候可以选择附加相应标志位来调用上述工具之一。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值