[Linux] ディレクトリ構成図作るのに便利だよ tree コマンド
今年も残す所あと 1 ヶ月!みなさん張り切っていきましょう~!どうもこんにちは nakamura です。
今回も Linux のちょいネタです。知ってる人は何を今更な tree コマンドのご紹介。たまにディレクトリ構成図とか作ることがあると思いますが、こいつを使えばズバッと一発で作れてしまうニクイやーつなのです。
オプション色々
よく使うオプションはこんな所でしょか。
-a
ファイル名の頭にドットがつく隠しファイルも表示してくれるオプション。
-d
ディレクトリのみを表示してくれます。
-l
シンボリックリンクを辿ってくれます。
-P, -I
-P は正規表現にマッチするファイル、ディレクトリのみを表示、-I はその逆です。
-F
ディレクトリ名の末尾にスラッシュを付与してくれます。
-L
何階層目まで再帰的に表示するか指定できます。
-o
出力をファイルに書き出します。
よくやる使い方
個人的にディレクトリ構成図はエクセルで作りたい!タイプの人間で、なおかつ下の階層は別の列にしたいのですが、以下のようなコマンドでそれも簡単にできてしまいます。
CakePHP のソースコードの 2 階層目までのディレクトリ構成図を作る例。
tree -aF -L 2 -I .git cakephp | sed 's/ /\t/g' > cakephp_dir.txt
こんな感じのテキストがファイルに出力されます。
cakephp
├── .gitignore
├── .htaccess
├── .travis.yml
├── README.md
├── app/
│ ├── .htaccess
│ ├── Config/
│ ├── Console/
│ ├── Controller/
│ ├── Lib/
│ ├── Locale/
│ ├── Model/
│ ├── Plugin/
│ ├── Test/
│ ├── Vendor/
│ ├── View/
│ ├── index.php
│ ├── tmp/
│ └── webroot/
├── build.properties
├── build.xml
├── index.php
├── lib/
│ └── Cake/
├── plugins/
│ └── empty
└── vendors/
└── empty
24 directories, 16 files
半角スペースをタブに置換してファイルに出力しているので、吐き出されたテキストファイルをローカルに落としてきて中身をエクセルにコピペすると・・・。
階層が下がると隣に列になりました。いい感じ!
終わりに
以上めちゃくちゃ頻繁に使うわけではないですが、個人的にないとすごく困る tree コマンドのまとめでした。他にもオプションたくさんあるので man tree で見てみてください。