【LS_COLORS設定値一覧】ファイル種類・文字色・背景色のパラメータまとめ(保存版)

はじめに

この記事では、Linux(GNU版)の ls コマンドの色を変更する環境変数 LS_COLORS で使えるパラメータ(属性・文字色・背景色)を一覧でまとめています。

メイン記事で紹介したように、LS_COLORS<対象>=<属性>;<文字色>;<背景色> というルールで記述し、複数ある場合は :(コロン)で繋ぎます。

メイン記事: 【LS_COLORS】lsコマンドの結果を見やすく!ファイル種類ごとに色を変えるLS_COLORS設定【Linuxコマンド入門 Part4-10】

この記事を辞書代わりに使って、自分だけの見やすいターミナル環境を作ってみてください!

ls colorsで指定できる文字色をターミナルで表示した表示。

1. 対象ファイルの指定方法(左側の文字)

色の設定を「何に対して適用するか」を指定します。大きく分けて「ファイルの種類(2文字のアルファベット)」と「拡張子」の2パターンの指定方法があります。

拡張子で指定する場合

特定の拡張子を持つファイルに色をつけたい場合は、ワイルドカード(*)を使って指定します。

  • 例: *.txt=01;32 (txtファイルを太字の緑色にする)
  • 例: *.sh=05;31 (shファイルを点滅する赤色にする)

ファイルの種類で指定する場合(2文字コード一覧)

ディレクトリやリンクなど、Linux特有のファイル属性に対して指定するコードです。

コード意味(対象)デフォルトの例
diディレクトリ(フォルダ)01;34 (太字の青)
lnシンボリックリンク(ショートカット)01;36 (太字の水色)
ex実行可能ファイル(プログラム)01;32 (太字の緑)
fi通常のファイル(※未指定時のベース)00 (標準色)
soソケットファイル01;35 (太字の紫)
pi名前付きパイプ (FIFO)40;33 (黒背景・黄)
bdブロックデバイス(HDDなど)40;33;01 (黒背景・太字の黄)
cdキャラクターデバイス40;33;01 (黒背景・太字の黄)
orリンク切れの孤立したシンボリックリンク40;31;01 (黒背景・太字の赤)

2. 色とスタイルの指定方法(右側の数字)

= の右側に書く数字の組み合わせです。属性;文字色;背景色 の順番で書くのが一般的ですが、必要なものだけ(文字色だけ等)を書くこともできます。

① 文字の属性(スタイル)

番号スタイル備考
00標準(リセット)基本の太さ・装飾なし
01太字(ボールド)最もよく使われます
04下線(アンダーライン)
05点滅(ブリンク)ターミナルソフトによっては非対応
07反転(リバース)文字色と背景色を入れ替える

※ 表にない抜けは環境によって使えないことが多いものになります。属性は以下のようになっています。

  • 02 : 薄文字(対応ターミナルが少なく、標準色になる場合が多い)
  • 03:斜体(最近のmacとかだと使えることがある)
  • 06:高速点滅(多くの環境では無視または05と同じゆっくり点滅になる)
  • 08:非表示(内部的にパスワード入力時などに使われるらしい)
  • 09:取り消し線(最近のターミナルだと使えることがある)

② 文字色

以下の30~37が基本の8色になります。

番号番号
30黒 (Black)34青 (Blue)
31赤 (Red)35紫/マゼンタ (Magenta)
32緑 (Green)36水色/シアン (Cyan)
33黄 (Yellow)37白/グレー (White)

(※最近の環境では 90~97(ダークグレーから明るい白まで)などの拡張カラーも使用可能です。)

ls colorsで指定できる文字色をターミナルで表示した表示。

ターミナルで確認してみた例

表示色確認ワンライナー

自身の環境でどんな色か確認したい場合は以下を実行すると確認できます。

echo -e "Standard:\n$(for i in {30..37}; do echo -en "\e[${i}m ${i} \e[0m"; done)\n\nBright:\n$(for i in {90..97}; do echo -en "\e[${i}m ${i} \e[0m"; done)"

③ 背景色

文字色と対応して30番代だったものを40番代にしたものを指定できます。 同じく、最近の環境だと明るい色として100番代を使えることもあります。

番号番号
40黒背景44青背景
41赤背景45紫背景
42緑背景46水色背景
43黄背景47白背景

(※最近の環境では 100~107(ダークグレーから明るい白まで)などの拡張カラーも使用可能です。)

【組み合わせ例】どう書けばいいの?

例1:ディレクトリを「太字」の「水色」にしたい場合

  • 対象:di
  • 太字:01
  • 水色:36
  • 書き方: di=01;36
export LS_COLORS="$LS_COLORS:di=01;36"
ls-colors環境変数でlsの表示を変えてみた例。diを青色から水色表示に変更

変更してみたターミナルの表示例

例2:.env ファイルを「赤背景」の「白文字」で「太字」にしたい場合

  • 対象:*.env
  • 属性・色:01 (太字)、37 (白文字)、41 (赤背景)
  • 書き方: *.env=01;37;41
export LS_COLORS="$LS_COLORS:*.env=01;37;41"

【コラム】Linuxのデフォルト色設定はどうなっている?

実は、何も設定していなくても、OSのデフォルト設定で多くのファイルに色がついています。今回調査した環境のデフォルト設定を見ると、Linuxがファイルをどう分類しているかが見えて面白いですよ。

  • アーカイブ・圧縮ファイル(赤色 01;31):*.tar, *.zip, *.gz, *.deb, *.rpm など、容量の大きいまとまったファイルは「太字の赤」で目立つようになっています。
  • 画像・動画ファイル(紫色 01;35):*.jpg, *.png, *.mp4, *.avi などのメディアファイルは「太字の紫(マゼンタ)」に統一されています。
  • 音声ファイル(水色 00;36):*.mp3, *.wav, *.flac などは、動画と区別するために「標準の太さの水色」になっています。
  • バックアップ・一時ファイル(ダークグレー 00;90):*.bak, *.tmp, *.old, *~ など、普段はあまり意識しなくてよいファイルは、目立たない「暗いグレー」に設定されています。

自分の環境の完全な設定リストを見たい場合は、ターミナルで echo $LS_COLORS と実行してみてください。


メイン記事に戻る

この一覧を活用して、自分好みの LS_COLORS を作ってみてください!

設定の反映方法や、.bashrc への保存方法については、元の記事をご覧ください。

lscolorの設定から使用できるパラメータまとめ。実用的な利用方法を紹介。Linuxコマンド入門第4シリーズ。

【LS_COLORS】lsコマンドの結果を見やすく!ファイル種類ごとに色を変えるLS_COLORS設定【Linuxコマンド入門 Part4-10】

ターミナルの視認性を劇的に改善!Linuxのlsコマンドで表示されるファイルやディレクトリの色を「LS_COLORS」で自分好みに変更する方法を分かりやすく解説。見えにくいフォルダ色の改善から、特定拡張子のハイライト設定まで、作業効率が上がるカスタマイズ術です。