服务器磁盘使用情况的查看

df

来自 man 页面的解释:

df - report file system disk space usage

而来自 wikipedia 的解释更加清楚地阐释了其含义:

df (abbreviation for disk free) is a standard Unix command used to display the amount of available disk space for file systems on which the invoking user has appropriate read access. df is typically implemented using the statfs or statvfs system calls.

-- df (Unix) - Wikipedia

df 表示 disk free,主要用来查看还剩多少可用空间。

CentOS 下的输出示例:

$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1      103079828 5742136  93043356   6% /
devtmpfs         3968704       0   3968704   0% /dev
tmpfs            3983076      24   3983052   1% /dev/shm
tmpfs            3983076  280220   3702856   8% /run
tmpfs            3983076       0   3983076   0% /sys/fs/cgroup
tmpfs             796616       0    796616   0% /run/user/0
/dev/vdb       309504832  495948 293263860   1% /data

带上 -h 参数使输出更易读:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        99G  5.5G   89G   6% /
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.8G   24K  3.8G   1% /dev/shm
tmpfs           3.8G  274M  3.6G   8% /run
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           778M     0  778M   0% /run/user/0
/dev/vdb        296G  485M  280G   1% /data

其中 -h 的意思是:

   -h, --human-readable
         print sizes in human readable format (e.g., 1K 234M 2G)

即,使输出对人类更友好。

NOTE::大部分 Linux 命令都可使用该参数,使得输出的数据自动进行更加人性化的格式化。

理解 df 输出中各列的含义

  • Filesystem:文件系统名,可解理为分区,包含物理和虚拟分区。
    • 期中 dev 表示 device,即挂载的真实物理磁盘。此处可见系统挂载了两个物理磁盘 /dev/vda1/dev/vdb
    • tmpfs 为系统进程比如 /run 运行的临时分区。比如 /run/lock 路径是用来创建 lockfiles 的。
  • Size:总大小
  • Used:已使用的大小
  • Avail:剩余可用大小
  • Use%:使用占比
  • Mounted on:文件系统挂载的位置(目录或路径)。

查看指定分区

df [FILE]...

示例:

$ df /dev/vda1 -h
# 或
$ df / -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        99G  5.5G   89G   6% /

需要注意,df 查看的是分区级别的使用情况,即使指定具体目录,打印的仍是整个分区的使用情况:

$ df -h /dev/vdb
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        296G  485M  280G   1% /data
$ df -h /data
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        296G  485M  280G   1% /data
$ df -h /data/log
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        296G  485M  280G   1% /data

du

来自 man 页面的解释:

du - estimate file space usage

同样,还是来自 wikipedia 的解释更加详尽:

du (abbreviated from disk usage) is a standard Unix program used to estimate file space usage—space used under a particular directory or files on a file system.

-- du (Unix) - Wikipedia

du 表示 disk usage。区别于 df 只能查看分区,可查看具体路径所占空间的大小。

默认情况下, du 会打印目录下文件列表及对应的大小,可通过 -s 简化输出。

$ du -hs /etc
39M	/etc

$ du -hs /data/log
375M	/data/log

相关资源