web-dev-qa-db-ja.com

duコマンドを使用したCentos6.5のディレクトリサイズが正しくない

ウェブサイトのディレクトリの1つでduコマンドを実行していますが、2つの異なる結果が得られます。どちらが正確で、なぜコマンドと出力の両方に大きな違いがあるのか​​混乱しています。

du -hsc directory_name/
5.3G    directory_name/
5.3G    total


du -hsc directory_name/*
4.0K    directory_name/announcements.php
4.0K    directory_name/articles.php
1.2M    directory_name/election2011
4.3M    directory_name/error_log
78M directory_name/files
3.0G    directory_name/php
3.1G    total

ありがとう

2
user1731872

次の行を使用して、コマンドと出力を読みやすい形式で投稿できますか?

サイズは全く変わらないと思います...

du -hsc dir_name」と入力すると、「dir_name」のサイズが要求されます。

ただし、「du -hsc dir_name/*」と入力すると、「dir_name」内のすべてのディレクトリとファイルのサイズが要求されます。したがって、「du -hsc dir_name/*」によって生成されるすべてのファイルの合計は、「du -hsc dir_name」の合計になるはずです。

お役に立てば幸いです。

編集

私は次を見つけました( http://www.linfo.org/du.html ):

「スター(*)ワイルドカードを使用すると、多少類似したレポートが提供されます。これは、任意の1つまたは複数の文字に一致します。たとえば、次のコマンドは、現在のディレクトリで始まるツリー内のすべてのディレクトリのサイズを一覧表示します。

du *

ただし、リストされているファイルは、親ディレクトリにあるファイルのみであり、サブディレクトリにあるファイルではありません。 また、ディレクトリツリー全体の合計は提供されません。

-sオプションとスターワイルドカードを一緒に使用すると、duは、最上位ディレクトリ自体に直接含まれているファイルとディレクトリのみの名前とサイズを報告します(また、そのサブディレクトリとファイルの名前はリストされません)。それらの中で)。リストされている各ディレクトリのサイズには、もちろん、そのすべてのファイルとサブディレクトリ(その中のすべてのファイルを含む)が含まれます。たとえば、現在のディレクトリで始まるディレクトリツリーに関するこのようなレポートは、次のように提供されます。

du -hs *

ワイルドカードを使用して出力をフィルタリングし、名前が特定の文字または文字のシーケンスで始まる、含まれる、または終わるアイテムのみを一覧表示することもできます。たとえば、以下は、名前が文字sで始まる現在のディレクトリ内のすべてのディレクトリとファイルの名前とサイズ、および名前の始まりに関係なく、それらのディレクトリのすべてのレベルのサブディレクトリの名前とサイズを報告します。と:

du -h s * "

太字に注意してください。ワイルドカードは親ディレクトリ内のディレクトリのみを取得し、合計は提供されないようです。

0
Josh Jobin

Directory_nameに隠しファイルがある場合、それらは最初のコマンドではカウントされますが、2番目のコマンドではカウントされません。パターンdirectory_name/*には、で始まるファイルは含まれていません。 (これには、ディレクトリdirectory_nameのディスクが含まれます)。

0
Walter