kengo92iの日記

プログラミングとかやったことの記録を書いていきます。

Macにtreeコマンドをインストールしてみる

treeコマンドをMacにインストールする方法です.

treeコマンドはディレクトリ構造などを木構造で見やすく表示してくれるコマンドです.ターミナルなどのCUIを使っている時に,ディレクトリ構造の把握に便利です.また,ディレクトリ構造を資料などに記載するときにも役立ちます.

インストール

MacPorts

$ sudo port install tree

一瞬でインストールが終わります.

ソースコードからインストール

$ wget ftp://mama.indstate.edu/linux/tree/tree-1.7.0.tgz
$ tar xvzf tree-1.7.0.tgz
$ cd tree-1.7.0
$ make
$ sudo make install

ソースコード本体をダウンロードしてくる(curlでもOK).その後,tarコマンドで解凍して,makeでインストールをおこなう.treeコマンドのバージョンが古かったら適切ファイル名を変更してダウンロードしてください.

インストール後の確認

$ which tree
/opt/local/bin/tree
$ tree --version
tree v1.7.0 (c) 1996 - 2014 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro 

正常にインストールに成功していれば,treeコマンドへのパスとバージョン情報が表示されます.

使い方

ターミナルから,以下のコマンドを実行すると,ディレクトリ構造が出力される.

$ tree .
.
├── fuga.txt
├── hoge.txt
└── piyo
    ├── piyo1.txt
    ├── piyo2.txt
    └── piyo3.txt

上記の出力結果は,適当なディレクトリでの実行結果です.

詳しい使い方・オプションについて

詳しい使い方・オプションに関する説明は,--helpオプションをつけて実行することで表示されます.下記の実行例は省略した結果が表示されています.

$ tree --help
usage: tree [-acdfghilnpqrstuvxACDFJQNSUX] [-H baseHREF] [-T title ]
	[-L level [-R]] [-P pattern] [-I pattern] [-o filename] [--version]
	[--help] [--inodes] [--device] [--noreport] [--nolinks] [--dirsfirst]
	[--charset charset] [--filelimit[=]#] [--si] [--timefmt[=]<f>]
	[--sort[=]<name>] [--matchdirs] [--ignore-case] [--] [<directory list>]
  ------- Listing options -------
  -a            All files are listed. # 隠しファイルも表示する
  -d            List directories only. # ディレクトリのみ表示する
  -l            Follow symbolic links like directories. # シンボリックリンクをディレクトリと同じように表示
  -f            Print the full path prefix for each file. # 全てのファイルをフルパス表示する
  -x            Stay on current filesystem only. # 現在のファイルシステムのみを対象にする
  -L level      Descend only level directories deep. # 指定したディレクトリ階層まで表示する
:
省略

全てのファイルを表示する-aオプション,指定した階層まで表示する-Lオプションやなどが存在しています.treeコマンドを使うことで,ディレクトリ構造をパパッと目で見て把握できるようになります.