LSCOLORS環境変数
BSD版(macOSやFreeBSDなど)のlsコマンドのls -Gで表示されるファイル・ディレクトリの色を変更するには、環境変数LSCOLORSを設定する。CLICOLOR環境変数を設定すると、-Gオプションなしでも自動的に色が有効になる。
ターミナルのテーマによってはデフォルトの色が見づらい。その場合は好みの色に変更するとよい。
例
$ export LSCOLORS=gxfxcxdxbxegedabagacad
$ ls -G
macOSの場合、LSCOLORSのデフォルト値はexfxcxdxbxegedabagacadah。
Linux(GNU版のls)では LS_COLORS という環境変数を使用し、設定形式も異なる。この記事はBSD版(macOS、FreeBSD)のlsコマンドについて説明している。
LSCOLORSの基本構造
LSCOLORSは22文字列で構成され、2文字ずつの11ペアとなっている。(最新macOSでは12ペア24文字のLSCOLORSもサポートされているが、基本的な構造は同じ)
- 1文字目: Foreground color(文字色)
- 2文字目: Background color(背景色)
並び順
LSCOLORSの11ペアの並び順は以下の通り。
| ペア位置 | ファイルタイプ |
|---|---|
| 1 | ディレクトリ |
| 2 | シンボリックリンク |
| 3 | ソケット |
| 4 | パイプ(名前付きパイプ) |
| 5 | 実行可能ファイル |
| 6 | ブロックデバイス |
| 7 | キャラクタデバイス |
| 8 | setuid された実行ファイル |
| 9 | setgid された実行ファイル |
| 10 | スティッキービット付き・他者書込可 |
| 11 | スティッキービットなし・他者書込可 |
| 12 | dataless file(最新macOSのみ) |
色コード
LSCOLORSで使用できる色コードは以下の通り。
| コード | 色 |
|---|---|
| a | 黒 (black) |
| b | 赤 (red) |
| c | 緑 (green) |
| d | 茶 (brown) |
| e | 青 (blue) |
| f | 紫 (magenta) |
| g | シアン (cyan) |
| h | ライトグレー (light gray) |
| A | 黒 (bold black、灰色に見える) |
| B | 赤 (bold red) |
| C | 緑 (bold green) |
| D | 茶 (bold brown、黄色に見える) |
| E | 青 (bold blue) |
| F | 紫 (bold magenta) |
| G | シアン (bold cyan) |
| H | ライトグレー (bold light grey) |
| x | デフォルト (default) |
設定の永続化
.zshrcや.bashrcなどのシェルの設定ファイルに上記のexport LSCOLORS=...を追加しておくとよい。
\第一線のプログラマーの行動原理を学べる!/
