Linux命令之df

本文发布时间: 2019-Mar-22
df命令与du命令极其相似,只不过前者用来显示整个系统的磁盘使用情况,而后者更侧重某个具体的文件或目录。它们的选项也是类似的,比如-a -B -h -k。先看一个例子:m@sys:~/blog$ df文件系统 1K-blocks 已用 可用 已用% 挂载点/dev/sda1 249893748 7631632 229545216 4% /none 4 0 4 0% /sys/fs/cgroupudev 2007232 4 2007228 1% /devtmpfs 403372 1388 401984 1% /runnone 5120 0 5120 0% /run/locknone 2016840 12320 2004520 1% /run/shmnone 102400 200 102200 1% /run/user/dev/sda5 211338616 39504140 161075976 20% /home/dev/sda7 4672640 213176 4199064 5% /bootdf后面不加任何参数的情况下,默认把所有的在磁盘上存在的文件系统列出来。注意,还有一些文件系统是所谓的虚拟文件系统,它们并不使用磁盘上的空间,而是驻留在内存中。 观察输出的信息,分为5列:第一列是代表文件系统对应的设备文件的路径名(以/dev开头的是硬盘上的分区,类似与windows下的盘符,其他的我们先不深究);第二、三、四列分别以1K为单位显示出文件系统的总大小、已使用的大小和未使用的大小;第五列为未使用空间所占比例;第六列是挂载点。 我们发现,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。下面就是各个选项:-a:显示包括驻留在内存中的文件系统m@sys:~$ df -a文件系统 1K-blocks 已用 可用 已用% 挂载点/dev/sda1 249893748 7631636 229545212 4% /proc 0 0 0 - /procsysfs 0 0 0 - /sysnone 4 0 4 0% /sys/fs/cgroupnone 0 0 0 - /sys/fs/fuse/connectionsnone 0 0 0 - /sys/kernel/debugnone 0 0 0 - /sys/kernel/securityudev 2007232 4 2007228 1% /devdevpts 0 0 0 - /dev/ptstmpfs 403372 1332 402040 1% /runnone 5120 0 5120 0% /run/locknone 2016840 16040 2000800 1% /run/shmnone 102400 44 102356 1% /run/usernone 0 0 0 - /sys/fs/pstore/dev/sda5 211338616 39501184 161078932 20% /home/dev/sda7 4672640 213176 4199064 5% /bootbinfmt_misc 0 0 0 - /proc/sys/fs/binfmt_miscsystemd 0 0 0 - /sys/fs/cgroup/systemdgvfsd-fuse 0 0 0 - /run/user/1000/gvfs可以看到,多出来的那部分文件系统其第二列都是0,即不占用磁盘空间。-T:显示文件系统类型m@sys:~$ df -T文件系统 类型 1K-blocks 已用 可用 已用% 挂载点/dev/sda1 ext4 249893748 7631636 229545212 4% /none tmpfs 4 0 4 0% /sys/fs/cgroupudev devtmpfs 2007232 4 2007228 1% /devtmpfs tmpfs 403372 1332 402040 1% /runnone tmpfs 5120 0 5120 0% /run/locknone tmpfs 2016840 16040 2000800 1% /run/shmnone tmpfs 102400 44 102356 1% /run/user/dev/sda5 ext4 211338616 39501180 161078936 20% /home/dev/sda7 ext4 4672640 213176 4199064 5% /boot我们可以看到,那些比较奇怪的文件系统,其类型大多是tmpfs。-h:以人类可读的方式显示大小m@sys:~$ df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda1 239G 7.3G 219G 4% /none 4.0K 0 4.0K 0% /sys/fs/cgroupudev 2.0G 4.0K 2.0G 1% /devtmpfs 394M 1.4M 393M 1% /runnone 5.0M 0 5.0M 0% /run/locknone 2.0G 16M 2.0G 1% /run/shmnone 100M 44K 100M 1% /run/user/dev/sda5 202G 38G 154G 20% /home/dev/sda7 4.5G 209M 4.1G 5% /boot这下终于明白了-h的具体含义:不足1K的,直接显示字节数,没有单位;不足1M的,以K为单位;不足1G的,以M为单位…以此类推。-H:容量单位切换为工业标准,即1KB=1000Bytes,1M=1000KB等等m@sys:~/program/C_codes$ df -H文件系统 容量 已用 可用 已用% 挂载点/dev/sda1 256G 7.9G 236G 4% /none 4.1k 0 4.1k 0% /sys/fs/cgroupudev 2.1G 4.1k 2.1G 1% /devtmpfs 414M 1.4M 412M 1% /runnone 5.3M 0 5.3M 0% /run/locknone 2.1G 17M 2.1G 1% /run/shmnone 105M 46k 105M 1% /run/user/dev/sda5 217G 41G 165G 20% /home/dev/sda7 4.8G 219M 4.3G 5% /boot-i:显示inode的使用情况,而非容量m@sys:~/program/C_codes$ df -i文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点/dev/sda1 15876096 423503 15452593 3% /none 213796 2 213794 1% /sys/fs/cgroupudev 208992 511 208481 1% /devtmpfs 213796 534 213262 1% /runnone 213796 5 213791 1% /run/locknone 213796 67 213729 1% /run/shmnone 213796 27 213769 1% /run/user/dev/sda5 13434880 120394 13314486 1% /home/dev/sda7 305216 333 304883 1% /boot当你监视磁盘使用情况时,你必须注意的不仅仅是磁盘空间还有“inode”的使用情况。在Linux中,inode是用来存储特定文件的元数据的一种数据结构,在创建一个文件系统时,inode的预先定义数量将被分配。这意味着,一个文件系统可能耗尽空间不只是因为大文件用完了所有可用空间,也可能是因为很多小文件用完了所有可能的inode。–total:显示磁盘总利用率m@sys:~/program/C_codes$ df -h --total文件系统 容量 已用 可用 已用% 挂载点/dev/sda1 239G 7.3G 219G 4% /none 4.0K 0 4.0K 0% /sys/fs/cgroupudev 2.0G 4.0K 2.0G 1% /devtmpfs 394M 1.4M 393M 1% /runnone 5.0M 0 5.0M 0% /run/locknone 2.0G 17M 2.0G 1% /run/shmnone 100M 44K 100M 1% /run/user/dev/sda5 202G 38G 154G 20% /home/dev/sda7 4.5G 209M 4.1G 5% /boottotal 449G 46G 381G 11% --k、-m:-k其实是df默认的选项,而-m就是以1M为单位显示容量。-B:更改更具体的显示单位,比如-B 2K,-B 3MB等,和在du中用法相同。完。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:09pm
栏目列表