【便利コマンド】tree コマンドでファイル名を出力する方法

tree コマンドは、ディレクトリ構造をツリー形式で視覚的に表示できる便利なコマンドです。特に、特定のディレクトリ以下にあるファイルの一覧を確認したいときに役立ちます。
本記事では、tree コマンドを使ってファイル名を出力する基本的な方法と、オプションを使った便利な使い方を紹介します。

資料作成等で良く使います
Windowsの場合
基本的な使い方
treeコマンドは、現在のディレクトリの中身をツリー形式で出力するときに使います。treeコマンドを使うにはコマンドプロンプトを起動して、下記を入力します。
tree
例えば、E\dev\MinimalAPIというディレクトリの中身をツリー形式で見たい場合、cdコマンド等でディレクトリを移動してからtreeコマンドを実行します。


僕はエクスプローラーのパス窓で「cmd」と入力する方法をよく使います。

ファイルも出力したい場合
デフォルトではディレクトリしか出力されません。ファイルも出力する場合は、オプション『/f』を付与します。
tree /f
このコマンドを実行した結果が下記です。


ファイルも出力されました!
WindowsのtreeコマンドはLinux/macOS に比べてオプションが少なく、ファイルの一覧をフィルタしたり加工する場合は PowerShell などの活用が必要になります。
macOS/Linux の場合
macOS では Homebrew を使って tree コマンドをインストールする必要があります。
brew install tree
基本的な使い方
Windowsと同様に、コマンドを実行するとツリー形式で出力できます。
tree
ファイル名だけを出力したい場合
オプションを追加することで、ファイル名のみを出力できます。
tree -fi | grep -v '/$'
- -f : 各ファイル・ディレクトリのフルパスを表示
- -i : インデント(ツリー形式)を無効にしてシンプルなリスト形式で出力
- grep -v ‘/$’ : ディレクトリ名(末尾に / が付く)を除外
なお、grepコマンドは「特定の文字列やパターンを検索する」ときに使います。grepコマンドの前にある「|」は「パイプライン」と呼ばれるもので、前のコマンドでの処理結果を次のコマンドに引き渡す役割があります。ここでは、treeの結果をgrepに引き渡しています。
さらに細かく指定したい場合
条件を追加することで、より細かく指定することが可能です。
例えば、拡張子を指定したい場合は下記のようになります。今回は.txtファイルを一覧表示します。
tree -fi | grep -v '/$' | grep '\.txt$'
ファイル数をカウントする場合はこちらです。
tree -fi | grep -v '/$' | wc -l
隠しファイルを含める場合は下記のようにして実行します。
tree -fai | grep -v '/$'
まとめ
treeコマンドは様々なオプションを追加することで、ディレクトリ構造をツリー形式で出力できる便利なコマンドです。
やりたいこと | Windows | macOS / Linux |
---|---|---|
ファイルを含めて表示 | tree /f /a | tree -fi | grep -v ‘/$’ |
特定の拡張子のみ表示 | Powershell等で加工 | tree -fi | grep -v ‘/$’ | grep ‘.{拡張子}$’ |
ファイル数のカウント | Powershell等で加工 | tree -fi | grep -v ‘/$’ | wc -l |
隠しファイルを含める | 非対応 | tree -fai | grep -v ‘/$’ |
環境ごとにできることに違いはありますが、ディレクトリ構造の確認には非常に便利です。必要に応じてツールやスクリプトと組み合わせて活用しましょう。

参考になればうれしいです!