红联Linux门户
Linux帮助

命令du与df

发布时间:2011-04-25 19:18:59来源:红联作者:Guin
[i=s] 本帖最后由 Guin 于 2011-5-18 19:25 编辑 [/i]

/bin/df, /usr/bin/du, /usr/bin/stat

df -- Report filesystem disk space usage

df [option]...[file]...


du -- Estimate file space usage
du与df是完全不一样的东西。df始终是查看文件系统的使用情况。du查看的是指定的文件和目录与其子目录的磁盘使用情况。
du就这两个选项是有意思的:
-S, --separate-dirs do not include size of subdirectories
-s, --summarize display only a total for each argument

建一个空目录,用du查看磁盘使用情况也是有数量的。不过不明白为什么新建一个空目录就占用了磁盘了,还4k之多。查看新建的文件是无使用量的,可见并不计算meta data。

$ du z/ z/foo
4 z/
0 z/foo

大S与小s的区别是这个样子的:大S不把子目录的大小计算到自己头上;
$ du -S z/
4 z/z
4 z/
$ du -s z/
8 z/

stat -- report file or file system status
突然发现stat这个命令很好么,相当于看一个文件的所有相对有用的属性了。原来看文件类型就会用file,看大小,时间信息就会用ls。以后可以用这个了。还可以用-f选项查看文件所在文件系统的信息。
文章评论

共有 45 条评论

  1. 一语天然 于 2014-07-06 15:39:31发表:

    受教了

  2. hanes1005 于 2013-11-05 16:59:12发表:

    学习下!

  3. Moffy 于 2013-09-24 22:20:37发表:

    新手学习~~~~~~~~~

  4. nic疯锋 于 2013-09-24 15:42:55发表:

    好东西、!

  5. xjboy 于 2013-09-03 11:00:41发表:

    du命令的内容很多.

  6. affzdqlks 于 2012-07-05 11:01:32发表:

    the strongest ps2 emulator pcsx2 raiders system tools pacific internet pconline

  7. guoczcq 于 2012-05-30 14:01:24发表:

    [code][/code][code][/code]

  8. guoczcq 于 2012-05-30 11:29:07发表:

    学习了

  9. 唐僧爱梳头 于 2012-02-25 00:41:46发表:

    曾经有人问我...楼猪的帖子算不算好贴...我没有回答...因为我想起了一位传说中的大师---古龙先生的一段话:"...天涯远不远?...天涯其实一点也不远...因为人已经在天涯...天涯还远吗..."

  10. Lee2012 于 2012-02-15 12:44:55发表:

    学习

  11. abkxswuei 于 2011-12-25 12:04:01发表:

    谢谢楼主分享~~~

  12. njp1949 于 2011-10-09 14:21:19发表:

    学习

  13. yishiwangle 于 2011-10-09 13:35:42发表:

    有种拨开浓云间日月的 感觉

  14. bertie 于 2011-08-27 09:47:48发表:

    专门来学习

  15. wq413732076 于 2011-08-04 21:12:52发表:

    感谢楼主分享!我要学linux

  16. boysgc 于 2011-08-03 15:43:59发表:

    学习了,du没有查询meta data

  17. 破冰 于 2011-08-03 10:59:40发表:

    {:2_92:}
    了解了

  18. wq413732076 于 2011-08-02 20:50:39发表:

    很好的经验

  19. D调漫步 于 2011-08-02 10:08:21发表:

    感谢分享

  20. sliy58 于 2011-07-28 13:58:30发表:

    学习了

  21. beloo 于 2011-06-11 17:41:46发表:

    学习了

  22. cc4206 于 2011-06-09 09:23:26发表:

    7# Guin
    说得非常好啊

  23. dqwit 于 2011-05-31 21:29:10发表:

    牛B啊,谢谢楼主

  24. dqwit 于 2011-05-30 17:51:33发表:

    好好

  25. wudalang1981 于 2011-05-27 15:31:51发表:

    先顶了再说,感谢楼主哦,太感谢了

  26. Dmapleaves 于 2011-05-27 08:37:05发表:

    谢谢楼主 和各位达人

  27. woshizl12 于 2011-05-18 22:08:44发表:

    有不足。但仍学习

  28. Guin 于 2011-05-18 19:26:12发表:

    改了这个贴子,我对它更清晰了。

  29. 油炸大虾 于 2011-05-18 15:07:04发表:

    学习!学习

  30. xsqk 于 2011-05-08 11:46:50发表:

    和fdisk -l 察看有什么区别?

  31. txgc_wm 于 2011-05-07 23:02:52发表:

    不错!

  32. 大微一 于 2011-05-07 21:35:02发表:

    感谢楼主

  33. 大微一 于 2011-05-07 21:35:00发表:

    感谢楼主

  34. hyw322 于 2011-05-07 04:05:45发表:

    原来是这个样子的#¥%……

  35. xiaokouck 于 2011-05-07 00:24:34发表:

    好啊

  36. Rainbow1983 于 2011-05-05 22:06:45发表:

    学习

  37. Rainbow1983 于 2011-05-05 22:06:42发表:

    学习

  38. docter 于 2011-05-05 21:22:32发表:

    学习了,谢谢!

  39. zhugeafanti 于 2011-04-27 17:02:22发表:

    学习

  40. Guin 于 2011-04-26 18:33:36发表:

    du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /用于报告文件系统使用的块数。但是,我们可以发现从df命令算出的文件系统使用块数的值与通过du命令得出的值是不一致的。如下例:

    # df /home/
    文件系统 1K-块 已用 可用 已用% 挂载点
    /dev/sda12 17918756 370000 16638524 3% /home
    # du -s /home/
    193784 /home/

    分析结果:df结果中的已用量与du中的不一样,并且是df的结果要大。该值差异的存在是由于du与df命令实施上的不同: du -s命令报告的指定文件系统中的所有文件(目录、符号链接、普通文件)所占用的总块数,该值需要查询节点表获得;而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。

    文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。

    du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。

    du -s命令返回的值反映了分配给文件及目录的磁盘块数,而df命令则反映了文件系统的实际分配情况。df命令反映的实际情况包含了用户数据(文件及目录)和Meta Data。