エックスサーバーは、SSH を使ってターミナルエミュレータでログインすることができますが、tree
コマンドが使えません。
ということで、tree
コマンドを導入する手順を紹介します。
目次
1. tree
コマンドとは?
tree
コマンドは、指定したパスにおけるディレクトリとファイルの階層構造を分かりやすく表示してくれるコマンドです。
実行例
$ tree /proc/fs
/proc/fs
├── ext4
│ └── sda3
│ ├── es_shrinker_info
│ ├── mb_groups
│ └── options
├── jbd2
│ └── sda3-8
│ └── info
├── jfs
│ ├── lmstats
│ ├── mpstat
│ ├── txstats
│ └── xtstat
├── nfsd
└── xfs
├── stat -> /sys/fs/xfs/stats/stats
├── xqm
└── xqmstat
7 directories, 11 files
2. エックスサーバーに tree
コマンドをインストールする手順
(1) エックスサーバーに SSH でログインする
ログインしたら、適当な作業ディレクトリを用意して、そこに移動します。
今回は、~/local/src
以下で作業します。
$ cd ~/local/src
(2) ソースファイルをダウンロードする
ウェブブラウザで、ftp://mama.indstate.edu/linux/tree/ を開き、最新バージョンを確認します。
現時点では(2018年)では、1.7.0 が最新版であり、ソースファイルである tree-1.7.0.tgz
のURLは、ftp://mama.indstate.edu/linux/tree/tree-1.7.0.tgz であることが分かります。

ターミナルエミュレータ上で以下のコマンドを実行し、tree-1.7.0.tgz
ファイルをダウンロードします。
$ wget ftp://mama.indstate.edu/linux/tree/tree-1.7.0.tgz
解凍します。
$ tar zxf tree-1.7.0.tgz
tree-1.7.0
という名前のディレクトリが生成されますで、その中に移動します。
$ cd tree-1.7.0
$ ls
CHANGES Makefile color.c hash.c html.o strverscmp.c tree.h unix.o
INSTALL README color.o hash.o json.c tree tree.o xml.c
LICENSE TODO doc html.c json.o tree.c unix.c xml.o
(3) インストール先のディレクトリを変更する
インストールの方法について INSTALL
というファイルに書いてありますので目を通します。
$ less INSTALL
このままだと、tree
は /usr
ディレクトリ以下にインストールされますが、そこにインストール(ファイルの設置)を行う権限(パーミッション)はありませんので、インストール先を自分のホームディレクトリ以下に変更します。
今回は、/home/あなたのユーザー名/local/tree-1.7.0
というディレクトリにインストールします。
インストール先を変更するためには、Makefile
ファイルを編集します。
$ vim Makefile
「prefix = /usr」という行がありますので、そこを以下のように書き換えます。
prefix = /home/あなたのユーザー名/local/tree-1.7.0
※ ユーザーのホームディレクトリ以下であれば、どこでもよいです。
(4) インストールを実行する
あとは、コンパイル & インストールを行います。
$ make
$ make install
これで、/home/あなたのユーザー名/local/tree-1.7.0
ディレクトリが生成されているはずです。
(5) tree
コマンドにパスを通す
tree
コマンドは、/home/あなたのユーザー名/local/tree-1.7.0/bin
の下にあります。
$ ~/local/tree-1.7.0/bin/tree --version
tree v1.7.0 (c) 1996 - 2014 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro
パスが通っているディレクトリ以下に tree
コマンドのシンボリックリンクを作成しておきましょう。
例えば、~/.bash_profile
ファイルに以下を記述しておけば、~/local/bin
にパスが通ります(次回ログイン以降)。
export PATH=$HOME/local/bin:$PATH
この場合であれば、以下のコマンドでシンボリックリンクを作成します。
$ ln -s ~/local/tree-1.7.0/bin/tree ~/local/bin/
これで、”tree” と入力すれば、そのまま tree
コマンドを実行することができるはずです。
$ tree --version
tree v1.7.0 (c) 1996 - 2014 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro
3. おわりに
tree
コマンドは導入がラクでありがたいです。