treeを使わずにfindでディレクトリツリーリスト表示

* 本ページはプロモーションが含まれています

Linuxでは、treeコマンドを利用すると、ディレクトリ内のツリー構造を表示させることが出来ますが、標準コマンドではないので、標準コマンドのFindを使って表示させてみます。

$ find . -type d | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
.
|-dir1
|-dir2
|-dir3

findeで第1階層のみ表示させたい場合は、

$ find . -maxdepth 1 -type d -exec basename {} \;
.
dir2
dir1
dir3
dir4
dir5

ちなみに、treeだとこんな感じ

$ tree -d
.
├── dir1
├── dir2
└── dir3

treeの方が、深い階層の場合にインデントしてくれたり、ファイルを表示してくれたりして便利ですが、treeがない環境の時にfindによる表示方法も覚えておくと良いかもしれません。

ちなみに、treeは、yumやapt-getで簡単にインストールできますね。


See also