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返回的值才显示出减去了该文件后的文件系统的使用情况。

Linux下如何查看分区文件系统类型

1,fdisk -l

fdisk -l 只能列出硬盘的分区表、容量大小以及分区类型,但看不到文件系统类型。

2,df -h

df 命令是用来查看文件系统磁盘空间使用量的。但df 命令只会列出已挂载的文件系统信息,对于没有挂载的文件系统是查看不到的。使用这个命令可以很方便的查看已挂载的文件系统的空间使用量、剩余空间大小等信息。

3,parted

parted  is  a  disk  partitioning and partition resizing program.  It allows you to create, destroy, resize, move and copy ext2, linux-swap, FAT, FAT32, and reiserfs partitions.  It can create, resize, and move Macintosh HFS partitions, as  well  as  detect jfs,  ntfs,  ufs,  and  xfs partitions.  It is useful for creating space for new operating systems, reorganising disk usage, and copying data to new hard disks.
This manual
page documents parted briefly.  Complete documentation is distributed
with the package in GNU Info format; see  near the bottom.

parted命令就比较强大了,用parted命令可以对大于2TB的磁盘设备进行分区,以及创建GPT分区(而fdisk命令就办不到了)。

如果要查看 /dev/sda 各分区的文件系统类型,可以按照以下步骤来查看:

du和df命令的区别的更多相关文章

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

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

  2. du及df命令的使用

    在本文中,我将讨论 du 和 df 命令.du 和 df 命令都是 Linux 系统的重要工具,来显示 Linux 文件系统的磁盘使用情况.这里我们将通过一些例子来分享这两个命令的用法. du 命令 ...

  3. Linux du与df命令的差异

    今天上午查看磁盘空间,df命令查看的时候:93%,du命令查看的时候:90%.回想起昨天在用ftp传输过程中,rm掉文件,应该是文件虽然表明上删除掉了,但是空间实际是未释放的. 由于du与df命令实施 ...

  4. 使用du与df命令查看磁盘容量不一致

    在Linux系统的ECS实例中,执行du与df命令查看磁盘容量,出现不一致的现象 执行df -h命令查看文件系统的使用率,可以看到500G 执行du / -sh 命令只使用250G 执行du和df命令 ...

  5. linux du 与 df 命令

    du 命令:显示每个文件和目录的磁盘使用空间 命令格式:du [选项][文件] -k或--kilobytes  以KB(1024bytes)为单位输出. -m或--megabytes  以MB为单位输 ...

  6. Shell学习(十)——du、df命令

    一.du 命令 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all 显示目录中个别文件的大小. -b或-bytes 显示目录或文 ...

  7. linux包之coreutils之du和df命令

    [root@localhost ~]# rpm -qf /usr/bin/ducoreutils-8.4-31.el6.x86_64[root@localhost ~]# rpm -qf /bin/d ...

  8. [转]linux的du和df命令

    转自:http://blog.csdn.net/kmesg/article/details/6570800 今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一 ...

  9. linux的du和df命令

    今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一下吧.前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令. du查看 ...

随机推荐

  1. Android数据存储之SQLite

    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,占用资源非常少,只有几百KB内存.支持Windows/Linux ...

  2. 【注解】Annotation Target ElementType

    背景知识 Annotate.Annotation:注释.注解.批注.注 在java中,注解作为程序的元数据嵌入到程序当中,元数据标签的存在并不影响程序代码的编译和执行. 所谓Annotation就是提 ...

  3. Volley框架的介绍使用

    Volley是在2013年的Google I/O 2013大会上发布的,是我们的网络通信更快,更简单,更方便.对于初学者来讲是一个很好的框架. 简单来说,它提供了如下的便利功能: JSON,图像等的异 ...

  4. WordPress 后台评论如何自定义搜索条件

    大家都知道WordPress 作为一个非常成熟的博客系统,功能可以说是非常强大,几乎整个网站都可以进行定制开发,已经不算是一个博客系统了而应该是一个成熟的开发框架 最近就用WP给客户开发了一个网站,但 ...

  5. IStat Menus 5.02 5.03 的注册码

    1574-5977-7956-8062-0000 6015-5448-3282-4975-0000 9665-5955-6856-2071-0000 2447-9517-7939-5221-0000

  6. JSON字符串转换为Map

    本文是利用阿里巴巴封装的FastJSON来转换json字符串的.例子如下: package com.zkn.newlearn.json; import com.alibaba.fastjson.JSO ...

  7. 4667 Building Fence 解题报告

    题意:给n个圆和m个三角形,且保证互不相交,用一个篱笆把他们围起来,求最短的周长是多少. 解法1:在每个圆上均匀的取2000个点,求凸包周长就可以水过. 解法2:求出所有圆之间的外公切线的切点,以及过 ...

  8. 在网页浏览器中原生显示PDF文件

    在网页中直接显示pdf格式的文件方便阅读.但是如果文件较大加载速度会很慢,另外如果客户端没有安装pdf阅读插件的话,也就看不了了. 这种方式的好处就是不需要转换,直接显示,而且在加载时(高级的浏览器, ...

  9. Nginx的负载均衡的几种方式

    Nginx的负载均衡的那点事 本节就聊聊采用Nginx负载均衡之后碰到的问题: Session问题 文件上传下载 通常解决服务器负载问题,都会通过多服务器分载来解决.常见的解决方案有: 网站入口通过分 ...

  10. 设定StatusBar的文字成不同的颜色

    设定StatusBar上的文字,该文字以StatusBar所在Form的字型设定为准,并以form的ForeColor为字的颜色,文字过长时,自动会截除这个程式的实质意义不太大,因为当文字被盖掉後需自 ...