现在我们知道磁盘的整体数据是在superblock区块中,但是每个各别档案的容量则在inode当中记载的。 那在文字接口底下该如何调出这几个数据呢?
—du:评估文件系统的磁盘使用量(常用在查看目录所占的容量)
[root@www ~]# du [-ahskm] 文件或目录的名称
选项与参数:
-a :列出所有的文件与目录容量,因为默认仅统计目录下面的子目录。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量,而不是列出每个各别的目录占用容量;
-S :不包括子目录下得总计,与-s有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
范例一:列出目前目录下所有文件容量
[root@www ~]# du
8 ./test4 <==每个目录都会列出来
8 ./test2
....中间省略....
12 ./.gconfd <==包括隐藏文件的目录
220 . <==这个目录(.)所占用的总量
# 直接输入du没有加任何选项时,则du会分析『目前所在目录』的文件与目录所占用的硬盘空间。但是,实际显示时,仅会显示目录的容量(不包含文件)
# 因此,目录中有很多文件没有被列出来,所以全部的目录相加不会等于.的容量。此外,输出癿数值数据为 1K 大小癿容量单位。
范例二:同范例一,但是将文件的容量也列出来
[root@www ~]# du -a
12 ./install.log.syslog <==有文档的列表
8 ./.bash_logout
8 ./test4
8 ./test2
....中间省略....
12 ./.gconfd
220 .
范例三:检查根目彔底下每个目录所占用的容量
[root@www ~]# du -sm /*
7 /bin
6 /boot
.....中间省略....
0 /proc
.....中间省略....
1 /tmp
3859 /usr <==系统初期最大就是他了啦!
77 /var
du 这个指令其实会直接到文件系统内去搜寻所有的档案数据, 所以上述第三个范例指令的运作会执行一小段时间!此外,在默认的情冴下,容量的输出是以 KB 来统计的。
—df:列出文件系统的整体磁盘使用量;
[root@www ~]# df [-ahikHTm] [目录或文件名]
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K的进位方式;
-T :连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以inode得数量来显示
范例一:将系统内所有的 filesystem 列出来!
[root@www ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hdc2 9920624 3823112 5585444 41% /
/dev/hdc3 4956316 141376 4559108 4% /home
/dev/hdc1 101086 11126 84741 12% /boot
tmpfs 371332 0 371332 0% /dev/shm
# 在 Linux 底下如果 df 没有加任何选项,那么默认会将系统内所有的(不含特殊内存文件系统内的文件系统与swap) 都以 1 Kbytes的容量来列出来!
范例二:将容量结果以易读癿容量格式显示出来
[root@www ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdc2 9.5G 3.7G 5.4G 41% /
/dev/hdc3 4.8G 139M 4.4G 4% /home
/dev/hdc1 99M 11M 83M 12% /boot
tmpfs 363M 0 363M 0% /dev/shm
#不同于范例一,这里会以 G/M 等容量格式显示出来,比较容易看啦!
范例三:将系统内的所有特殊文件格式及名称都列出来
[root@www ~]# df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/hdc2 ext3 9920624 3823112 5585444 41% /
proc proc 0 0 0 - /proc
sysfs sysfs 0 0 0 - /sys
devpts devpts 0 0 0 - /dev/pts
/dev/hdc3 ext3 4956316 141376 4559108 4% /home
/dev/hdc1 ext3 101086 11126 84741 12% /boot
tmpfs tmpfs 371332 0 371332 0% /dev/shm
none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs
# 系统里面其实还有很多特殊的文件系统存在的。那些比较特殊的文件系统几乎都是在内存当中,例如 /proc 这个挂载点。因此,这些特殊的文件系统都不会占据硬盘空间。
范例四:将 /etc下可用得磁盘容量以易读的容量格式显示
[root@www ~]# df -h /etc
Filesystem Size Used Avail Use% Mounted on
/dev/hdc2 9.5G 3.7G 5.4G 41% /
# 这个范例比较有趣一点啦,在 df 后面加上目录或者是档案时,df会自动的分析该目录或文件所在的partition ,并且将该 partition 的容量显示出来,
# 所以,您就可以知道某个目彔底下还有多少容量可以使用了! ^_^
范例五:将目前各个 partition 当中可用癿 inode 数量列出
[root@www ~]# df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/hdc2 2.5M 147K 2.3M 6% /
/dev/hdc3 1.3M 46 1.3M 1% /home
/dev/hdc1 26K 34 26K 1% /boot
tmpfs 91K 1 91K 1% /dev/shm
先来说明一下范例一所输出癿结果讯息为:
- Filesystem:代表该文件系统是在哪个 partition ,所以列出装置名称;
- 1k-blocks:说明底下的数字单位是 1KB 呦!可利用 -h 或-m 来改变容量;
- Used:顾名思义,就是使用掉的硬盘空间啦!
- Available:也就是剩下的磁盘空间大小;
- Use%:就是磁盘的使用率。
- Mounted on:就是磁盘挂载的目彔所在啦! (挂载点啦! )
由亍 df 主要读取的数据几乎都是针对一整个文件系统,因此读取的范围主要是在 Superblock 内的信息, 所以这个指令显示结果的速度也是非常的快速!在显示的结果中你需要特别留意的是那个根目录的剩余容量!