昔、Windowsを使っていてMS-DOSのプロンプトを触っていた時に、treeコマンドって使っていたなと思ってましたが、Macを使いはじめてからすっかり打たなくなったコマンドになってしまいました。
Rustの勉強をネットの情報でやっていて、サンプルのコードを解説する時にtreeコマンドを入力してディレクトリ構造を表示させているものがあって、「あれ?ターミナルをzshすると使えるのかな?」と思って入力してみたのですが、以下のとおり。
% tree
zsh: command not found: tree
やっぱり使えなかったよね。
ということで、個人的にはこれまでそんなに必要性は感じていなかったのだけども、Macのzshでtreeコマンドが使えるようにしてみたいと思います。
treeをHomebrewでインストール
zshでtreeコマンドを使えるようにするには、Homebrewを使ってインストールすればOKです。
Homebrewをまだインストールしていない場合は、こちらの方法でインストールしてください。
treeをインストールするには次のコマンドをターミナルから実行します。
% brew install tree
たったこれだけで完了です。
treeコマンドを使ってみる
あとはディレクトリ構造を表示させたいディレクトリに移動して、ターミナルにtreeコマンドを入力するだけです。
例えば、現在のディレクトリ内にRust言語で cargo new hello コマンドでプロジェクトを作ったとすると、以下のtreeコマンドでディレクトリ構造が表示されます。
% tree --noreport hello
hello
├── Cargo.toml
└── src
└── main.rs
現在のディレクトリをhelloディレクトリ内に移動してからtreeコマンを使うと次のようになります。
% tree
.
├── Cargo.toml
└── src
└── main.rs
1 directory, 2 files
上側は、現在地のディレクトリ内のhelloディレクトリを指定して、–noreport オプションをつけています。
下側は–noreport オプションをつけていないので、ディレクトリ数とファイル数が表示されています。helloの位置からのコマンド入力なので、ディレクトリの位置が.(ドット)で表示されています。
以上、Macのターミナル(zsh)でtreeコマンドを使えるようにする方法でした。
まとめ
Macのターミナル(zsh)ではtreeコマンドは使えません。
treeコマンドを使えるようにするには、Homebrewを使ってtreeをインストールするだけでOKです。
treeコマンドを実行すれば、現在滞在しているディレクトリ内の構造をツリー表示してくれます。
ディレクトリを指定すれば、そのディレクトリ内だけの構造を表示してくれます。
–noreport オプションを使うと、ツリー構造のみ表示されます。