メインコンテンツへスキップ

treeコマンド:ディレクトリ構造を可視化する

·
TIL Linux CLI
目次

今日学んだこと
#

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で除外パターンを指定可能
  • プロジェクト全体の構造把握に便利

参考
#