lsを使用してディレクトリの内容を一覧表示する場合 コマンドを実行すると、ディレクトリのサイズがほとんどの場合4096バイト(4 KB)であることに気付いたかもしれません。これは、ディレクトリに含まれるものではなく、ディレクトリのメタ情報を格納するために使用されるディスク上のスペースのサイズです。
ディレクトリの実際のサイズを取得するために使用するコマンドは、duです。 、これは「ディスク使用量」の略です。
ディレクトリのサイズの取得#
du コマンドは、指定されたファイルまたはディレクトリによって使用されているファイルスペースの量を表示します。指定されたパスがディレクトリの場合、du そのディレクトリ内の各サブディレクトリのディスク使用量を要約します。パスが指定されていない場合、du 現在の作業ディレクトリのディスク使用量を報告します。
オプションなしで呼び出された場合、du 指定されたディレクトリとその各サブディレクトリのディスク使用量をバイト単位で表示します。
通常、ディレクトリが占めるスペースを人間が読める形式で表示する必要があります。たとえば、/varの合計サイズを取得するには ディレクトリの場合、次のコマンドを実行します:
sudo du -sh /var 出力は次のようになります:
85G /var
コマンドとその引数について説明しましょう:
- コマンドは
sudoで始まります/var内のほとんどのファイルとディレクトリが ディレクトリはrootユーザーが所有しており、通常のユーザーは読み取ることができません。sudoを省略した場合duコマンドは「du:ディレクトリを読み取れません」と出力します。 -
s-指定したディレクトリの合計サイズのみを表示し、サブディレクトリのファイルサイズの合計は表示しません。 -
h-人間が読める形式でサイズを印刷します(h。 -
/var-サイズを取得するディレクトリへのパス。
第1レベルのサブディレクトリのディスク使用量を表示したい場合はどうなりますか? 2つのオプションがあります。 1つ目は、アスタリスク記号(*)を使用することです。 )以下に示すように、これは「ピリオド(.)で始まらないすべてのものに一致することを意味します )」。 -c オプションはduに指示します すべてのサイズの総計を印刷するには:
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を使用することです。 オプション:
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を介してディレクトリを転送する場合、ネットワークを介して転送されるデータの量は、ファイルの見かけのサイズです。これが、duで表示されたときにソースで使用されるディスク上のスペースのサイズである理由です。 (--apparent-sizeなし )はターゲットのサイズと同じではありません。
du コマンドは、パイプを使用して他のコマンドと組み合わせることもできます。
たとえば、/var内の最大の5つのディレクトリを印刷するには ディレクトリの場合、duの出力をパイプします sortに ディレクトリをサイズで並べ替えてから、出力をheadにパイプするコマンド 上位5つのディレクトリのみを出力するコマンド:
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を使用してディレクトリのサイズを取得できます コマンド。
ご質問やご意見がございましたら、下にコメントを残してください。