Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

  1. トップページ
  2. Bash辞典
  3. stat / file / du / df

stat / file / du / df

『stat』はファイルの詳細メタ情報を表示し、『file』はファイルの種類を判定し、『du』はディスク使用量を、『df』はファイルシステムの空き容量を確認するコマンドです。

構文
stat [オプション] ファイル
file [オプション] ファイル
du [オプション] [パス...]
df [オプション] [ファイルシステム...]
コマンド・オプション一覧
コマンド / オプション概要
stat ファイルファイルのinode番号・サイズ・パーミッション・タイムスタンプ(アクセス/更新/変更)を詳細表示します。
stat -c "%s" ファイルバイト数のみを出力します(スクリプト内での利用に便利)。
file ファイルファイルの内容を解析して種類を表示します(テキスト・ELFバイナリ・画像など)。
du ディレクトリディレクトリ以下の各ファイル・ディレクトリのディスク使用量を表示します。
du -s パス合計のみ表示します(サブディレクトリを展開しません)。
du -sh パス合計を人間が読みやすい単位(K・M・G)で表示します。
du -h --max-depth=11階層分のみ展開してサイズを表示します。
du -sh * | sort -hカレントディレクトリの各エントリをサイズ順に並べます。
dfすべてのファイルシステムのマウント状況・使用量・空き容量を表示します。
df -h人間が読みやすい単位で表示します。
df -Tファイルシステムの種類(ext4・xfs・tmpfsなど)も表示します。
サンプルコード

以下のディレクトリ構造を例に説明します。

📁 ~/project/ 📁 images/ 📄 photo.jpg (3.2MB) 📁 logs/ 📄 app.log (128KB) 📄 deploy.sh (1KB) 📄 data.bin (バイナリ)

ファイルの詳細メタ情報を表示します。

stat deploy.sh
  File: deploy.sh
  Size: 1024         Blocks: 8    IO Block: 4096   regular file
Device: fd01h/64769d Inode: 123456     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/  user)   Gid: ( 1000/  user)
Access: 2026-03-05 10:00:00.000000000 +0900
Modify: 2026-03-05 09:30:00.000000000 +0900

ファイルの種類を判定します。拡張子に依存せず、内容を解析して判定します。

file deploy.sh
deploy.sh: Bourne-Again shell script, ASCII text executable
file data.bin
data.bin: ELF 64-bit LSB shared object, x86-64
file images/photo.jpg
images/photo.jpg: JPEG image data, JFIF standard 1.01

カレントディレクトリ全体のサイズを人間が読みやすい形式で表示します。

du -sh .
3.4M    .

1階層ずつのサイズを確認します。大きなディレクトリを探すときに便利です。

du -sh */
3.2M    images/
128K    logs/

サイズ順に並べ替えてランキング表示します。

du -sh * | sort -h
1.0K    deploy.sh
4.0K    data.bin
128K    logs
3.2M    images

全ファイルシステムの空き容量を確認します。

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   18G   30G  38% /
tmpfs           2.0G  1.2M  2.0G   1% /run

特定のパスが含まれるファイルシステムのみ表示します。

df -h /var
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   18G   30G  38% /
概要

『du -sh * | sort -h』はディスクを圧迫しているディレクトリを見つけるときに非常に役立ちます。サーバーのディスク残量が減ってきたら、まず『df -h』で全体を把握し、次に『du -sh */』で大きなディレクトリを絞り込んでいくのが定石です。

ファイルの一覧確認は『ls -lh』も参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。