「ã²ãらã—ã€åŒ—æ¡æ²™éƒ½åãŒã€ŒIevan Polkkaã€ã‚’æŒã£ãŸã®ã§ã™ã‚よ
目次:
ls
コマンドを使用してディレクトリの内容を一覧表示するとき、ディレクトリのサイズはほとんどの場合4096バイト(4 KB)であることに気づいたかもしれません。 これは、ディレクトリのメタ情報を格納するために使用されるディスク上のスペースのサイズであり、含まれるものではありません。
ディレクトリの実際のサイズを取得するために使用するコマンドは
du
。これは「ディスク使用量」の略です。
ディレクトリのサイズを取得する
du
コマンドは、指定されたファイルまたはディレクトリが使用しているファイル容量を表示します。 指定されたパスがディレクトリの場合、
du
はそのディレクトリ内の各サブディレクトリのディスク使用量を要約します。 パスが指定されていない場合、
du
は現在の作業ディレクトリのディスク使用量を報告します。
オプションを指定せずに起動すると、
du
は指定されたディレクトリとその各サブディレクトリのディスク使用量をバイト単位で表示します。
通常、ディレクトリが占有するスペースを人間が読める形式で表示します。 たとえば、
/var
ディレクトリの合計サイズを取得するには、次のコマンドを実行します。
sudo du -sh /var
出力は次のようになります。
85G /var
コマンドとその引数について説明しましょう:
- コマンドは
sudo
始まりますsudo
ディレクトリ内のほとんどのファイルとディレクトリはrootユーザーが所有しており、通常のユーザーが読むことができないためです。sudo
を省略すると、du
コマンドは「du:ディレクトリを読み取れません」と出力します。s
指定されたディレクトリの合計サイズのみを表示し、サブディレクトリのファイルサイズの合計を表示しません。h
サイズを人間が読める形式(h
)で印刷します。/var
サイズを取得するディレクトリへのパス。
第1レベルのサブディレクトリのディスク使用量を表示する場合はどうなりますか? 2つのオプションがあります。 最初の方法は、以下に示すように、アスタリスク記号(
*
)を使用することです。これは、「ピリオド(
.
)で始まらないものすべてに一致する」ことを意味します。
sudo du -shc /var/*
24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total
第1レベルのサブディレクトリのディスク使用量に関するレポートを取得する別の方法は、
--max-depth
オプションを使用すること
--max-depth
。
sudo du -h --max-depth=1 /var
77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total
デフォルトでは、
du
コマンドはディレクトリまたはファイルが使用するディスク容量を表示します。 ディレクトリの見かけのサイズを見つけるには、
--apparent-size
オプションを使用します。 ファイルの「見かけのサイズ」は、ファイルに実際に含まれるデータの量です。
sudo du -sh --apparent-size /var
SCP、Rsync、またはSFTPを介してディレクトリを転送する場合、ネットワークを介して転送されるデータの量は、ファイルの見かけのサイズです。 これが、(
--apparent-size
なしで)
du
使用して表示されたソースで使用されるディスク上のスペースのサイズがターゲット上のサイズと同じではない
--apparent-size
です。
du
コマンドは、パイプを使用して他のコマンドと組み合わせることもできます。
たとえば、
/var
ディレクトリ内の最大の5つのディレクトリを印刷するには、
du
の出力を
sort
コマンドにパイプし、サイズでディレクトリをソートしてから、上位5つのディレクトリのみを印刷する
head
コマンドに出力をパイプします。 :
sudo du -h /var/ | sort -rh | head -5
85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg
結論
Linuxでは、
du
コマンドを使用してディレクトリのサイズを取得できます。