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
このままだとディレクトリ名がとても見にくくなってしまいますね。
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
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
# 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 | 白 |
# vi .bachrc
eval `dircolors -b ~/.colorrc`
alias ls='ls --color=auto'
これでいつ新しいシェルを起動しても、文字カラーが固定されるはずです。 自分のターミナルエディタで見やすいように、その他のカラーを変更してみてください。
eval `dircolors -b ~/.colorrc`
alias ls='ls --color=auto'