Linuxでファイルやディレクトリのディスク使用量を効率的に表示する方法

Linuxにおけるディスク使用量の確認は、システムのパフォーマンスと健全性を維持するうえで非常に重要です。この記事では、`df`と`du`という2つの主要なコマンドを用いて、Linuxでファイルやディレクトリのディスク使用量を効率的に表示する方法について詳しく解説します。具体的なコード例やその解説、さらには応用例を含めています。

目次

基本コマンド:dfとdu

Linuxには`df`と`du`という2つの基本的なコマンドがあり、それぞれが独自の方法でディスク使用量を確認します。

dfコマンド

`df`(disk filesystem)コマンドは、ファイルシステム全体のディスク使用量を表示します。

df -h  # ヒューマンリーダブルな形式でファイルシステムのディスク使用量を表示

このコマンドで、ファイルシステムごとに利用可能なスペース、使用中のスペース、その他の詳細が一覧で確認できます。

duコマンド

一方で`du`(disk usage)コマンドは、特定のファイルやディレクトリのディスク使用量を確認するためのコマンドです。

du -sh /path/to/directory  # 指定したディレクトリのディスク使用量をヒューマンリーダブルな形式で表示

詳細オプションとその使用例

これらの基本コマンドにはさまざまなオプションがあります。そのいくつかについて具体的な使用例とともに説明します。

dfコマンドのオプション

–totalオプション

df --total  # 各ファイルシステムの使用量に加え、全体の使用量も表示

duコマンドのオプション

–max-depthオプション

du -h --max-depth=1 /path/to/directory  # ディレクトリ内のサブディレクトリまでの使用量を表示

応用例

ここでは、これらのコマンドを使って行えるいくつかの応用例を紹介します。

特定の拡張子のファイルサイズを合計する

find /path/to/directory -name "*.log" -exec du -ch {} + | grep total$  # .logファイルの合計サイズを表示

特定のユーザーが使用しているディスク容量を調査する

du -sh /home/username  # usernameが使用しているディスク容量を表示

ファイルシステムの空き容量を監視するスクリプト

# 空き容量が少ない場合に警告を出すスクリプト
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
  if [ $usep -ge 90 ]; then
    echo "Running out of space \"$output\""
  fi
done

特定のディレクトリを除外してディスク使用量を調査する

du -sh --exclude=/path/to/exclude /path/to/directory  # 特定のディレクトリを除外して使用量を表示

まとめ

Linuxでディスク使用量を確認するスキルは、システム管理者やエンジニアにとって必須です。`df`と`du`コマンドはこのための強力なツールであり、多くのオプションと応用例を理解することで、より効率的なディスク管理が可能になります。

created by Rinker
オライリージャパン
¥3,080 (2024/09/07 11:30:01時点 Amazon調べ-詳細)

コメント

コメントする

目次