(最終更新月:2023年5月)
✔このような方へ向けて書かれた記事となります
「treeコマンドのインストール方法が知りたい」
「treeコマンドでは何ができるのだろうか?」
「treeコマンドを応用した使い方の実例が見たい」
✔当記事を通じてお伝えすること
- treeコマンドとは?
- treeコマンドの使い方やオプション一覧
- treeコマンドの実例
当記事では、treeコマンドについての基本はもちろん、その応用した使い方まで実例付きで解説しています。
ぜひ最後までご覧ください。
treeコマンドにおける基礎知識
treeコマンドの基礎知識について見ていきましょう。
応用した使い方を知る前に、必ず目を通しておきたい内容です。
- treeコマンドの概要
- treeコマンドの構成
- カレントディレクトリのファイル構造を表示する
- 指定したディレクトリのファイル構造を表示する
- 隠しファイルも表示する方法
treeコマンドの概要
treeコマンドは、ディレクトリとファイルの階層構造を木構造(ツリー)で表示するコマンドラインツールです。
プロジェクトのフォルダ構成を一目で把握したり、不要なファイルやフォルダを見つけるのに役立ちます。
例えば、開発プロジェクトでさまざまなファイルやフォルダが混在している際に、どのような構成になっているのかを簡単に確認できます。
treeコマンドの構成
treeコマンドの基本的な構成は以下のようになります。
tree [オプション] [ディレクトリ]
例えば、特定のディレクトリを指定せずにtreeコマンドを実行すると、カレントディレクトリのツリー構造が表示されます。
カレントディレクトリのファイル構造を表示する
以下のコマンドを実行すると、カレントディレクトリのファイル構造を表示できます。
tree
実行結果は、ディレクトリやファイルが階層構造で表示されます。例えば、以下のような出力が得られます。
.
├── dir1
│ ├── file1.txt
│ └── file2.txt
├── dir2
│ ├── file3.txt
│ └── subdir1
│ └── file4.txt
└── file5.txt
指定したディレクトリのファイル構造を表示する
treeコマンドにディレクトリを指定することで、そのディレクトリのファイル構造を表示できます。
例えば以下は、「/home/yulikepython/documents」ディレクトリのファイル構造をを表示する方法です。
tree /home/yulikepython/documents
隠しファイルも表示する方法
隠しファイルを表示するには、`-a`オプションを使用しなければなりません。
なぜなら通常は、treeコマンドは隠しファイル(ファイル名がドット(.)で始まるファイル)を表示しないからです。
tree -a
treeコマンドのインストール方法
treeコマンドのインストール方法を見ていきましょう。
その方法はOSにより異なります。
- Windowsでのインストール方法
- macOSでのインストール方法
- Linuxでのインストール方法
Windowsでのインストール方法
Windowsにはデフォルトでtreeコマンドがインストールされています。
コマンドプロンプトを開いて「tree」と入力し、Enterキーを押すことで使用できます。
macOSでのインストール方法
macOSでは、Homebrewというパッケージマネージャーを使ってtreeコマンドをインストールします。
もしHomebrewがインストールされていない場合は、公式サイト(https://brew.sh/)の手順に従ってインストールしてください。
その後、以下のコマンドを実行してtreeコマンドをインストールします。
brew install tree
Linuxでのインストール方法
Linuxでは、ディストリビューションによってインストール方法が異なります。
以下は、主要なディストリビューションでのインストール方法です。
Ubuntu / Debian系
sudo apt update
sudo apt install tree
Fedora
sudo dnf install tree
CentOS / RHEL:
sudo yum install tree
treeコマンドのオプション一覧
treeコマンドのオプションにはさまざまなものがあります。
その説明や具体例までまとめましたので、ご覧ください。
オプション名 | 説明 | 実例 |
---|---|---|
-a | 隠しファイルも表示する | tree -a |
-d | ディレクトリのみ表示する | tree -d |
-h | ファイルサイズを表示する | tree -h |
-D | ファイルの最終更新日時を表示する | tree -D |
-o | 出力結果をファイルに保存する | tree -o output.txt |
-P | 指定した拡張子のファイルを表示する | tree -P ‘*.txt’ |
-L | 指定した階層までの表示を制限する | tree -L 2 |
-I | 指定したパターンのファイルを無視する | tree -I ‘*.txt’ |
-F | ファイルやディレクトリに種類を示す記号を付けて表示する | tree -F |
-r | 表示結果を逆順にソートする | tree -r |
-n | 表示結果を名前順にソートする | tree -n |
-t | 表示結果を最終更新日時順にソートする | tree -t |
-u | ファイルの所有者を表示する | tree -u |
-g | ファイルのグループを表示する | tree -g |
-p | ファイルのパーミッションを表示する | tree -p |
-C | ファイルの種類に応じて色付けを行う | tree -C |
-l | シンボリックリンクのリンク先を表示する | tree -l |
treeコマンドのオプション使用例
treeコマンドのオプション使用例を具体的に見ていきましょう。
実際のコマンドを見たほうが、よりイメージが湧きやすいです。
- ディレクトリのみ表示するオプション
- ファイルサイズを表示するオプション
- ファイルの最終更新日時を表示するオプション
- 出力結果をファイルに保存するオプション
- ファイルの拡張子ごとにフィルタリングするオプション
- レベル制限を設定するオプション
- 特定のファイル・ディレクトリを表示しない
ディレクトリのみ表示するオプション
ファイルを表示せず、ディレクトリのみを表示するには、`-d`オプションを使用します。
tree -d
ファイルサイズを表示するオプション
ファイルサイズを表示するには、`-h`オプションを使用します。
ファイルサイズは、適切な単位(B, K, M, Gなど)で表示されます。
tree -h
ファイルの最終更新日時を表示するオプション
ファイルの最終更新日時を表示するには、`-D`オプションを使用します。
tree -D
出力結果をファイルに保存するオプション
treeコマンドの出力結果をファイルに保存するには、`-o`オプションに続けてファイル名を指定します。
tree -o output.txt
上記のコマンドを実行すると、ツリー構造の出力が「output.txt」というファイルに保存されます。
ファイルの拡張子ごとにフィルタリングするオプション
特定の拡張子を持つファイルのみを表示するには、`-P`オプションを使用し、引数にパターン(拡張子)を指定します。
例えば、以下のコマンドは、`.txt`ファイルのみを表示します。
tree -P '*.txt'
レベル制限を設定するオプション
ツリー構造の表示を特定の階層までに制限するには、`-L`オプションを使用し、引数に制限したい階層数を指定します。
例えば、以下のコマンドは、ツリー構造を2階層まで表示します。
tree -L 2
特定のファイル・ディレクトリを表示しない
-I(大文字のアイ)オプションを使えば、特定のディレクトリを表示しないようにできます。
node_modulesなどサイズの大きなファイルに使うと有効です。
tree -I node_modules
実践編:treeコマンドを活用するシーン
treeコマンドを実践で活用する場面について見ていきます。
いろいろな場面で使えるのがわかるでしょう。
- プロジェクトのフォルダ構成を確認する
- 不要なファイルやフォルダを見つける
- バックアップ時のフォルダ構成を把握する
- ディレクトリ構造をドキュメントに記載する
プロジェクトのフォルダ構成を確認する
開発プロジェクトで、フォルダ構成を把握するためにtreeコマンドを活用できます。
プロジェクトのルートディレクトリでtreeコマンドを実行することで、全体の構成を一目で確認できます。
不要なファイルやフォルダを見つける
treeコマンドを使用して、ディレクトリ内のファイルやフォルダの構成を確認し、不要なファイルやフォルダを見つけられます。
例えばバックアップファイルや古いバージョンのファイルが存在している場合に、これらを特定して削除できます。
バックアップ時のフォルダ構成を把握する
treeコマンドを使用して、バックアップ対象のフォルダ構成を把握し、バックアップ時にどのファイルやフォルダが含まれているかを確認できます。
これにより、バックアップの整合性や正確性を確認することができます。
ディレクトリ構成を共有する
treeコマンドを使って出力されたディレクトリ構成は、ほかの開発者やチームメンバーと共有する際に役立ちます。
特に、リモートでの作業が多い場合や新しいメンバーがプロジェクトに参加した際に、プロジェクトのフォルダ構成を簡単に共有することができます。
treeコマンドの代替ツール紹介
treeコマンドに替えられるツールについても見ていきましょう。
- グラフィカルなツールの紹介
- 他のコマンドラインツールの紹介
グラフィカルなツールの紹介
コマンドラインツールでなく、グラフィカルなインターフェースでディレクトリ構造を表示するツールもあります。
以下は、主要なグラフィカルなツールの例です。
- QDirStat (Linux, Windows)
- WinDirStat (Windows)
- Disk Inventory X (macOS)
QDirStat (Linux, Windows)
QDirStat は、ディレクトリ構造をツリーマップ形式で表示できます。
ファイルサイズや最終更新日時などの詳細情報も確認できます。
公式サイト:https://github.com/shundhammer/qdirstat
WinDirStat (Windows)
WinDirStatは、Windows向けのディレクトリ統計ビューアで、QDirStatのWindows版です。
ディレクトリ構造をツリーマップ形式で表示し、容量やファイル数などの情報も提供します。
公式サイト:https://windirstat.net/
Disk Inventory X (macOS)
Disk Inventory Xは、macOS向けのディスク使用状況ビューアで、ディレクトリ構造をツリーマップ形式で表示します。
公式サイト:http://www.derlien.com/
他のコマンドラインツールの紹介
treeコマンド以外にも、コマンドラインでディレクトリ構造を表示するツールがいくつか存在します。
以下は、主要なコマンドラインツールの例です。
- exa (Linux, macOS)
- Ncdu (Linux, macOS)
exa (Linux, macOS)
exaは、lsコマンドの代替として開発されたツールで、ディレクトリ構造をツリー形式で表示できます。オプションを組み合わせることで、さまざまな情報を表示できます。
公式サイト:https://the.exa.website/
Ncdu (Linux, macOS)
Ncduは、ディスク使用状況を分析するためのコマンドラインツールです。ディレクトリ構造を表示し、ファイルサイズや削除などの操作も可能です。
公式サイト:https://dev.yorhel.nl/ncdu
まとめ
当記事でお伝えしたことは以下のとおり。
- treeコマンドのインストール方法
- 基本的な使い方
- オプション一覧
- 活用シーン
ディレクトリやファイルの階層構造を一目で把握できるtreeコマンドは、プロジェクトの整理や共有に大変便利です。
今後もtreeコマンドを活用して、効率的なファイル管理をおこないましょう。
さまざまなオプションを組み合わせることで、さらに詳細な情報を取得できるので、適切なオプションを使い分けることも重要です。
今回紹介した内容を参考に、ぜひtreeコマンドを使いこなしてください。