赞
踩
Linux 查看磁盘空间可以使用 df 和 du 命令。
df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示:
显示内容参数说明:
相关命令:
du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于查看当前目录的总大小。
例如查看当前目录的大小:
# du -sh
605M .
显示指定文件所占空间:
# du log2012.log
300 log2012.log
方便阅读的格式显示test目录所占空间情况:
# du -h test
608K test/test6
308K test/test4
4.0K test/scf/lib
4.0K test/scf/service/deploy/product
4.0K test/scf/service/deploy/info
12K test/scf/service/deploy
16K test/scf/service
4.0K test/scf/doc
4.0K test/scf/bin
32K test/scf
8.0K test/test3
1.3M test
du 命令用于查看当前目录的总大小:
df命令的英文全称即“Disk Free”,主要用于显示操作系统的可用的磁盘空间。
一般情况下,默认单位为KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。
日常工作中,主要用该命令查看磁盘被占用了多少空间、还剩多少空间等信息。
依据惯例,我们还是先查看帮助,使用 df --help
[root@doc ~]# df --help
为了更直观一些,我们把查出来的参数用表格来展示:
参数 | 描述 |
---|---|
GNU 参数说明 | |
-a, | 列出包括BLOCK为0的文件系统 |
–block-size=SIZE | 指定块的大小 |
-h,–huma-readable | 用常见的格式显示出大小(例如:1K 234M 2G) |
-H,–si" | 同上,但是这里的1k等于1000字节而不是1024字节 |
-i, --inodes | 用信息索引点代替块表示使用状况 |
-k, --kilobytes | 指定块大小等于1024字节来显示使用状况 |
-l, --local | 只显示本地文件系统使用状况 |
-m, --megabytes | 以指定块大小等于1048576字节(1M)来显示使用状况 |
-t, --type=TYPE | 只显示指定类型(TYPE)的文件系统 |
-T, --print-type | 输出每个文件系统的类型 |
-x, --exclude-type=TYPE | 只显示指定类型(TYPE)之外的文件系统. |
–help | 输出该命令的帮助信息并退出 |
有了具体的参数之后,我们再来看实战案例:
此时,无需加任何参数,默认是KB为单位
上述代码,执行df后显示的没一列的信息入下表:
列数 | 描述 |
---|---|
第一列 | 代表文件系统对应的设备文件的路径名(一般是硬盘上的分区) |
第二列 | 给出分区包含的数据块(1024字节)的数目 |
第三列 | 已经使用的块数 |
第四列 | 还可以使用的块数 |
第五列 | 普通用户空间使用的百分比 |
第六列 | Mounted on列表示文件系统的挂载点 |
这里需要注意的是:
第3,4列块数之和不等于第2列中的块数。
这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,让管理员仍能登录和留有解决问题所需的工作空间
所谓的常见格式指的是K,M, G 等单位。
这里用到-h参数,,–human-readable ,人类易读的信息
我们也经常用这个方法查看 光盘的挂载镜像位置和是否已经挂载,本文中是挂载到了/mnt
有的小伙伴会发现个问题,这里的大小好像并不等于磁盘总数, 这是因为: df -H 显示的时候,默认让1k等于1000字节,而不是1024字节,所以会有误差。
此处使用-a 参数,列出包括BLOCK为0的文件系统
[root@doc ~]# df -a
说明:系统里面存在很多特殊的文件系统,这些比较特殊的文件系统几乎都是在内存当中,(如/proc挂载点),所以,这些特殊文件系统都不会占据硬盘空间。
此时可以直接在df后面跟上想要显示的文件分区名字
案例一: 展示/dev/sr0分区
df /dev/sr0
知道这个用法之后,我们在后面写脚本的时候,就多了一种截取思路。一旦发现某个磁盘使用率超过了指定值,就可以单独显示这个分区的情况,不至于受其他磁盘的干扰。
这里我们用到-i参数,用于显示inode号:
[root@doc ~]# df -i
工作中有时候我们会遇到磁盘有空间,但显示磁盘不足,无法创建文件的情况,很大程度上是因为inode号不足了。 这时候就可以使用df -i查看inode是否有剩余。
如果要列出每个磁盘的inode情况,可以使用 -ai
[root@doc ~]# df -ai
-T参数可以输出文件系统的类型,这里可以使用df -T 参数
文件系统类型有: XFS, EXT系列,以及上面代码的iso9660和一些不常见的文件类型,比如tmpfs
此时可以用 --lock-size来指定大小,比如指定为1M ,就可以使用 block-size 1m
登录后复制
# 我们先来看不指定大小的情况 [root@mufenggrow ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 17G 4.4G 13G 26% / devtmpfs 894M 0 894M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmpfs 910M 19M 892M 3% /run tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/sda1 1014M 179M 836M 18% /boot tmpfs 182M 8.0K 182M 1% /run/user/42 tmpfs 182M 56K 182M 1% /run/user/0 /dev/sr0 4.3G 4.3G 0 100% /mnt 文件系统 1M-块 已用 可用 已用% 挂载点 # 再查看指定大小的情况 [root@mufenggrow ~]# df --block-size 1m 文件系统 1M-块 已用 可用 已用% 挂载点 /dev/mapper/centos-root 17394 4423 12972 26% / devtmpfs 894 0 894 0% /dev tmpfs 910 0 910 0% /dev/shm tmpfs 910 19 892 3% /run tmpfs 910 0 910 0% /sys/fs/cgroup /dev/sda1 1014 179 836 18% /boot tmpfs 182 1 182 1% /run/user/42 tmpfs 182 1 182 1% /run/user/0 /dev/sr0 4376 4376 0 100% /mnt1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.
你会发现,自己指定大小后,就不会出现 G和M单位混用了,而是全部都使用M来显示,统一了单位,我们写脚本的时候,就无需进行单位的换算了。
当然如果不关心磁盘使用量,只想看看磁盘的大小,可以使用lsblk命令
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。