在 Linux 下你所不知道的 df 命令的那些功能

问题: 我知道在Linux上我可以用df命令来查看磁盘使用空间。你能告诉我df命令的实际例子使我可以最大限度得利用它吗?

在 Linux 下你所不知道的 df 命令的那些功能

对于磁盘存储方面,有很多命令行或基于GUI的工具,它可以告诉你关于当前磁盘空间的使用情况。这些工具用各种人们可读的格式展示磁盘利用率的详细信息,比如易于理解的总结,详细的统计信息或直观的可视化报告。如果你只想知道不同文件系统有多少空闲的磁盘空间,那么df命令可能是你所需要的。

在 Linux 下你所不知道的 df 命令的那些功能

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

用人们可读的方式展示

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

  1. $ df -h

  1. FilesystemSizeUsedAvailUse%Mounted on
  2. /dev/mapper/Ubuntu-root 909G565G299G66%/
  3. none 4.0K04.0K0%/sys/fs/cgroup
  4. udev 3.9G4.0K3.9G1%/dev
  5. tmpfs 785M1.2M784M1%/run
  6. none 5.0M05.0M0%/run/lock
  7. none 3.9G63M3.8G2%/run/shm
  8. none 100M48K100M1%/run/user
  9. /dev/sda1 228M98M118M46%/boot

展示Inode使用情况

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

  1. $ df -i

  1. FilesystemInodesIUsedIFreeIUse%Mounted on
  2. /dev/mapper/ubuntu-root 605143041217535592967693%/
  3. none 10044171310044041%/sys/fs/cgroup
  4. udev 100062355210000711%/dev
  5. tmpfs 100441760810038091%/run
  6. none 10044171110044061%/run/lock
  7. none 100441728810041291%/run/shm
  8. none 10044172810043891%/run/user
  9. /dev/sda1 1244963461241501%/boot

展示磁盘总利用率

默认情况下, df命令显示磁盘的单个文件系统的利用率。如果你想知道的所有文件系统的总磁盘使用量,增加“ --total ”选项(见最下面的汇总行)。

  1. $ df -h --total

  1. FilesystemSizeUsedAvailUse%Mounted on
  2. /dev/mapper/ubuntu-root 909G565G299G66%/
  3. none 4.0K04.0K0%/sys/fs/cgroup
  4. udev 3.9G4.0K3.9G1%/dev
  5. tmpfs 785M1.2M784M1%/run
  6. none 5.0M05.0M0%/run/lock
  7. none 3.9G62M3.8G2%/run/shm
  8. none 100M48K100M1%/run/user
  9. /dev/sda1 228M98M118M46%/boot
  10. total 918G565G307G65%-

展示文件系统类型

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

  1. $ df -T

  1. FilesystemType1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root ext4 95289334859158329231288284466%/
  3. none tmpfs 4040%/sys/fs/cgroup
  4. udev devtmpfs 4002492440024881%/dev
  5. tmpfs tmpfs 80353611968023401%/run
  6. none tmpfs 5120051200%/run/lock
  7. none tmpfs 40176686017639574922%/run/shm
  8. none tmpfs 102400481023521%/run/user
  9. /dev/sda1 ext2 23319110002512072546%/boot

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

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

  1. $ df -t ext2 -t ext4

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859158338031288275666%/
  3. /dev/sda1 23319110002512072546%/boot

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

  1. $ df -x tmpfs

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

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

  1. $ df /

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859158352831288260866%/

  1. $ df /home/dev

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859158352831288260866%/

显示虚拟文件系统的信息

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

  1. $ df -a

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859157871631288742066%/
  3. proc 000-/proc
  4. sysfs 000-/sys
  5. none 4040%/sys/fs/cgroup
  6. none 000-/sys/fs/fuse/connections
  7. none 000-/sys/kernel/debug
  8. none 000-/sys/kernel/security
  9. udev 4002492440024881%/dev
  10. devpts 000-/dev/pts
  11. tmpfs 80353611968023401%/run
  12. none 5120051200%/run/lock
  13. none 40176685814439595242%/run/shm
  14. none 102400481023521%/run/user
  15. none 000-/sys/fs/pstore
  16. cgroup 000-/sys/fs/cgroup/cpuset
  17. cgroup 000-/sys/fs/cgroup/hugetlb
  18. /dev/sda1 23319110002512072546%/boot
  19. vmware-vmblock 000-/run/vmblock-fuse

相关推荐