【Linux】重要指令df和du

指令df和du

磁盘与目录的容量:

我们知道磁盘的整体数据是在 superblock 区块中,但是每个各别档案的容量则在 inode 当中记载的。那么在文字接口底下该如何叫出这几个数据呢? 底下就让我们看看这两个指令 :

  • df : 列出文件系统的整体磁盘使用量
  • du : 评估文件系统的磁盘使用量(常用在推估所占用量)

df

[root@www ~]$ df [-ahikHTm] 目录或文件名
选项与参数 :
-a : 列出所有的文件系统,包括系统特有的/proc 等文件系统
-k : 以KBytes的容量显示各文件系统
-m : 以MBytes 的容量显示各文件系统
-h : 以人们较易阅读的 GBytes, MBytes, KBytes等格式自行显示
-H : 以M =1000k 取代 M =1024k 的进位方式
-T : 连同该partition的 filesystem 名称也列出
-i : 不用硬盘容量,而以inode 的数量来显示

我们可以通过几个选项和参数进一步了解df

范例一: df 将系统内所有的 filesystem 列出来

是S·
结果讯息:
文件系统:代表文件系统是在哪个partion, 所以列出装置名称 。
1k -块 :说明底下的数字单位是1kb ,可利用-h 或 -m来改变容量 。
已用 : 使用掉的硬盘空间
可用 : 也就是剩下的磁盘空间大小
已用% : 就是磁盘的使用率,如果使用率高达90%以上时,免得容量不足造成系统问题
挂载点 : 就是磁盘挂载的目录。

^^小结
在Linux底下如果df不加任何选项,那么默认会将系统所有的(不含特殊内存的文件系统与swap)都以1Kbytes的容量来列出来 ,/dev/shm 是与内存有关的挂载 ^ _ ^

范例二:df -h 将容量结果以容易阅读的容量格式显示出来

在这里插入图片描述
^^小结
不同于范例一,这里会以G/M等容量格式显示出来,比较容易看 。^ _ ^

范例三: df -aT 将系统内所有特殊文件格式及名称都列出来

在这里插入图片描述
^^小结
系统里面其实还有很多特殊的文件系统存在的。那些比较特殊的文件系统几乎都在内存当中,例如/proc 这个挂载点。因此,这些特殊的文件系统都不会占据硬盘空间的。^ _ ^

范例四: df -h 将/etc底下的可用磁盘容量以易读的容量格式显示

在这里插入图片描述
^^小结
在df后面加上目录或者是档案时,df会自动的分析该目录或档案所在的partition,并将该partition的容量显示出来。所以,你就可以知道某个目录底下还有多少容量可以使用了 !^ _ ^

范例五: 将目前各个partition当中可用的inode数量列出

在这里插入图片描述
^^小结
这个范例主要列出可用的inode剩余量与总容量。与范例一的关系是,通常inode的数量剩余都会比block还要多^ _ ^

df 使用注意的地方

  1. 由于df主要读取的数据几乎都是针对一整个文件系统,因此读取的范围主要是在Superblock内的信息,所以这个指令显示结果的速度非常的快速!在显示结果中你要特别留意的是那个根目录的剩余容量!因为我们所有的数据都是由根目录衍生出来的,因此当根目录的剩余容量剩下0时,那你的Linux可能就问题很大了。
  2. 如果使用-a 这个参数的时候, 系统会出现/proc这个挂载点,但是里面的东西都是0, 不要紧张! /proc的东西都是Linux系统所需要加载的系统数据,而且是挂在在【内存当中】的,所以当然没有占任何的硬盘空间!
  3. 至于那个/dev/shm/目录, 其实是利用内存虚拟出来的磁盘空间! 由于是透过内存仿真出来的磁盘,因此你在这个目录下建立任何数据文件时,访问速度是非常快速的! 不过, 由于它是内存仿真出来的,因此这个文件系统的大小在每部主机上都不一样,而且建立的东西在下次开机时就消失了!因为是在内存中。

du

[root@www ~]$ du [-ahskm] 档案或目录名称
选项与参数:
-a : 列出所有的档案与目标容量,因为默认仅统计目录底下的档案量而已
-h :以人们较易读的容量格式(G/M)显示
-s :列出总量而已,而不列出每个各别的目录占用容量
-S :不包括子目录下的总计, 与-s有点差别
-k :以KBytes列出容量显示;
-m :以MBytes列出容量显示;

我们可以通过几个选项和参数进一步了解du

范例一:du 列出目前目录下的所有档案容量(每个目录都会列出来)

在这里插入图片描述

^^小结
直接输入du没有加任何选项时,du会分析【目前所在目录】的档案与目录所占用的硬盘空间。但是,实际显示时, 仅会显示目录容量(不含档案),因此,目录有很多的档案没有被列出来,所以全部的目录相加不会等于 . 的容量
此外, 输出的数值数据都是为1k大小的容量单位。

范例二:(du -a) 同范例一,但是将档案的容量也列出来了(有档案的列表了 )

在这里插入图片描述

范例三:du -sm 检查根目录下每个目录所占用的容量

在这里插入图片描述

^^小结
这是个很常被使用的功能~利用通配符*代表每个目录,如果想要检查某个目录下哪个次目录占用最大的容量,可以用这个方法找出来。
值得注意的是, 如果刚刚安装好Linux时, 那么整个系统容量最大的应该是/usr ;而/proc虽然列出容量,但是那个容量是在内存中,不占硬盘空间。

du使用注意的地方

  1. 与 df 不一样的是, du这个指令会直接到文件系统内去搜索所有的档案数据,所以上述3个范例指令的动作会执行一小段时间!此外,在默认的情况下, 容量的输出是以KB来设计的,如果你想知道占用了多少MB,那么就是用-m的参数 ! 如果你想知道该目录占用了多少容量的话,使用-s就可以了 !

  2. 至于-S 这个选项部分, 由于du默认会将所有的档案大小均列出, 因此假设你在/etc 底下使用du 时, 所有档案的大小, 包括/etc 底下的次目录容量也会被计算一次。然后最终的容量(/etc)也会加总一次,因此会误会du分析结果不太对劲。所以, 如果想要列出某目录下的全部数据,或许加上-S选项,减少目录的加总。 ^ _ ^

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值