Linuxコマンドfind
およびdu
救助に来ます。
duコマンドの使用
du
コマンドは、Linuxシステムでのファイルスペース使用量を見積もるために使用されます。ディスク使用量情報が表示されます。
du
を使用しましょう / boot
の内容を確認するには :
# du
0 ./efi/EFI/centos
0 ./efi/EFI
0 ./efi
2400 ./grub2/i386-pc
3176 ./grub2/locale
2504 ./grub2/fonts
8096 ./grub2
4 ./grub
250556 .
左端の値はディスク使用量であり、その後にその使用量を担当する特定のディレクトリが続きます。下の行は、 / boot /
全体の概要です。 ディレクトリ。
重要なdu
のリストは次のとおりです オプション
-
-h
、-人間が読める形式
サイズ出力を人間が読める形式で印刷します。 -
-s
、-要約
-h
と組み合わせることができます 人間が読める形式でディレクトリの使用状況の概要を取得します。 -
-a
、-すべてコード> 指定されたファイルパス内のすべてのファイルとディレクトリのサイズを一覧表示します。
-h
と組み合わせることができます
この場合、スペース使用量をファイルし、最初に最大のものを確認するために、 sort
を使用してそれらを並べ替えることができます。 指図。結果を制限したい場合は、 head
コマンドが便利になります
du
で最大のファイルを取得する :
du -a / | sort -n -r | head -n 20
上記のコマンドはdu
を使用します ディスク使用量を取得するには、コンテンツをパイプで並べ替えると、headは最初の20個のアイテムのみを出力します。
出力:
# du -a / | sort -n -r | head -n 20
du: cannot access ‘/proc/20633/task/20633/fd/3’: No such file or directory
du: cannot access ‘/proc/20633/task/20633/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/20633/fd/4’: No such file or directory
du: cannot access ‘/proc/20633/fdinfo/4’: No such file or directory
43855216 /
38679004 /var
38558036 /var/log
38486524 /var/log/asterisk
18136900 /var/log/asterisk/full.prod-asterisk
15786756 /var/log/asterisk/debug.prod-asterisk
2408012 /var/log/asterisk/cdr-custom
2105416 /usr
2101960 /var/log/asterisk/cdr-csv/Master.csv
2101960 /var/log/asterisk/cdr-csv
2074504 /var/log/asterisk/cdr-custom/Master.csv
1014364 /opt
1002432 /usr/lib
635300 /home/centos
635300 /home
634528 /home/centos/debug.prod-asterisk
490704 /tmp
480260 /tmp/pip.log
403512 /opt/instana/agent
403512 /opt/instana
多くの場合、大きなファイルのリストを取得する前に、いくつかのエラーが発生します。これは多くの場合、アクセスが許可されていないファイルまたはstderr出力のいずれかから発生します。 2> / dev / null
を使用します このコマンドのようなものを無視するには:
du -a / 2>/dev/null | sort -n -r | head -n 20
検索コマンドの使用
find
を使用できます 検索でファイルのみを対象とし、それぞれのサイズを見つけてから、並べ替えとヘッドの組み合わせを使用してコンテンツを除外するコマンド。
例:
find / -type f -printf '%s %p\n' | sort -nr | head -10
上記のコマンドは、システム内のすべてのファイルを検索し、%sおよび%p
を使用してサイズとパスを出力します。 ディレクティブ。次に、結果はパイプで並べ替えられ、最大から最小にフィルタリングされます。その後、ヘッドは10件の結果に制限されます。 -n
数値ソートおよび-r
用です 並べ替えに渡されると、比較の結果が逆になります。
出力:
# find / -type f -printf '%s %p\n' | sort -nr | head -10
140737486266368 /proc/kcore
18595594900 /var/log/asterisk/full.prod-asterisk
16179399327 /var/log/asterisk/debug.prod-asterisk
2146986543 /var/log/asterisk/cdr-csv/Master.csv
2114553859 /var/log/asterisk/cdr-custom/Master.csv
649754355 /home/centos/debug.prod-asterisk
484122304 /tmp/pip.log
309011589 /var/log/asterisk/cdr-custom/Simple.csv
141488931 /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/lib/modules
106075056 /usr/lib/locale/locale-archive
結論
上記の説明から、Linuxで最大および最大のファイルとディレクトリを取得する方法を学びました。 sort
の使い方も学びました 返された出力とhead
を並べ替えるコマンド 結果を指定した数だけに制限するコマンド。
使用したコマンドの詳細を確認するには、manページを使用することを躊躇しないでください。次のコマンドを使用します:
man du
man find
man sort
man head
man tail