ホームページ  >  記事  >  運用・保守  >  Linux duとは何ですか

Linux duとは何ですか

青灯夜游
青灯夜游オリジナル
2022-04-18 19:18:207596ブラウズ

Linux では、du の正式名は「ディスク使用量」です。ディレクトリまたはファイルが占有しているディスク容量をカウントするコマンドです。構文は「du [オプション] [ディレクトリまたはファイル名]」です。 」。 du コマンドは、1. サイズを読みやすい単位で表示できる「-h」、2. ディレクトリの合計サイズを表示できる「-s」、3. 「-」のさまざまなオプションをサポートしています。 d」など。

Linux duとは何ですか

#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。

linux du コマンド

du は、Linux で最もよく使われるコマンドの 1 つであるディスク使用量の略語です。du は、統計ディレクトリまたはfile ディスク領域を占有するコマンド

du コマンドの形式は次のとおりです。

du [选项] [目录或文件名]

一般的に使用されるオプションは次のとおりです。

  • - a: ディレクトリ内のすべてのファイルとフォルダーのサイズを表示します。

  • #-h: Kb、Mb、Gb などのわかりやすい単位でサイズを表示します、etc.

  • --si: -h オプションと似ていますが、計算は 1024

  • -s ではなく 1000 に基づいています。 : ディレクトリの合計サイズを表示します

  • -d: は、--max- Depth=N オプションの略で、どのレベルのディレクトリを深く掘り下げるかを示します。指定されたレベル数は無視されます

  • #-c: ディレクトリ サイズの表示に加えて、追加の行に合計使用量が表示されます
  • --time: 各ディレクトリ内の最近変更されたファイルの時刻を表示します。
  • -t: はい --threshold=SIZE の略称。SIZE# より小さいファイルとディレクトリを除外します。
  • --exclude=PATTERN: PATTERN に一致するファイル名またはディレクトリ名を除外します
使用例

すべてのディレクトリとファイル サイズの表示

次の例は、ディレクトリ内のすべてのディレクトリとファイルのサイズを示しています。デフォルトの単位は Kb です。

[root@ecs-centos-7 tt]# du -a temp/
4       temp/suba.txt
4       temp/test/abc.txt
4       temp/test/ha/ha.txt
8       temp/test/ha
16      temp/test
4       temp/time.txt
28      temp/
注: 上記の例で -a オプションを使用しない場合、デフォルトでは、ファイル サイズではなく、ディレクトリ サイズのみが表示されます。つまり、

du temp/

を実行すると、ディレクトリのサイズのみが表示されます (例:

[root@ecs-centos-7 tt]# du temp
8       temp/test/ha
16      temp/test
28      temp
わかりやすく表示##)

#デフォルトの表示 サイズには単位すらなく単一の数字しか含まれていないため、一見すると少し混乱してしまいます。 -h オプションを使用すると、人間が判読できる方法でサイズを表示できます。このオプションは、最も一般的に使用される

[root@ecs-centos-7 tt]# du -b temp/
4117    temp/test/ha
8218    temp/test
12326   temp/
[root@ecs-centos-7 tt]# du -h temp/
8.0K    temp/test/ha
16K     temp/test
28K     temp/
[root@ecs-centos-7 tt]# du --si temp/
8.2k    temp/test/ha
17k     temp/test
29k     temp/
上記の例では、-h オプションのデフォルトの計算ベースは 1024 で、--si オプションのデフォルトの計算ベースは 1000 です。

So

temp/test/ha

-h オプションで計算されたディレクトリのサイズは 8.0K、--si オプションで計算されたサイズは 8.2K


-h と、 --si オプションは、ディレクトリとファイルのサイズに応じて自動的に調整されます。

ディレクトリの合計サイズ

ディレクトリの合計サイズを知るだけで十分な場合があります。サブディレクトリとサブディレクトリ内のファイルのサイズを知る必要はありません。 -s オプションを使用してディレクトリの合計サイズを取得できます。

[root@ecs-centos-7 tt]# du -sh .
72K     .
[root@ecs-centos-7 tt]# du -sh temp/
28K     temp/
上記の例では、現在のディレクトリの合計サイズと一時ファイルの合計サイズを取得します。 / ディレクトリをそれぞれ

#ディレクトリの合計サイズは、-c オプションを使用して取得することもできますが、最初にサブディレクトリのサイズが表示され、最後の行に合計サイズが表示されます。以下の例の最後の行

total

文字列の前の 28K は、temp/ ディレクトリの合計サイズを示します。

[root@ecs-centos-7 tt]# du -ch temp/
8.0K    temp/test/ha
16K     temp/test
28K     temp/
28K     total

ディレクトリの深さを指定します。

ディレクトリが多数ある場合は、 1 つのディレクトリ サブディレクトリ。指定したレベル数でディレクトリのサイズのみを表示したい場合は、-d オプションを使用して、次のように temp/ のサブディレクトリ構造を実現できます。

ディレクトリの深さを指定します

[root@ecs-centos-7 tt]# tree -d temp/
temp/
└── test
    └── ha

2 directories

du -d 0 temp/

: 現在のディレクトリの合計サイズである第 0 レベルのディレクトリを表示します。これは -s と同等です。オプション

du -d 1 temp/: 第 1 レベルのディレクトリ、つまり temp/test ディレクトリの合計サイズを表示します。

du - -max- Depth=2 temp/: 第 2 レベルのディレクトリ、つまり temp/ を表示します。 test/ha ディレクトリの合計サイズ

最新の変更時刻を表示します

[root@ecs-centos-7 tt]# du -d 0 temp/
28      temp/
[root@ecs-centos-7 tt]# du -d 1 temp/
16      temp/test
28      temp/
[root@ecs-centos-7 tt]# du --max-depth=2 temp/
8       temp/test/ha
16      temp/test
28      temp/
上の例では、各ディレクトリの最新の変更時刻が表示されますが、時間の粒度は分単位までしか正確ではありません

より細かい粒度で表示したい場合は、--を使用できます。 time-syle=STYLE オプションで時刻の出力形式を指定します。STYLE は日付の形式化された出力文字列を表し、date

コマンドの形式化された出力の形式は同じです

例 1: UTC 時間での秒数を表示します (1970 年 1 月 1 日から現在までの秒数)

[root@ecs-centos-7 tt]# du --time temp
8       2020-07-21 20:11        temp/test/ha
16      2020-07-21 20:11        temp/test
28      2020-07-21 20:13        temp
例 2: 完全な年、月、日、時、分を表示します。 Second
[root@ecs-centos-7 tt]# du --time --time-style="+%s" temp/      
8       1595333498      temp/test/ha
16      1595333514      temp/test
28      1595333582      temp/

サイズでフィルタリング

#表示された結果から、指定したサイズのディレクトリとファイルをフィルタリングします

[root@ecs-centos-7 tt]# du --time --time-style="+%F %T" temp/  
8       2020-07-21 20:11:38     temp/test/ha
16      2020-07-21 20:11:54     temp/test
28      2020-07-21 20:13:02     temp/

上記の例では、 4118 バイト未満のディレクトリはフィルタリングされます。

ディレクトリ名またはファイル名でフィルタリングします。

1 つのディレクトリにサブディレクトリが多すぎる場合は、サブディレクトリに基づいてフィルタリングできます。 name または、ファイル名が指定されたパターン文字列と一致するため、一致するディレクトリとファイルがフィルタリングされます。

[root@ecs-centos-7 tt]# du -b temp/
4117    temp/test/ha
8218    temp/test
12326   temp/
[root@ecs-centos-7 tt]# du -b -t 4118 temp/
8218    temp/test
12326   temp/

上記の例では、フィルタリングされたパターン文字列は次のとおりです: *a*

これは、ディレクトリ名またはファイル名に文字

a

が含まれるディレクトリまたはファイルを除外することを意味します。この例では、最初の 4 行のディレクトリまたはファイル名にはすべて文字 a が含まれています。失われた

ディスクを埋めるファイルは何ですか開発者がよく遭遇する問題は、ディスクがいっぱいであることです。今度は、du と sort を組み合わせて使用​​できます。「犯人」を見つけます

  • 当前目录下文件从大到小排序
[root@ecs-centos-7 tt]# du -sh temp/* | sort -hr
10M     temp/clpay.tar
16K     temp/test
4.0K    temp/time.txt
4.0K    temp/lnsuba
  • 当前目录以及子目录从大到小排序
[root@ecs-centos-7 tt]# du -ah temp/* | sort -hr
10M     temp/clpay.tar
16K     temp/test
8.0K    temp/test/ha
4.0K    temp/time.txt
4.0K    temp/test/ha/ha.txt
4.0K    temp/test/abc.txt
4.0K    temp/lnsuba
  • 磁盘占用最大的三个目录以及子目录
[root@ecs-centos-7 tt]# du -ah temp/* | sort -hr | head -n 3
10M     temp/clpay.tar
16K     temp/test
8.0K    temp/test/ha

相关推荐:《Linux视频教程

以上がLinux duとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。