tree はディレクトリの中身を枝分かれの図で表示するコマンドです。深さを制限する `-L`、ディレクトリだけを見る `-d`、隠しファイルも出す `-a` の使い方を、ブラウザ上のターミナルで打ちながら確認できます。
最終更新: 2026-09-06
tree [オプション] [ディレクトリ]
ディレクトリを指定しなければ、いまいる場所を起点にします。
$ tree
.
├── docs
│ └── guide.md
├── node_modules
│ └── left-pad
│ └── index.js
├── package.json
├── README.md
└── src
├── components
│ └── Button.js
├── index.js
└── utils.js
5 directories, 7 files
線でつながっているので、どのファイルがどのディレクトリに入っているかが一目で分かります。 最後の行に、ディレクトリとファイルの数が出ます。
素の tree は下まで全部たどるので、node_modules のような大きなディレクトリがあると画面が埋まります。
-L で何階層まで見るかを決められます。
$ tree -L 1
.
├── docs
├── node_modules
├── package.json
├── README.md
└── src
3 directories, 2 files
-L 2 なら、その1つ下まで開きます。
$ tree -L 2
.
├── docs
│ └── guide.md
├── node_modules
│ └── left-pad
├── package.json
├── README.md
└── src
├── components
├── index.js
└── utils.js
5 directories, 5 files
初めて触るプロジェクトでは、まず tree -L 2 から始めると全体像をつかめます。
-d を付けると、ファイルを省いてディレクトリだけを描きます。
$ tree -d
.
├── docs
├── node_modules
│ └── left-pad
└── src
└── components
5 directories
「どこに何が置かれているか」ではなく「どういう構成か」を知りたいときは、これが一番速いです。
ディレクトリを渡すと、そこを起点にします。
$ tree src
src
├── components
│ └── Button.js
├── index.js
└── utils.js
1 directory, 3 files
. で始まるファイルは既定では出ません。
-a を付けると出ます。
$ tree -a
.
├── .env
├── .gitignore
├── docs
│ └── guide.md
├── node_modules
│ └── left-pad
│ └── index.js
├── package.json
├── README.md
└── src
├── components
│ └── Button.js
├── index.js
└── utils.js
5 directories, 9 files
tree は、初めて開くプロジェクトの全体像をつかむときに打つコマンドです。
| 場面 | 打ち方 |
|---|---|
| 初めてのリポジトリを眺める | tree -L 2 |
| 構成だけを確かめる | tree -d |
| 設定ファイルの置き場所を探す | tree -a -L 1 |
| 一部のディレクトリだけ見る | tree src |
| README に貼る図を作る | tree -L 2 > structure.txt |
-L には数字が要ります。
$ tree -L 0
tree: Invalid level, must be greater than 0.
1 以上を渡してください。
ディレクトリしか渡せません。
$ tree nope
tree: nope: No such file or directory
最初から入っていないことがあります。
ls や cd と違い、tree は別途インストールが要る環境が多いコマンドです。
サーバーで見つからないときは ls -R で代用できます。
線は描かれませんが、下の階層まで一覧にはできます。
webterm.appこのサイト
ターミナル応用
特定場面で役立つコマンドを学ぶ
learn.webterm.app別のサイト
