今日学んだこと#
treeコマンドを使うと、ディレクトリ構造をツリー形式で表示できます。階層の深さ制限や除外パターンを指定することで、必要な情報だけを確認できます。
学習内容#
Step1: インストール#
Ubuntuではデフォルトでインストールされていないため、aptでインストールします。
sudo apt update
sudo apt install tree
Step2: 基本的な使い方#
引数なしで実行すると、カレントディレクトリ以下のすべてのファイル・ディレクトリが表示されます。
tree
ただし、階層が深かったりファイル数が多いと出力が膨大になります。-Lオプションで表示する階層の深さを制限できます。
# 2階層まで表示
tree -L 2
Step3: よく使うオプション#
| オプション | 説明 | 例 |
|---|---|---|
-L <n> | 表示する階層の深さを指定 | tree -L 2 |
-d | ディレクトリのみ表示 | tree -d |
-I <pattern> | 指定パターンを除外 | tree -I "node_modules" |
オプションは組み合わせて使えます。
# 3階層まで、ディレクトリのみ、node_modulesを除外
tree -L 3 -d -I "node_modules"
ユースケース:Hugoプロジェクトの構造確認#
Hugoブログのプロジェクトでtree -L 2を実行すると、主要なディレクトリ構成がひと目で把握できます。
$ tree -L 2
.
├── archetypes
│ └── default.md
├── assets
│ ├── css
│ ├── img
│ └── js
├── config
│ └── _default
├── content
│ └── posts
├── layouts
│ ├── partials
│ └── series
├── public
│ ├── css
│ ├── posts
│ └── ...
├── static
│ └── ...
└── themes
└── blowfish
lsだけでは把握しづらい入れ子構造も、treeなら一発で確認できます。
まとめ#
treeはディレクトリ構造をツリー形式で表示するコマンド-L <n>で階層の深さを制限できる-dでディレクトリのみ、-Iで除外パターンを指定可能- プロジェクト全体の構造把握に便利