【Linuxコマンド】tree コマンドの使い方とよく使うオプション

概要

 
tree コマンドは、ディレクトリ配下の構造をツリー形式で見やすく表示するコマンドです。
ディレクトリの階層やファイル配置を一目で把握できるため、設計や調査、手順書作成の場面で便利です。
 

標準で入っていない環境も多く、その場合はパッケージ(例:tree)のインストールが必要になります。
「サーバのディレクトリ構造を説明したい」「設定ファイルの配置を共有したい」といった場面で活躍します。
 

フォーマット

 

tree [オプション] [ディレクトリ]

 

引数にディレクトリを指定しない場合は、カレントディレクトリを対象にツリー表示します。
階層が深いディレクトリに対しては、-L で深さを制限したり、-I で除外パターンを指定したりすると扱いやすくなります。

 

よく使うコマンド例

 

・カレントディレクトリをツリー表示する(基本)

tree

カレントディレクトリ配下のディレクトリ・ファイルをツリー形式で表示します。
まずはこれで全体像を掴んで、必要に応じて -L などで絞り込むのが定番です。

 

・特定ディレクトリをツリー表示する

tree /etc

指定したディレクトリ(この例では /etc)を対象にツリー表示します。
設定ファイルの配置確認や、構造の共有に便利です。

 

・階層の深さを 2 までに制限して表示する(-L)

tree -L 2 /var/www

-L で表示する階層の深さを制限できます。
深すぎる階層を全部出すとノイズになりやすいので、ドキュメントに載せるときは特に有効です。

 

・隠しファイル(ドットファイル)も含めて表示する(-a)

tree -a

-a を付けると、.git.env などの隠しファイル/隠しディレクトリも表示します。
構成管理や開発環境の共有で「隠しファイルも含めて見たい」場面で使います。

 

・ディレクトリだけを表示する(-d)

tree -d -L 3

-d はファイルを省いてディレクトリのみ表示します。
「ディレクトリ構造だけを説明したい」「大量のファイル表示を避けたい」場合に便利です。

 

・フルパスで表示する(-f)

tree -f -L 2 /var/log

-f を付けると、各エントリをフルパスとして表示します。
運用手順書などで「どこにあるか」を明示したい場合に役立ちます。

 

・ファイルサイズも一緒に表示する(-s)

tree -s -L 2

-s はファイルサイズも表示します。
ログや生成物が想定以上に大きくなっていないか、ざっくり把握したいときに使えます。

 

・最終更新時刻も表示する(-D)

tree -D -L 2

-D は最終更新時刻を表示します。
「最近更新されたファイルがどこか」を確認したいときに便利です。

 

・パターンに一致するものを除外して表示する(-I)

tree -I "node_modules|.git|vendor" -L 4

-I は除外パターンを指定します(複数は | で OR 条件にできます)。
依存ライブラリや Git 管理ディレクトリなど、出力したくないものを省けます。

 

・ディレクトリを先に表示して見やすくする(–dirsfirst)

tree --dirsfirst -L 2

–dirsfirst は、ディレクトリを先に表示します。
ファイル数が多いディレクトリでは、構造が追いやすくなります。

 

・出力をファイルに保存して共有する(リダイレクト)

tree -a -L 4 /var/www > tree.txt

出力をファイルに保存して、チーム内で共有したり、チケットに添付したりできます。
構成レビューの資料としても地味に使えます。

 




実務でのよくある使いどころ

 

・手順書や設計資料に「ディレクトリ構成」を載せる
Web サイトやアプリの構成を説明するとき、ツリー表示は一発で伝わります。
ただし、出力が長くなりがちなので -L-I を併用して「必要な範囲だけ」載せるのがコツです。
 

・不要ファイルが増えていないか確認する
デプロイ先に node_modules が入っていないか、不要なログや一時ファイルが増えていないかを
tree でざっと俯瞰する使い方もあります。
 

・チーム内共有や問い合わせ時の状況説明
「このサーバの /var/www の中、どうなってる?」と聞かれたときに、
tree -L 3 の出力があるだけで説明が一気に楽になります。
 

tree はシンプルですが、深さ制限(-L)除外(-I)を覚えると一気に実務で使いやすくなります。
出力が長すぎると逆に読みにくくなるので、「見せたい範囲に絞る」のがポイントです。

 

オプション(よく使うオプションのみ)

 

short optionlong optiondescription
-a--all隠しファイル(ドットファイル)も含めて表示する
-d--dirs-onlyファイルを表示せずディレクトリのみを表示する
-L表示する階層の深さを指定する(例: -L 2)
-f各エントリをフルパスで表示する
-sファイルサイズを表示する
-D最終更新時刻を表示する
-I指定したパターンに一致するファイルやディレクトリを除外して表示する(例: -I "node_modules|.git")
-P指定したパターンに一致するものだけを表示する(フィルタ)
-pパーミッション情報を表示する
-u所有ユーザ名を表示する
-g所有グループ名を表示する
-Fエントリの種別を末尾記号で示す(例: / * @ など)
--dirsfirstディレクトリを先に表示して見やすくする
-h--helptree コマンドの使い方(ヘルプ)を表示して終了する
--versiontree コマンドのバージョン情報を表示して終了する
 

ここでは、一般的に利用される tree コマンドの主なオプションを TablePress の表としてまとめている想定です。
利用できるオプションや挙動はバージョンや環境によって差があるため、必要に応じて man tree で確認してください。

ブログランキングに参加しています。クリックして応援していただけると嬉しいです。




人気ブログランキング


ブログランキング・にほんブログ村へ

にほんブログ村