Linux環境でよく行われる作業の一つに、ディレクトリ内のファイルの合計サイズを確認することがあります。この記事では、そのためのコマンドやシェルスクリプト、そしてそれらの背後にある仕組みを詳しく解説します。また、応用例も多数紹介するので、Linuxのファイルシステムについてより深く理解するきっかけにしてください。
目次
基本的なコマンド
Linuxでディレクトリ内のファイルの合計サイズを調べる最も一般的なコマンドは`du`です。以下のコマンド例は、`/home/user/documents`ディレクトリ内の全てのファイルとディレクトリの合計サイズを確認するものです。
du -sh /home/user/documents # ディレクトリ内の合計サイズを確認
オプションの解説
– `-s`(summarize): 指定ディレクトリとそのサブディレクトリ内のファイルサイズを合計します。
– `-h`(human-readable): 人が読みやすい形式(K、M、Gなど)でサイズを表示します。
シェルスクリプトでの自動化
毎回コマンドを打つのは面倒な場合、シェルスクリプトで自動化することも可能です。
#!/bin/bash
directory="/home/user/documents"
du -sh $directory # 指定したディレクトリ内の合計サイズを確認
スクリプトの実行方法
1. テキストエディタで上記のコードを保存します(例:`check_dir_size.sh`)。
2. ターミナルで`chmod +x check_dir_size.sh`と入力して、スクリプトに実行権限を与えます。
3. `./check_dir_size.sh`を実行します。
応用例
特定の拡張子のファイルだけのサイズを計算
find /home/user/documents -name "*.txt" -exec du -ch {} + | grep total$ # .txtファイルだけの合計サイズを計算
特定のユーザーが所有するファイルの合計サイズ
find /home/user/documents -user username -exec du -ch {} + | grep total$ # 特定のユーザーが所有するファイルの合計サイズを計算
特定の日数以内に変更されたファイルのサイズ
find /home/user/documents -mtime -30 -exec du -ch {} + | grep total$ # 過去30日以内に変更されたファイルの合計サイズを計算
特定のサイズ以上のファイルの合計サイズ
find /home/user/documents -size +1M -exec du -ch {} + | grep total$ # サイズが1MB以上のファイルの合計サイズを計算
まとめ
Linuxにはディレクトリ内のファイルの合計サイズを確認する手段がいくつか存在します。基本的な`du`コマンドから、シェルスクリプトでの自動化、さらには応用例まで、いずれも便利な方法です。特に応用例は、日常業務でよく遭遇するケースを解決する有用なテクニックを提供しています。
コメント