du 和 df命令的区别(超赞)

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

如下例: 
# du -s /tmp 返回如下值: 
---12920 /tmp 
而 df /tmp返回如下值: 
Filesystem --512-blocks-- Free --%Used --Iused-- %Iused --Mounted on 
/dev/hd3 --------57344 --42208--- 26% ----391 ------4% --/tmp 

从上面的值我们可以算出<total from df> - <Free from df> = <used block count>: 57344 - 42208 = 15136. 而15136大于12920该值差异的存在是由于du与df命令实施上的不同: du -s命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。 
文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。 
du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Datadf命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。例如,一个frag=4096 并且 nbpi=4096的空的大小为4MB的日志文件系统中Meta Data的分配情况如下: 
1 4k block for the LVM 
2 4k super blocks 
2 4k blocks for disk maps 
2 4k blocks for inode maps 
2 4k blocks for .indirect 
32 4k blocks for inodes 
------------------------- 
41 4k blocks for meta data on an empty 4MB file system 

对于AIX 4.X版本: 
执行 du /foo返回的结果如下: 
----8 -------/foo/lost+found 
----16 ------/foo 
要使du命令输出的结果与df命令输出的结果匹配,我们必须要加上Meta Data。首先,将41个4k的块转换为以512字节为单位的值: 
41 * 8 = 328 
328(meta data) + 16(from du) = 344 
所以有344个以512字节为单位的块分配给了这个空的文件系统。 

而使用 df /foo命令我们可以得到下面的结果: 
Filesystem --512-blocks --Free --%Used --Iused---%Iused --Mounted on 
/dev/lv01 ------8192 -----7848 -----5% -----16 -----2% ----/foo 
从中我们可以得到该文件系统使用的块数:8192(total blocks) - 7848(free blocks) = 344。该值与上面得出的值一致。 

上面的换算方法对于空的文件系统很容易实现,但是对于非空的文件系统,由于Meta Data中文件间接块的大小不定,因此较难实现。所以我们不需要查看du 与 df返回的值的匹配关系,而只需要了解du -s命令返回的值反映了分配给文件及目录的磁盘块数,而df命令则反映了文件系统的实际分配情况。df命令反映的实际情况包含了用户数据(文件及目录)和Meta Data。 

另一个表现出du与df命令不同之处的例子如下: 
如果用户删除了一个正在运行的应用所打开的某个目录下的文件,则du命令返回的值显示出减去了该文件后的目录的大小。但df命令并不显示减去该文件后的大小。直到该运行的应用关闭了这个打开的文件,df返回的值才显示出减去了该文件后的文件系统的使用情况。

时间: 2024-09-20 05:51:12

du 和 df命令的区别(超赞)的相关文章

linux du df 命令详解

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://navyaijm.blog.51cto.com/4647068/877551   du和df的区别: du 统计文件大小相加,df  统计数据块使用情况,如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放.直到这个打开大文件的进程被Kill掉.我们碰到的问 题是,我们在定期删除 /var/spo

真的超赞!用systemd命令来管理linux系统!

真的超赞!用systemd命令来管理linux系统! Systemd是一种新的linux系统服务管理器. 它替换了init系统,能够管理系统的启动过程和一些系统服务,一旦启动起来,就将监管整个系统.在本文中,我们用的是安装有 systemd 216 版本的centos 7.0,其最新版本可以从 freedesktop.org 下载得到. 因为linux操作系统里出现的这一个新人,PID 1被"systemd"占据了,这能通过pstree命令看到. [root@linoxide ~]#

linux命令df中df -h和df -i的区别

在这里先讲讲linux命令df的资料: df 命令: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间.如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示.默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示.

linux下磁盘容量和df命令原理

df命令是linux下查看磁盘容量的常用命令.可以列出block数量,总容量,使用率等.这次使用python编写一个类似功能的模块,顺便学习一下df的原理. 直接输入df命令可以看到 Filesystem 1k-blocks Used Available Use% Mounted on 磁盘设备 blocks个数 使用的容量 有效容量 空闲率 挂载点 接下来就是这些参数怎么来的问题. /etc/mtab文件 /etc/mtab可以读出的是已经挂载的盘的信息,包括磁盘设备,挂载点,文件系统类型等.

一天一个shell命令 linux好管家--磁盘--df命令详解_linux shell

df命令 磁盘管理 df命令用于显示磁盘分区上的可使用的磁盘空间.默认显示单位为KB.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 语法 df(选项)(参数) 选项 -a或--all:包含全部的文件系统: --block-size=<区块大小>:以指定的区块大小来显示区块数目: -h或--human-readable:以可读性较高的方式来显示信息: -H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes: -i或--inod

图解Linux命令:用df命令查看磁盘分区

对于一位计算机用户,日复一日在磁盘中存储.移动.删除各类文件.当然会关心磁盘空间的使用情况.在 Linux 中有一个 Shell 可以让用户随时随地对磁盘空间的使用情况一清二楚.它就是"df"命令. 我们试着在终端中输入 df 看看会显示什么. 天哪,东西很多,很详细.但是那些数字这么长,我是不是得用很多时间也想明白磁盘有多少空间呢?也许 df 命脉的 -h 参数能帮助您.我们试着在终端中输入 df -h. 现在是不是清楚多了?但是我想知道这些个分区是哪种文件系统怎么办?也许有个参数能

超赞的jQuery幻灯插件 附下载

应朋友的邀请,帮他公司做jQuery缩略图正中间的为当前播放到的图片,两边呈发散状,逐渐缩小并降低透明度.假设当前正播放到第0张图片,则排列情况如下: 缩略图正中间的为当前播放到的图片,两边呈发散状,逐渐缩小并降低透明度.假设当前正播放到第0张图片,则排列情况如下: 0 1 4 2 3 按逆时针方向转一张图后的排列情况如下: 4 0 3 1 2 这个只是缩略图的播放效果,缩略图轮转时,后面有对应大图跟着从右到左滚进,并且大图进入的速度要对应着缩略图轮转,整体效果如下: 一个幻灯播放效果,效果如下

linux基础命令(33) df命令

linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令 来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命令功能: 显示指定磁盘文件的可用空间.如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示.默 认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示 3.命令参数: 必要参数: -a 全部文件系统列表

photoshop如何打造超赞的怀旧风驯鹿海报传单

             photoshop如何打造超赞的怀旧风驯鹿海报传单 分类: PS入门教程