我是靠谱客的博主 丰富蓝天,最近开发中收集的这篇文章主要介绍df命令,你真的会了么?用人们可读的方式展示展示Inode使用情况包含或排除特定的文件系统类型显示一个具体的挂载点磁盘使用情况显示虚拟文件系统的信息df和du的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在Linux上我们可以用df命令来查看磁盘使用空间。那df命令,你真的会了么?

[dev@dev ~]$ df 
Filesystem      1K-blocks      Used  Available Use% Mounted on
devtmpfs         65921392         0   65921392   0% /dev
tmpfs            65931940         0   65931940   0% /dev/shm
tmpfs            65931940   1314156   64617784   2% /run
tmpfs            65931940         0   65931940   0% /sys/fs/cgroup
/dev/vda2        52212716  47855272    4357444  92% /
/dev/vdc       1056758196    122124 1002932600   1% /data1
/dev/vdb1      1031986328 547201512  432339684  56% /data
/dev/vda1          201380    193228       8152  96% /boot
tmpfs            13186388         0   13186388   0% /run/user/1008
tmpfs            13186388         0   13186388   0% /run/user/0

df命令可以展示任何“mounted”文件系统的磁盘利用率。该命令可以用不同的方式调用。这里有一些有用的 df 命令例子.

用人们可读的方式展示

默认情况下,df命令用1K为块来展示磁盘空间,这看起来不是很直观。“-h”参数使df用更可读的方式打印磁盘空间(例如 100K,200M,3G)。

[dev@dev ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         63G     0   63G   0% /dev
tmpfs            63G     0   63G   0% /dev/shm
tmpfs            63G  1.3G   62G   2% /run
tmpfs            63G     0   63G   0% /sys/fs/cgroup
/dev/vda2        50G   46G  4.2G  92% /
/dev/vdc       1008G  120M  957G   1% /data1
/dev/vdb1       985G  522G  413G  56% /data
/dev/vda1       197M  189M  8.0M  96% /boot
tmpfs            13G     0   13G   0% /run/user/1008
tmpfs            13G     0   13G   0% /run/user/0

展示Inode使用情况

当你监视磁盘使用情况时,你必须注意的不仅仅是磁盘空间还有“inode”的使用情况。在Linux中,inode是用来存储特定文件的元数据的一种数据结构,在创建一个文件系统时,inode的预先定义数量将被分配。这意味着,一个文件系统可能耗尽空间不只是因为大文件用完了所有可用空间,也可能是因为很多小文件用完了所有可能的inode。用“-i”选项展示inode使用情况。

[dev@dev ~]$ df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
devtmpfs       16480348    396 16479952    1% /dev
tmpfs          16482985      1 16482984    1% /dev/shm
tmpfs          16482985   1334 16481651    1% /run
tmpfs          16482985     16 16482969    1% /sys/fs/cgroup
/dev/vda2       9226704 506779  8719925    6% /
/dev/vdc       67108864    127 67108737    1% /data1
/dev/vdb1      65536000 401677 65134323    1% /data
/dev/vda1         16752    347    16405    3% /boot
tmpfs          16482985      1 16482984    1% /run/user/1008
tmpfs          16482985      1 16482984    1% /run/user/0

展示文件系统类型

默认情况下,df命令不显示文件系统类型信息。用“-T”选项来添加文件系统信息到输出中。

[dev@dev ~]$ df -T
Filesystem     Type      1K-blocks      Used  Available Use% Mounted on
devtmpfs       devtmpfs   65921392         0   65921392   0% /dev
tmpfs          tmpfs      65931940         0   65931940   0% /dev/shm
tmpfs          tmpfs      65931940   1314156   64617784   2% /run
tmpfs          tmpfs      65931940         0   65931940   0% /sys/fs/cgroup
/dev/vda2      xfs        52212716  47858292    4354424  92% /
/dev/vdc       ext4     1056758196    122124 1002932600   1% /data1
/dev/vdb1      ext4     1031986328 547207712  432333484  56% /data
/dev/vda1      xfs          201380    193228       8152  96% /boot
tmpfs          tmpfs      13186388         0   13186388   0% /run/user/1008
tmpfs          tmpfs      13186388         0   13186388   0% /run/user/0

包含或排除特定的文件系统类型

如果你想知道特定文件系统类型的剩余空间,用“-t ”选项。你可以多次使用这个选项来包含更多的文件系统类型。

[dev@dev ~]$ df -t ext4
Filesystem      1K-blocks      Used  Available Use% Mounted on
/dev/vdc       1056758196    122124 1002932600   1% /data1
/dev/vdb1      1031986328 547210144  432331052  56% /data

排除特定的文件系统类型,用“-x ”选项。同样,你可以用这个选项多次来排除多种文件系统类型。

[dev@dev ~]$ df -x ext4
Filesystem     1K-blocks     Used Available Use% Mounted on
devtmpfs        65921392        0  65921392   0% /dev
tmpfs           65931940        0  65931940   0% /dev/shm
tmpfs           65931940  1314156  64617784   2% /run
tmpfs           65931940        0  65931940   0% /sys/fs/cgroup
/dev/vda2       52212716 47853948   4358768  92% /
/dev/vda1         201380   193228      8152  96% /boot
tmpfs           13186388        0  13186388   0% /run/user/1008
tmpfs           13186388        0  13186388   0% /run/user/0

显示一个具体的挂载点磁盘使用情况

如果你用df指定一个挂载点,它将报告挂载在那个地方的文件系统的磁盘使用情况。如果你指定一个普通文件(或一个目录)而不是一个挂载点,df将显示包含这个文件(或目录)的文件系统的磁盘利用率。

[dev@dev ~]$ df /
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/vda2       52212716 47854568   4358148  92% /
[dev@dev ~]$ df /dev -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         63G     0   63G   0% /dev

显示虚拟文件系统的信息

如果你想显示所有已经存在的文件系统(包括虚拟文件系统)的磁盘空间信息,用“-a”选项。这里,虚拟文件系统是指没有相对应的物理设备的假文件系统,例如,tmpfs,cgroup虚拟文件系统或FUSE文件安系统。这些虚拟文件系统大小为0,不用“-a”选项将不会被报告出来。

[dev@dev ~]$ df -a
Filesystem      1K-blocks      Used  Available Use% Mounted on
sysfs                   0         0          0    - /sys
proc                    0         0          0    - /proc
devtmpfs         65921392         0   65921392   0% /dev
securityfs              0         0          0    - /sys/kernel/security
tmpfs            65931940         0   65931940   0% /dev/shm
devpts                  0         0          0    - /dev/pts
tmpfs            65931940   1314156   64617784   2% /run
tmpfs            65931940         0   65931940   0% /sys/fs/cgroup
cgroup                  0         0          0    - /sys/fs/cgroup/systemd
pstore                  0         0          0    - /sys/fs/pstore
cgroup                  0         0          0    - /sys/fs/cgroup/perf_event
cgroup                  0         0          0    - /sys/fs/cgroup/cpu,cpuacct
cgroup                  0         0          0    - /sys/fs/cgroup/memory
cgroup                  0         0          0    - /sys/fs/cgroup/pids
cgroup                  0         0          0    - /sys/fs/cgroup/devices
cgroup                  0         0          0    - /sys/fs/cgroup/net_cls,net_prio
cgroup                  0         0          0    - /sys/fs/cgroup/hugetlb
cgroup                  0         0          0    - /sys/fs/cgroup/freezer
cgroup                  0         0          0    - /sys/fs/cgroup/blkio
cgroup                  0         0          0    - /sys/fs/cgroup/cpuset
configfs                0         0          0    - /sys/kernel/config
/dev/vda2        52212716  47855284    4357432  92% /
systemd-1               -         -          -    - /proc/sys/fs/binfmt_misc
debugfs                 0         0          0    - /sys/kernel/debug
hugetlbfs               0         0          0    - /dev/hugepages
mqueue                  0         0          0    - /dev/mqueue
/dev/vdc       1056758196    122124 1002932600   1% /data1
/dev/vdb1      1031986328 547220260  432320936  56% /data
/dev/vda1          201380    193228       8152  96% /boot
sunrpc                  0         0          0    - /var/lib/nfs/rpc_pipefs
tmpfs            13186388         0   13186388   0% /run/user/1008
tmpfs            13186388         0   13186388   0% /run/user/0
binfmt_misc             0         0          0    - /proc/sys/fs/binfmt_misc

df和du的区别

当我们使用这两个命令分别查看根目录大小的时候,是不是用du命令查看速度非常慢,因为du命令会扫描整个目录,最终显示这个目录文件的大小,所以会非常占用系统资源,所以du命令不要在服务器的高峰期进行查看。然后我们还发现用两个命令查看根目录大小竟然不同,什么原因?下面是他们的区别:

1、df命令是从文件系统考虑的,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间;

也就是说df命令不但把这个目录下所有文件的大小都统计在内,而且还把这个目录所有的正在运行的进程以及没有删除干净的缓存文件都计算在内。所以用df命令查看的结果会更准确。

2、du命令是面向文件的,只会计算文件或目录占用的空间。

而du命令查看的只是这个目录下所有文件占用的空间而已。那么就会出现一种情况,比如一台服务器一年都没有重启一次,那么你就会发现用df命令查看的时候根目录已经占用几百G了,但是用du命令查看可能才占用几十G,相差非常多。因为服务器在一直不重启动的情况下,每天都会有一些未释放的进程,或者被删除而没有释放的临时文件,所以日积月累时间长了就会积攒非常多的垃圾程序导致占用空间。

最后

以上就是丰富蓝天为你收集整理的df命令,你真的会了么?用人们可读的方式展示展示Inode使用情况包含或排除特定的文件系统类型显示一个具体的挂载点磁盘使用情况显示虚拟文件系统的信息df和du的区别的全部内容,希望文章能够帮你解决df命令,你真的会了么?用人们可读的方式展示展示Inode使用情况包含或排除特定的文件系统类型显示一个具体的挂载点磁盘使用情况显示虚拟文件系统的信息df和du的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部