Windows コマンドプロンプト以外でも Tree コマンドが使いたい!

Windows コマンドプロンプトで唯一便利だと思うのは tree コマンドだ。カレントディレクトリ配下のファイル構成が一目で分かる。

今回はコレを Mac や Linux でも使えないか調べてみた。

目次

MacOS で tree

Mac では Homebrew を使って tree コマンドをインストールできる。

$ brew install tree

なんとお手軽。w

Linux で tree

実は Linux 系 OS でも、同様に tree コマンドがインストールできる。

RedHat 系 (CentOS や Fedora) は yum、Debian 系 (Ubuntu など) は apt-get でそれぞれインストールできる。

# RedHat 系
$ yum install tree

# Debian 系
$ apt-get install tree

Windows で tree

コマンドプロンプト利用時は、標準搭載しているのでそのまま使える。

GitBash を使う場合は、GnuWin32 の「Tree for Windows」が使える。

この URL からバイナリ (tree.exe) をダウンロードし、C:\Program Files\Git\usr\bin\ にでも入れておき、実行権限を与えておく。

ただ、このままだと日本語ファイル名を tree した時に文字化けしてしまうので、ターミナル側で設定が必要になる。

GitBash 標準の場合は、Options → Text で「Character set」を「SJIS」にしておく (Locale もついでに「ja_JP」にしておくと良いかと)。

ConEmu で GitBash を使っている時は、文字化け (日本語ファイル名の数値化) を上手く避けきる方法が見つからず。chcp.com を使って一時的にコードページ 932 (Shift-JIS) を指定して、tree -N と叩くと上手く行った。

$ chcp.com 932 && tree -N

このままだと今度は ls などで日本語が文字化けするので chcp.com 65001 で元の UTF-8 に戻す必要がある。

chcp.com を使うと、reset コマンド相当のバッファのクリアが行われるので、コンソール出力を残したまま前後の作業ができないのがイマイチ。

以上

実は tree を標準搭載している Windows 環境での (コマンドプロンプト以外の) tree が一番難しかった、というオチ。w