GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでディレクトリのサイズを取得する方法

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を使用してディレクトリのサイズを取得できます コマンド。

ご質問やご意見がございましたら、下にコメントを残してください。


Linux
  1. Linuxでディレクトリサイズを取得する方法

  2. Linux で MTU サイズを変更する方法

  3. Linuxでキーボードの状態を取得するにはどうすればよいですか?

  1. Linux でディレクトリの空きディスク領域をプログラムで取得する方法

  2. Pythonで(MB)ファイルのtar.gzのサイズを取得する方法

  3. bashでファイルの絶対ディレクトリを取得するにはどうすればよいですか?

  1. Linuxのディレクトリツリーで最も古いファイルを見つける方法

  2. Linux –ツリーとディレクトリサイズを組み合わせる方法は?

  3. 実際のディレクトリ サイズを (du から) 取得する方法は?