lsコマンドの出力に色を付ける
lsコマンドの出力結果に色を付ける方法について調べてみました. manコマンドでlsの説明を見ると,どうやらls -Gとすれば色が付くみたいです.
ls -G
と実行した結果がこちら.
ただ,そのままだと見づらい....
自分の好きな色にしたいときは環境変数LSCOLORSを変更すれば良いようです.
デフォルトは以下のような設定になってます.
LSCOLORS=exfxcxdxbxegedabagacad
順番とアルファベットによってそれぞれの場所に色を設定します.
順番と場所の対応はそれぞれ以下のようになっていて,文字の色,文字の背景の順番に指定します.
順番
順番 | 場所 |
---|---|
1,2 | ディレクトリ |
3,4 | シンボリックリンク |
5,6 | ソケット |
7,8 | パイプ |
9,10 | 実行形式 |
11,12 | ブロックスペシャル |
13,14 | キャラクタスペシャル |
15,16 | setuid ビットが設定された実行形式 |
17,18 | setgid ビットが設定された実行形式 |
19,20 | 他者 が書き込み可能なディレクトリ,スティッキービットが設定あり |
21,22 | 他者 が書き込み可能なディレクトリ,スティッキービットが設定なし |
色は次のような対応になってます.
色
それぞれ,大文字にすると太字になります.
- a:ブラック
- b:レッド
- c:グリーン
- d:ブラウン
- e:ブルー
- f:マゼンタ
- g:シアン
- h:ライトグレイ
- x : デフォルト
例えば,ディレクトリの文字をシアンの太字,
実行可能ファイルをマゼンタの太字にしたければ次のように設定すれば行けます.
export LSCOLORS=GxfxcxdxFxegedabagacad
結果が次のようになります.
自分好みに改変していくのは楽しそうですね.
起動時から設定する方法
自分のホームディレクトリの.bashrcに以下の二行を追加するだけでOKです.
alias ls='ls -G'
export LSCOLORS=GxfxcxdxFxegedabagacad
すると,起動時にも設定が反映されることになります.