Linux中du和df命令的区别

本文详细解释了Linux环境下df和du命令的区别,特别是当文件被删除但进程仍在写入时,df能正确统计磁盘使用情况而du无法的情况。提供了三种解决方法:停止系统程序、卸载文件系统和重启系统。
昨天阿里巴巴的笔试中出现这一个题目,直接给鄙视了,得补补linux 的知识点:

因为df和du的统计机制不一样。
du会把指定目录下所有文件、目录、目录下的文件都统计。是建立在文件系统能看到的的确确是有这样一些文件的基础上的。也就是说我们能在文件系统里面看到的文件才会被du统计。

df(df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。):
这要从程序写文件的方式来谈起,一个进程要向一个文件里面写东西,那么会得到一个pointer,
然后向指针指向的文件(磁盘区域)写入。假如由于某些原因(也可能人为)被指向的文件被删除了,但是( write call)并不知道文件是否还在,就还会继续向里面写,不管文件是否存在,磁盘块还是被写操作使用。
于是因为文件没有了,所以du统计不到写入的这些磁盘块,但是因为写的进程还在,磁盘空间没有被释放,所以df却能统计到,所以df统计的结果比du大很多。
如何解决呢?
1.停止系统上的程序。
2.如果还是不行,unmount一下文件系统看看
3.重启系统
内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
Linux系统中,`du` `df` 是两个常用的命令,用于查看文件系统的磁盘使用情况,但它们的功能用途有所不同。 ### `df` 命令 `df` 命令用于报告文件系统的磁盘空间使用情况。它可以显示每个文件系统的总大小、已使用的空间、可用空间以及挂载点等信息。默认情况下,`df` 会显示所有挂载的文件系统的信息。 **常用选项**: - `-h`:以人类可读的方式显示信息(例如,KB、MB、GB)。 - `-T`:显示文件系统的类型。 **示例**: ```bash df -h ``` 输出示例: ``` Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 20G 30G 40% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sdb1 100G 50G 50G 50% /home ``` ### `du` 命令 `du` 命令用于估计文件空间使用情况。它可以显示目录或文件所占用的磁盘空间。`du` 可以递归地计算目录中的所有文件子目录的大小。 **常用选项**: - `-s`:汇总每个参数的总大小。 - `-h`:以人类可读的方式显示信息。 - `-a`:显示所有文件的大小,不仅仅是目录。 **示例**: ```bash du -sh /home/user ``` 输出示例: ``` 1.2G /home/user ``` ### 主要区别 1. **功能**: - `df` 主要用于查看文件系统的整体磁盘使用情况,包括总空间、已用空间可用空间。 - `du` 主要用于查看特定目录或文件的磁盘使用情况,尤其是递归地查看目录的大小。 2. **应用场景**: - 如果需要了解整个文件系统的磁盘使用情况,或者检查某个挂载点的空间是否充足,通常使用 `df`。 - 如果需要了解某个目录或文件的具体大小,尤其是想找出占用空间较大的文件或目录,通常使用 `du`。 3. **输出内容**: - `df` 的输出通常包括文件系统的总大小、已用空间、可用空间挂载点。 - `du` 的输出通常包括每个目录或文件的大小,以及它们的路径。 通过合理使用 `df` `du` 命令,可以更好地管理监控Linux系统的磁盘空间使用情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值