- 製造業出身のデータサイエンティストがお送りする記事
- tree ディレクトリやファイルをツリー状に表示するコマンドです。ディレクトリ構成を整理する際に便利だったのでメモとして残しておきます。
インストール
Homebrew からインストールできます。
確認方法
下記のコマンドでtree のバージョンを確認できます。
基本的な実行方法
tree の基本的な実行方法は下記です。
tree のオプション(表示対象関係)
| オプション |
内容 |
| -a |
・名前がドットから始まるディレクトリも含めて表示する(「.」と「..」は対象外) |
| -d |
・ディレクトリだけを表示する |
| -l |
・シンボリックリンクをたどる |
| -f |
・各ファイルやディレクトリを指定したディレクトリからのパスを付けて表示する(指定しなかった場合はカレントディレクトリから) |
| -x |
・他のファイルシステムを対象としない(findコマンドの-xdevオプション相当) |
| -L 深さ |
・表示するディレクトリの深さ(1以上の整数を指定) |
| -P パターン |
・パターンにマッチしたファイルだけを表示する(該当するファイルがない場合もディレクトリは表示)。パターンにはパス名展開と同様に「*」「?」「[A-Z]」などを用いた指定が可能 |
| -I パターン |
・パターンにマッチしなかったファイルだけを表示する |
| -o ファイル名 |
・指定したファイルにtreeの出力を保存する |
| --prune |
・空のディレクトリを出力しない(-Pや-Iで、表示対象のファイルが見つからなかったディレクトリを表示しない) |
| --filelimit エントリ数 |
・指定した数を超えるエントリを持つディレクトリの内部を表示しない(--filelimit 10では、表示内容が10以内のディレクトリの内部のみを表示する) |
tree のオプション(並べ替え関係)
| オプション |
内容 |
| -t |
・ファイルの更新時刻順に表示 |
| -c |
・ファイルのステータス変更時刻順で表示 |
| -r |
・アルファベットの逆順で表示(-tや-cと併用した場合は時刻の逆順) |
| -U |
・並べ替えずに表示(デフォルトはアルファベット順) |
| --dirsfirst |
・ディレクトリを先に表示(-Uを指定している場合は無効) |
tree のオプション(表示内容関係)
| オプション |
内容 |
| -q |
・表示できない文字を「?」で置き換えて表示 |
| -N |
・表示できない文字を8進数で置き換えて表示 |
| -Q |
・ファイル名を二重引用符で囲んで表示 |
| -p |
・パーミッションを表示(「ls -l」相当) |
| -u |
・ファイルの所有者を表示 |
| -g |
・ファイルの所有グループを表示 |
| -s |
・ファイルのサイズ(バイト数)を表示 |
| -h |
・ファイルのサイズを単位付きで表示 |
| -D |
・ファイルの更新時刻を表示(「-c」を併用している場合はステータスの変更時刻を表示) |
| -F |
・ファイルの種類を表示(「ls -F」相当) |
| --si |
・ファイルのサイズをSI系(1000の倍数)の単位付きで表示 |
| --du |
・ディレクトリのサイズ(「du -c」相当)を表示 |
| --timefmt フォーマット |
・タイムスタンプの表示フォーマットを指定(%Y、%m、%dなどが使用可能 ※1)、「-D」オプションを指定した扱いとなる |
| --inodes |
・ファイルのiノード番号を表示 |
| --device |
・ファイルのデバイス番号を表示 |
| --noreport |
・表示したディレクトリとファイルの個数を表す末尾のレポート行を表示しない |
tree のオプション(グラフィックおよびHTML/XML関係)
| オプション |
内容 |
| -i |
・ツリー状にインデントせずに表示 |
| -A |
・ツリー表示の線を滑らかなけい線で表示 |
| -S |
・ツリー表示の線をASCIIのけい線文字で表示(「--charset=IBM437」相当) |
| -C |
・常に色付きで表示 |
| -n |
・常に色なしで表示(「-C」を打ち消す) |
| -H URLの起点 |
・HTML形式で表示。ファイル名部分は「URLの起点」とパスを組み合わせたリンクとなる |
| -T タイトル |
・HTML出力時のタイトル |
| -X |
・XML形式で出力 |
| --charset 文字セット |
・ツリーを表す線に使用する文字セットや、HTMLやXML出力時に指定する文字セットを指定 |
| --nolinks |
・HTML出力時にリンクを出力しない |