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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
补一下linux 的知识点:
2 A1 R, e% b4 j. {$ m5 n6 v  ~4 u9 _! }6 H% [& S. @
3 S- s# h7 _* S
因为df和du的统计机制不一样。4 h+ q7 x* e' ?4 {+ G) ~0 h
du会把指定目录下所有文件、目录、目录下的文件都统计。是建立在文件系统能看到的的确确是有这样一些文件的基础上的。也就是说我们能在文件系统里面看到的文件才会被du统计。+ k2 ]4 [% [" m) z# l

; m2 \7 W, N1 F) ]- p4 }

1 ~/ ^( N! D7 c: ^' N: R7 k+ K& i6 ~df(df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。):  a$ A$ N8 G# q& M( K7 T7 r
这要从程序写文件的方式来谈起,一个进程要向一个文件里面写东西,那么会得到一个pointer,
' h) {1 O6 L4 H/ E然后向指针指向的文件(磁盘区域)写入。假如由于某些原因(也可能人为)被指向的文件被删除了,但是( write call)并不知道文件是否还在,就还会继续向里面写,不管文件是否存在,磁盘块还是被写操作使用。' u8 }/ ]6 S* c. X' u
于是因为文件没有了,所以du统计不到写入的这些磁盘块,但是因为写的进程还在,磁盘空间没有被释放,所以df却能统计到,所以df统计的结果比du大很多。" P4 L' k2 n+ s6 f& N0 }+ z
如何解决呢?
0 U8 H" P  o0 N# g+ b3 \. v1.停止系统上的程序。6 H6 M6 e5 x. Y: H' X+ @9 A
2.如果还是不行,unmount一下文件系统看看) [9 {$ u# s, r# K( p: y
3.重启系统
3 ~3 M$ f" {: H) |4 S) Y: U5 H5 ~

1 }/ ^. |6 |8 q/ U
+ T$ z* j+ [" @: u

, @' ^; ]3 j  J, z) |( y- x& q4 S4 E
$ c$ Y/ z: O: Z4 v

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 23:48 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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