UNIXの部屋 コマンド: tree


※空白区切りで AND 検索 (例:「ファイル 削除」)

コマンド tree ファイル・ディレクトリをツリー形式で表示する

tree コマンドを使うと、ファイル・ディレクトリをツリー形式で表示することができる。
% tree /usr
/usr/
|-- X11R6
| |-- bin
| | |-- ccmakedep
| | |-- (略)
| | |-- xcursor-config
| | `-- xmkmf
| |-- etc
| | |-- fonts
| | | `-- fonts.dtd
| | `-- rc.d
(略)

オプション
-a ドットファイルも出力対象とする。
-d ディレクトリのみ出力対象とする。
-s ファイル・ディレクトリのサイズを表示する。
-h -s と同様にファイルサイズを表示するが、12K・23M・34G などとわかりやすい表示にする
-L 何階層目までディレクトリを降りるかを指定する

例:
% tree -s /usr
⇒ -s オプションで、ファイルサイズを表示する。
/usr/
|-- [ 512] X11R6
| |-- [ 512] bin
| | |-- [ 4353] ccmakedep
| | |-- (略)
| | |-- [ 1378] xcursor-config
| | `-- [ 1253] xmkmf
| |-- [ 512] etc
| | |-- [ 512] fonts
| | | `-- [ 5840] fonts.dtd
| | `-- [ 512] rc.d
(略)

% tree -h /usr
⇒ -h オプションで、読みやすいサイズ表記を行う。
/usr/
|-- [ 512] X11R6
| |-- [ 512] bin
| | |-- [4.3K] ccmakedep
| | |-- (略)
| | |-- [1.3K] xcursor-config
| | `-- [1.2K] xmkmf
| |-- [ 512] etc
| | |-- [ 512] fonts
| | | `-- [5.7K] fonts.dtd
| | `-- [ 512] rc.d
(略)

% tree -L 1 /usr
⇒ -L オプションで、1階層目までしか降りないよう指定
/usr/
|-- X11R6
|-- bin
|-- compat
(略)
|-- share
|-- src
`-- sup

UNIX における tree
当ページ管理人は、tree コマンドは MS-DOS バージョン4〜5 あたり(?) で登場した TREE.COM が起源だと認識している。一方、伝統的な UNIX には tree というコマンドは存在しなかった。その理由は「find コマンドで用が足りるから」という単純なものであろう。さらに言うと、tree コマンドのように出力内容に縦棒・横棒などが含まれると、人間にとっては見やすいが、パイプ経由で他のコマンドが処理をすることが難しくなってしまう。おおげさに表現するなら、tree は UNIX の思想とも言えるパイプを否定するコマンドと言える。

UNIX 界における tree コマンドの歴史は浅く、2004年ごろ(?) Linux 向けに tree コマンドが開発され、2007年現在では FreeBSD などでも利用可能となっている。しかし Solaris・HP-UX など商用の UNIX においては、ソースからコンパイルしない限り tree コマンドを使うことはできないと思われる。


頑張って書いたおすすめコンテンツ!