Linux du命令和df命令区别



1 两者区别     

       du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。

       df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。

        当文件系统也确定删除了该文件后,这时候du与df就一致了。

2 工作中需要注意的地方

(1)当出现du和df差距很大的情况时,考虑是否是有删除文件未完成造成的,方法是lsof命令,然后停止相关进程即可。
lsof | grep myfile.iso  获得PID
kill pid
(2)可以使用清空文件的方式来代替删除文件,方式是:echo > myfile.iso。
对于echo命令的解释
重定向
如果文件存在则清空该文件内容
如果不存在则
新建该文件
(3)对于经常发生删除问题的日志文件,以改名、清空、删除的顺序操作。
(4)除了rm外,有些命令会间接的删除文件,如gzip命令完成后会删除原来的文件,为了避免删除问题,压缩前先确认没有进程打开该文件。



### 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、付费专栏及课程。

余额充值