フィードを購読する
Linux 

Two related commands that every system administrator runs frequently are df and du. While du reports files' and directories' disk usage, df reports how much disk space your filesystem is using. The df command displays the amount of disk space available on the filesystem with each file name's argument.

For a good overview of the du command, read Tyler Carrigan's article Linux commands: du and the options you should be using. You might also be interested in my article Make du's output more useful with this neat trick.

This article discusses how to use the df command.

Learn df's syntax

The df command can be run by any user. Like many Linux commands, df uses the following structure:

df [OPTION]... [FILE]...

The df command primarily checks disk usage on a mounted filesystem. If you don't include a file name, the output shows the space available on all currently mounted filesystems. Disk space is shown in 1K blocks by default:

$ df
Filesystem    1K-blocks    Used Available Use% Mounted on
devtmpfs         883500       0    883500   0% /dev
tmpfs            913840     168    913672   1% /dev/shm
tmpfs            913840    9704    904136   2% /run
tmpfs            913840       0    913840   0% /sys/fs/cgroup
/dev/map[...]  17811456 7193312  10618144  41% /
/dev/sda1       1038336  260860    777476  26% /boot
tmpfs            182768     120    182648   1% /run/user/1000

Lists of long numbers (as shown above) can be difficult to parse. If you want to run df in its human-readable format, use the --human-readable (-h for short) option:

$ df -h
Filesystem    Size  Used Avail Use% Mounted on
devtmpfs       863M     0  863M   0% /dev
tmpfs          893M  168K  893M   1% /dev/shm
tmpfs          893M  9.5M  883M   2% /run
tmpfs          893M     0  893M   0% /sys/fs/cgroup
/dev/map[...]   17G  6.9G   11G  41% /
/dev/sda1     1014M  255M  760M  26% /boot
tmpfs          179M  120K  179M   1% /run/user/1000

Get inodes

To show inode (or index node) use on each mounted filesystem, use --inodes (-i for short):

$ df -ih
Filesystem    Inodes IUsed IFree IUse% Mounted on
devtmpfs        216K   393  216K    1% /dev
tmpfs           224K     3  224K    1% /dev/shm
tmpfs           224K   857  223K    1% /run
tmpfs           224K    17  224K    1% /sys/fs/cgroup
/dev/map[...]   8.5M  168K  8.4M    2% /
/dev/sda1       512K   310  512K    1% /boot
tmpfs           224K    74  224K    1% /run/user/1000

[ Learn about Bash's rich features by downloading the Bash shell scripting cheat sheet. ]

Get total available space

To omit entries that aren't essential to available space and get a total, use the --total option. You can use this option when all mounted filesystems are on the same disk, whether physical or virtual:

$ df -h --total
Filesystem     Size  Used Avail Use% Mounted on
devtmpfs       863M     0  863M   0% /dev
tmpfs          893M  168K  893M   1% /dev/shm
tmpfs          893M  9.5M  883M   2% /run
tmpfs          893M     0  893M   0% /sys/fs/cgroup
/dev/map[...]   17G  6.9G   11G  41% /
/dev/sda1     1014M  255M  760M  26% /boot
tmpfs          179M  120K  179M   1% /run/user/1000
total           22G  7.2G   15G  33% -

If you want to omit all mount points except for the total, use grep alongside a regular expression with ^ to search for the total at the start of a line:

$ df -h --total|grep ^total
total           22G  7.2G   15G  33% -

Get disk space available on a specific mount

You can also run df on a specific mount point:

$ df -h /
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/centos-stream  17G  6.9G   11G  41% /

$ df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1      1014M  255M  760M  26% /boot

Customize your output

The examples I've demonstrated so far have the same columns in the output. If you want different output, you can customize the fields. For instance, suppose you don't want to see the size or amount of disk used:

$ df -h --output=source,avail,pcent,target
Filesystem      Avail Use%  Mounted on
devtmpfs         863M   0%  /dev
tmpfs            893M   1%  /dev/shm
tmpfs            883M   2%  /run
tmpfs            893M   0%  /sys/fs/cgroup
/dev/map[...]     11G  41%  /
/dev/sda1        760M  26%  /boot
tmpfs            179M   1%  /run/user/1000

You can read about the available field options on the info page and the man page.

[ You may also be interested in downloading the Curl command cheat sheet. ]

Use df

It's a good idea to use the df command regularly to monitor usage on critical mount points. These are the ways I typically use the command, so find your favorite options and start gathering data about your system.


執筆者紹介

I work as Unix/Linux Administrator with a passion for high availability systems and clusters. I am a student of performance and optimization of systems and DevOps. I have passion for anything IT related and most importantly automation, high availability, and security.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Original series icon

オリジナル番組

エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー