【Linux】Linuxで容量を調べるためのコマンド集 - j-komatsu/myCheatSheet GitHub Wiki

Linuxで大きい容量のフォルダやファイルを調べるためのコマンド集

インデックス


1. ディスク使用量を確認する基本的なコマンド

シミュレーション内容

  • シナリオ: 現在のディレクトリ内にある各フォルダとファイルの容量を一覧で確認し、どのフォルダやファイルが容量を消費しているか特定する。

コマンド例

1. du -h

  • 目的: 現在のディレクトリ内にあるファイルやフォルダの容量を表示。
  • オプション説明:
    • -h: サイズを人間が読みやすい形式で表示(KB, MB, GBなど)。
du -h
  • 表示結果サンプル:

    1.2M    ./folder1
    2.4M    ./folder2
    3.6M    .
    
  • 結果解釈:
    各フォルダのサイズが人間が読みやすい形式で表示されます。./ の行は現在のディレクトリ全体の合計容量です。

2. du -sh *

  • 目的: 現在のディレクトリ内の各フォルダとファイルの合計サイズを確認。
  • オプション説明:
    • -s: 合計サイズのみを表示。
    • -h: サイズを人間が読みやすい形式で表示。
    • *: ワイルドカードで全ファイルとフォルダを対象に指定。
du -sh *
  • 表示結果サンプル:

    1.2M    folder1
    2.4M    folder2
    3.6M    folder3
    
  • 結果解釈:
    各フォルダやファイルの合計サイズを一覧で確認できます。最も容量を消費しているフォルダやファイルを特定するのに便利です。


2. 特定フォルダのサイズを調べる

シミュレーション内容

  • シナリオ: 特定のディレクトリ内で、サイズが大きいフォルダやファイルを見つけたい場合に使用。

コマンド例

1. du -h --max-depth=1 /path/to/directory

  • 目的: 指定したディレクトリ直下のフォルダ容量を確認。
  • オプション説明:
    • -h: サイズを人間が読みやすい形式で表示。
    • --max-depth=1: 指定階層内のみ表示(サブフォルダを含まない)。
du -h --max-depth=1 /path/to/directory
  • 表示結果サンプル:

    1.5G    /path/to/directory/subfolder1
    800M    /path/to/directory/subfolder2
    2.3G    /path/to/directory
    
  • 結果解釈:
    サブフォルダの容量を一覧で表示し、どのサブフォルダが最も容量を消費しているかを確認できます。


3. ファイルサイズが大きいファイルを検索

シミュレーション内容

  • シナリオ: 特定ディレクトリ内でサイズが大きいファイルを探し、無駄な容量を消費しているファイルを削除したい場合。

コマンド例

1. find /path/to/directory -type f -size +100M

  • 目的: 指定サイズ以上のファイルを検索。
  • オプション説明:
    • -type f: ファイルのみを対象。
    • -size +100M: サイズが100MB以上のファイルを検索。
find /path/to/directory -type f -size +100M
  • 表示結果サンプル:

    /path/to/directory/large_file1.zip
    /path/to/directory/large_file2.mp4
    /path/to/directory/large_file3.tar.gz
    
  • 結果解釈:
    サイズが指定以上の大きさのファイルが一覧で表示されます。これにより、大容量のファイルを特定して管理できます。

2. find /path/to/directory -type f -exec ls -lh {} + | sort -k5 -h | tail -10

  • 目的: サイズ順に並べた結果を上位10件表示。
  • オプション説明:
    • -exec ls -lh {}: ファイルの詳細(サイズ、権限、作成日など)を表示。
    • sort -k5 -h: **昇順(小さい順)**で並べる。
    • tail -10: 上位10件を表示。
find /path/to/directory -type f -exec ls -lh {} + | sort -k5 -h | tail -10
  • 表示結果サンプル:
    -rw-r--r-- 1 user group 100M /path/to/directory/large_file1.zip
    -rw-r--r-- 1 user group 200M /path/to/directory/large_file2.mp4
    -rw-r--r-- 1 user group 300M /path/to/directory/large_file3.tar.gz
    

4. ディスク使用量全体を把握

シミュレーション内容

  • シナリオ: サーバー全体または特定のマウントポイントの容量状況を確認し、空き容量が少ない場合に適切な対策を講じたい。

コマンド例

df -h

  • 目的: ディスク全体の使用状況を確認。
  • オプション説明:
    • -h: サイズを人間が読みやすい形式で表示。
df -h
  • 表示結果サンプル:

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1       100G   70G   30G  70% /
    
  • 結果解釈:
    各マウントポイントのディスク容量、使用量、空き容量が表示されます。Use% が80%以上の場合、空き容量不足に注意が必要です。


5. ファイルシステムの容量を詳細に調べる

シミュレーション内容

  • シナリオ: 特定のディレクトリ内で、ファイルごとの詳細なサイズを確認したい場合に使用。

コマンド例

ls -lh

  • 目的: ファイルごとの詳細な情報(サイズ、権限、所有者など)を表示。
  • オプション説明:
    • -l: 詳細表示形式でファイル情報を表示。
    • -h: サイズを人間が読みやすい形式で表示。
ls -lh
  • 表示結果サンプル:
    -rw-r--r-- 1 user group 100M Jan 18 12:00 file1
    -rw-r--r-- 1 user group 200M Jan 18 12:30 file2
    

6. ディスク使用量の視覚化

シミュレーション内容

  • シナリオ: ディスク使用状況を視覚的に確認し、直感的に容量消費の傾向を把握したい場合。

コマンド例

ncdu /path/to/directory

  • 目的: インタラクティブなディスク使用量の確認。
  • オプション説明:
    • ncdu: ディスク使用量を視覚的に表示するツール(インストールが必要)。
ncdu /path/to/directory
  • 表示結果サンプル:
    --- /path/to/directory ---
    1.5G    subfolder1
    800M    subfolder2
    500M    subfolder3
    

7. バックアップや一時ファイルの確認

シミュレーション内容

  • シナリオ: 一時ファイルやバックアップファイルを確認し、不必要なものを削除してディスク容量を節約したい場合。

コマンド例

find /path/to/directory -name "*.bak" -o -name "*.tmp"

  • 目的: 指定した拡張子(例: .bak, .tmp)のファイルを検索。
  • オプション説明:
    • -name "*.bak": .bak で終わるファイルを対象。
    • -o: OR条件で複数の条件を指定可能。
    • -name "*.tmp": .tmp で終わるファイルを対象。
find /path/to/directory -name "*.bak" -o -name "*.tmp"
  • 表示結果サンプル:
    /path/to/directory/backup.bak
    /path/to/directory/temp.tmp
    

8. サブフォルダを含めた容量の調査

シミュレーション内容

  • シナリオ: プロジェクト全体のサブフォルダごとの使用量をリスト化し、容量が大きいフォルダを確認したい場合に使用。

コマンド例

du -h --max-depth=1 /path/to/directory | sort -rh

  • 目的: サブフォルダの容量を降順でリスト化。
  • オプション説明:
    • -h: サイズを人間が読みやすい形式で表示。
    • --max-depth=1: 指定したディレクトリ直下のみを対象に表示。
    • | sort -rh: 容量の大きい順に並べ替え。
du -h --max-depth=1 /path/to/directory | sort -rh
  • 表示結果サンプル:

    2.3G    /path/to/directory
    1.5G    /path/to/directory/subfolder1
    800M    /path/to/directory/subfolder2
    
  • 結果解釈:
    容量の大きい順に並べられた結果が得られるため、最も容量を消費しているフォルダを特定しやすくなります。


【補足】dudf コマンドの違い

dudf コマンドは、Linuxでディスク容量を確認するために使用されますが、それぞれの目的と動作が異なります。以下にその違いを詳しく説明します。


概要

コマンド 主な用途 対象
du 指定したディレクトリやファイルの使用済み容量を表示 個別のファイルやフォルダ
df ファイルシステム全体の空き容量と使用量を表示 ディスク全体やマウントされたパーティション

du コマンド

概要

  • 目的: 指定したディレクトリやファイルがどれだけの容量を使用しているか確認。
  • 対象: 個別のディレクトリやファイル。
  • 単位: 使用済み容量(KB, MB, GB など)。

特徴

  1. ローカルな情報を提供:
    • 指定したディレクトリ以下のフォルダやファイルごとのサイズを計算。
  2. 実際の使用量に基づく情報:
    • ハードリンクや隠しファイルなども含まれる。
  3. 詳細なディスク使用状況の調査に適している。

主なオプション

  • -h: サイズを人間が読みやすい形式で表示(例: KB, MB, GB)。
  • --max-depth=N: 表示する階層の深さを制限。
  • -s: 合計サイズのみを表示。

使用例

# 現在のディレクトリ内の使用量を表示
du -h

# 特定フォルダ内のサブフォルダごとのサイズを1階層のみ表示
du -h --max-depth=1 /path/to/directory

表示結果サンプル

1.2M    ./folder1
2.4M    ./folder2
3.6M    ./

df コマンド

概要

  • 目的: ファイルシステム全体のディスク容量や空き容量を確認。
  • 対象: ディスク全体やマウントされたパーティション。
  • 単位: 総容量、使用容量、空き容量。

特徴

  1. 全体的な情報を提供:
    • 各ファイルシステムの使用量と空き容量を表示。
  2. ディスク全体の空き容量や容量不足の確認に適している。

主なオプション

  • -h: サイズを人間が読みやすい形式で表示(例: KB, MB, GB)。
  • -T: ファイルシステムの種類を表示。
  • -i: 使用中の i-node 数と空き i-node 数を表示。

使用例

# ディスク全体の使用状況を表示
df -h

# 特定のマウントポイントの使用状況を表示
df -h /mnt/data

表示結果サンプル

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       100G   70G   30G  70% /

dudf の違いのまとめ

特徴 du df
対象 ディレクトリやファイル ファイルシステム全体
情報内容 個別の使用量(フォルダ・ファイル) 総容量、使用容量、空き容量
精度 ファイルシステムの実際の使用量 ファイルシステムのブロック単位の計算
用途 ローカルのファイルサイズを調査する ディスク全体の容量状況を把握する
主なオプション -h, --max-depth=N, -s -h, -T, -i

例を通した違いのイメージ

du の使用シナリオ

  • 目的: ディレクトリ内の容量を詳細に確認。
  • :
    du -sh /var/log
    
    結果解釈: /var/log 内の総容量を確認できます。

df の使用シナリオ

  • 目的: ディスク全体の空き容量を確認。
  • :
    df -h
    
    結果解釈: サーバー全体の空き容量と使用容量を確認できます。

補足事項

  1. 精度の違い:

    • du は実際に使用されているファイルサイズを計算。
    • df はディスク全体のブロック単位での情報を計算。
  2. 使用する場面の違い:

    • du は個別のフォルダやファイルの容量調査に適しています。
    • df はディスク全体の空き容量や全体的な状況を把握するのに適しています。