web-dev-qa-db-ja.com

すべてのフォルダーとサブフォルダーのリスト

Linuxでは、すべてのフォルダ/サブフォルダ名を見つけてテキストファイルにリダイレクトしたい

私は試した ls -alR > list.txtが、すべてのファイルとフォルダーを提供する

9
Sandeep540

findを使用できます

find . -type d > output.txt

またはtree

tree -d > output.txt

tree、システムにインストールされていない場合。

ubuntuを使用している場合

Sudo apt-get install tree

mac osを使用している場合。

brew install tree
37
Adem Öztaş
find . -type d > list.txt

現在のパスの下にあるすべてのディレクトリとサブディレクトリをリストします。現在のパス以外のパスにあるすべてのディレクトリを一覧表示する場合は、.他のパスへ。

特定のディレクトリを除外する場合は、否定的な条件でそれらを除外できます。

find . -type d ! -name "~snapshot" > list.txt
6
Amber

他の回答にリストされているfindと同様に、より良いシェルは再帰的なグロブとグロブの一致のフィルタリングの両方を許可するため、たとえばzshでは...

_ls -lad **/*(/)
_

...必要なすべての「-l」の詳細を保持しながら、すべてのディレクトリを一覧表示します。そうでなければ、次のようなものを使用して再作成する必要があります...

_find . -type d -exec ls -ld {} \;
_

(他の回答が示すほど簡単ではありません)

Findの利点は、シェルからより独立していることです。C/ C++プログラムなどからのsystem()呼び出しに対しても、より移植性があります。

2
Tony Delroy