ねもぷらす

ふぁいんでぃんぐねもの日記。プログラミングとか育児とか

ls の結果に色をつける

デフォルトで着いてないのが不思議な感じですが、lsの結果に色をつける場合は -G オプションを使えばよい。

$ ls -G

ls結果は以下に一覧する11種類の属性に色分けすることが出来る。
また、環境変数 "LSCOLORS" に色は文字色と背景色の組み合わせで設定されている。
LSCOLORS のデフォルトは exfxcxdxbxegedabagacad

設定できる属性とデフォルト色

順番 属性 デフォルト色(文字色 x 背景色) 設定
1 ディレクトリ 青 x 背景色 ex
2 シンボリックリンク マゼンダ x 背景色 fx
3 ソケットファイル 緑 x 背景色 cx
4 FIFO特殊ファイル 茶 x 背景色 dx
5 実行ファイル 赤 x 背景色 bx
6 ブロック型特殊ファイル 青 x シアン eg
7 キャラクタ型特殊ファイル 青 x 茶 ed
8 setuid bit が設定された実行形式 黒 x 茶 ab
9 setgid bit が設定された実行形式 黒 x シアン ag
10 他者が書き込み可能なディレクトリ、sticky bit 付き 黒 x 緑 ac
11 他者が書き込み可能なディレクトリ、sticky bit 無し 黒 x 茶 ad

使える色一覧

設定値
a
b
c
d
e
f マゼンタ
g シアン
h 明い灰
A 太字の黒で、通常暗い灰に見える
B 太字の赤
C 太字の緑
D 太字の茶で、通常黄色に見える
E 太字の青
F 太字のマゼンタ
G 太字のシアン
H 太字の明い灰で、明い白に見える
x デフォルトの前景色と背景色

設定を反映させる

ターミナルの環境設定で Pro を使っていると、ディレクトリの青が若干見づらい。
ので、シアン(明るい青)に替える場合の tip、先頭の一文字を e → g に変えただけ。

$ vi ~/.profile
...
#export LSCOLORS=exfxcxdxbxegedabagacad
 export LSCOLORS=gxfxcxdxbxegedabagacad
alias ls='ls -G'

$ source ~/.profile