隠しファイルも含め、サイズ順に並べたすべてのファイル/フォルダを出力する方法

隠しファイルも含め、サイズ順に並べたすべてのファイル/フォルダを出力する方法


隠しファイル(名前がドットで始まるもの)も含め、すべてのファイル/ディレクトリをサイズ順に一度に出力するにはどうすればよいですか?

によるディレクトリのサイズつまり、ディレクトリとそのサブディレクトリ ツリー内のすべてのファイル サイズの合計を意味します。

違いは出力を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>に置き換える必要があります。zippngjpg

例:

du -ah | sort -h | grep .zip
du -ah | sort -h | grep .png

参考文献


1 私の解決策は、このコメント議論--オプションの終了を示します
このduコマンドは、非常に大きなファイルやフォルダの場合、非常に遅くなる可能性があります。ncdu代わりに コマンドを使用してください。Ubuntu
を含む Debian 派生版にインストールするには、 を実行しますsudo apt install -y ncdu。MSYS2
を含む Arch Linux では、 を実行しますyes | pacman -Syu ncdu
これを使用するには、ncduと入力して を押します

2-hlsファイルサイズを人間が読める形式で出力します。
フラグ-Sは出力を次の順序でソートします。減少サイズ。
パイプは| grep '^-'ディレクトリとシンボリックリンクを除外します。
パイプ| tac 出力を反転する

3 これは、現在のディレクトリのサイズがギガバイトではなく数メガバイトの場合に興味深いものになる可能性があります。

関連情報