サーバ環境セットアップ

lsコマンドで表示される文字カラーを変更

lsコマンドではファイルリストを一覧表示する際、好みによってファイル名・ディレクトリ名をカラー表示できます。

現在カラー表示されていない場合は、試しに「--color=auto」オプションを付けて「lsコマンドを」使うと、現在環境設定されているカラーで表示されます。

# ls -al --color=auto

drwxr-xr-x 2 root root 4096 Apr 30 2014 ODBCDataSources
-rw-r--r-- 1 root root 2981 May 7 16:06 adduser.conf
-rw-r--r-- 1 root root 51 May 7 16:07 aliases
-rw-r--r-- 1 root root 12288 May 7 16:07 aliases.db
drwxr-xr-x 2 root root 4096 Jul 13 22:38 alternatives
drwxr-xr-x 8 root root 4096 Aug 10 00:34 apache2
このままだとディレクトリ名がとても見にくくなってしまいますね。

早速、現在のカラー設定(環境変数 $LS_COLORS)を確認します。(下記の設定はLinuxのバージョン、ディストリビューション等によって異なります)
# dircolors -p
RESET 0 DIR 01;34 LINK 01;36 MULTIHARDLINK 00 FIFO 40;33 SOCK 01;35 DOOR 01;35 CHR 40;33;01 ORPHAN 40;31;01 SETUID 37;41 SETGID 30;43 CAPABILITY 30;41 STICKY_OTHER_WRITABLE 30;42 OTHER_WRITABLE 34;42 STICKY 37;44

デイレクトリの文字カラーが青(34)になっているので、これを水色(36)に変更してみます。

# export LS_COLORS='di=01;36'
# ls -al --color=auto

drwxr-xr-x 2 root root 4096 Apr 30 2014 ODBCDataSources
-rw-r--r-- 1 root root 2981 May 7 16:06 adduser.conf
-rw-r--r-- 1 root root 51 May 7 16:07 aliases
-rw-r--r-- 1 root root 12288 May 7 16:07 aliases.db
drwxr-xr-x 2 root root 4096 Jul 13 22:38 alternatives
drwxr-xr-x 8 root root 4096 Aug 10 00:34 apache2

ここまでは試しに文字色を変えてみましたが、恒久的に文字カラーを設定するためには、環境設定ファイルを書き出しましょう。
# dircolors -p > ~/.colorrc
このコマンドで、ホームディレクトリに「.colorrc」ファイルが書き出されているはずです。このファイルを編集します。
先ほど「dircolors -p」コマンドで見た通り、ディレクトリ名の文字カラーを修正したい場合は、「DIR 01;34」の文字色のコードを「36(水色)」に変更します。

文字効果コード
コード効果
00標準
01太字
04下線
05点滅
文字色コード
コード文字色
30
31
32
33
34
35
36水色
37
文字背景色コード
コード背景色
40
41
42
43
44
45
46水色
47
最後に「.colorrc」をシェル起動時に有効になるよう、「.bashrc」等に設定すればOK
# vi .bachrc
eval `dircolors -b ~/.colorrc`
alias ls='ls --color=auto'
これでいつ新しいシェルを起動しても、文字カラーが固定されるはずです。 自分のターミナルエディタで見やすいように、その他のカラーを変更してみてください。