隠しファイル(名前がドットで始まるもの)も含め、すべてのファイル/ディレクトリをサイズ順に一度に出力するにはどうすればよいですか?
によるディレクトリのサイズつまり、ディレクトリとそのサブディレクトリ ツリー内のすべてのファイル サイズの合計を意味します。
違いは出力をdu -h
サイズ順に並べ替えるにはどうすればいいでしょうか?私が要求しているのは、全て現在のディレクトリ内のファイルとディレクトリ –隠されているかどうか。
参考文献
答え1
隠しファイルも含め、サイズ順に並べられたすべてのファイル/ディレクトリを出力するにはどうすればよいでしょうか?
使用du
(ディスクの使用状況)コマンドの一部であるGNU コアユーティリティ: 1
du -hs -- * .[^.]* | sort -h
の.[^.]*
正規表現隠しファイルとディレクトリが含まれるようにします。
リストへ隠されただけファイルとディレクトリ(サイズが大きくなる順に並べられています):
du -hs -- .[^.]* | sort -h
リストディレクトリのみ– 非表示かどうか – サイズの大きい順に並べる:
du -hs -- */ .[^.]*/ | sort -h
リストのみファイル現在のディレクトリ内
リスト全てファイル、サイズが大きい順に並べられています: 2
ls -AhlS | grep '^-' | tac
リストのみ隠れたファイル、サイズが大きくなる順に並べられています:
ls -hldS .* | grep '^-' | tac
リストのみ通常(非表示でない)ファイル、サイズが小さい順に並べられています:
ls -lS | grep '^-' | tac
ファイルの一覧再帰的に– サブディレクトリツリー全体
質問では尋ねられていませんが、サブディレクトリ ツリー (現在のディレクトリを含む) 内のすべてのファイルをサイズ順に一覧表示したい場合があります。3
du -ah | sort -h
出力はサブディレクトリとファイルの両方の (おそらく非常に長い) リストになります。これをファイルのみに制限するには、(上記のコマンドの出力を見て) 最も大きなファイルのファイル拡張子が何であるかを把握しておく必要があります。
du -ah | sort -h | grep .<file-extension>
ここでは、、、または最も大きなファイルのファイル拡張子<file-extension>
に置き換える必要があります。zip
png
jpg
例:
du -ah | sort -h | grep .zip
du -ah | sort -h | grep .png
参考文献
- Linux のマニュアル
du
ページ (ディスク使用量) - GNU コアユーティリティ
- 正規表現では、キャレット(
^
)はない - 隠しファイルと非隠しファイルの両方を含める方法についてのコメント
- ユーティリティ構文 | ガイドライン 10、オプションの終了
- ディスク
ncdu
使用量アナライザー - 回答推奨
ncdu
- Linux のマニュアル
ls
ページ (ディレクトリの内容を一覧表示する) - コマンドラインで出力を反転する方法
- 1 GBを超えるフォルダのみを表示する方法
- すべてのファイルをサイズ順に一覧表示する方法
1
私の解決策は、このコメント議論--
オプションの終了を示します
このdu
コマンドは、非常に大きなファイルやフォルダの場合、非常に遅くなる可能性があります。ncdu
代わりに コマンドを使用してください。Ubuntu
を含む Debian 派生版にインストールするには、 を実行しますsudo apt install -y ncdu
。MSYS2
を含む Arch Linux では、 を実行しますyes | pacman -Syu ncdu
。
これを使用するには、ncdu
と入力して を押します↵。
2
旗-h
ls
ファイルサイズを人間が読める形式で出力します。
フラグ-S
は出力を次の順序でソートします。減少サイズ。
パイプは| grep '^-'
ディレクトリとシンボリックリンクを除外します。
パイプ| tac
出力を反転する。
3 これは、現在のディレクトリのサイズがギガバイトではなく数メガバイトの場合に興味深いものになる可能性があります。