找回密码
 注册
关于网站域名变更的通知
查看: 240|回复: 1
打印 上一主题 下一主题

在Linux中du和df命令有什么区别

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-17 18:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
补一下linux 的知识点:; K: `2 J0 L+ X2 ?  @& Y

) x  R0 P) E. |) i+ e+ q
8 A2 p2 T6 v* r' s
因为df和du的统计机制不一样。
. w9 R1 Q- r9 K; M5 y1 t6 z2 Fdu会把指定目录下所有文件、目录、目录下的文件都统计。是建立在文件系统能看到的的确确是有这样一些文件的基础上的。也就是说我们能在文件系统里面看到的文件才会被du统计。9 m% M7 S8 t8 A+ D/ K5 {# Q
2 k$ \1 l' q& c* f" h8 n
+ J$ F3 Z  i7 n/ Y3 ~( A  \
df(df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。):2 D- c& E5 \" U
这要从程序写文件的方式来谈起,一个进程要向一个文件里面写东西,那么会得到一个pointer,& x8 l6 |8 v- s7 Y5 }7 R
然后向指针指向的文件(磁盘区域)写入。假如由于某些原因(也可能人为)被指向的文件被删除了,但是( write call)并不知道文件是否还在,就还会继续向里面写,不管文件是否存在,磁盘块还是被写操作使用。
, T0 W) X3 m3 u/ [% h3 C于是因为文件没有了,所以du统计不到写入的这些磁盘块,但是因为写的进程还在,磁盘空间没有被释放,所以df却能统计到,所以df统计的结果比du大很多。  x7 w: ?4 B- Z$ c9 ^/ E9 ~# L' o. S
如何解决呢?1 M' K0 z' T( s' v1 T
1.停止系统上的程序。
5 j7 n. K( V9 _, Q3 G; m9 s5 Q! A2.如果还是不行,unmount一下文件系统看看
& q- k' x- i- ^3 s- v; i3.重启系统1 g4 S( K' }% k/ A2 h- Y

+ G! r+ D2 O' q8 r7 r

8 [# |2 n  i4 p& k& e6 s* k2 c- o/ f1 z8 E9 o/ ]) ~
. q, m8 _; }; t  `

  ]# O3 k' |, u* Q% z1 o$ \0 E; V0 s$ v4 T( S1 G8 g/ b# E' V' A: y6 E3 Y

该用户从未签到

2#
发表于 2019-9-17 20:51 | 只看该作者
在Linux中du和df命令有什么区别 。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-23 16:33 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表