dircolors - lsコマンドの色表示を設定する

スポンサーリンク

dircolorsコマンドは、lsコマンドの色表示を設定するコマンドを出力します。

lsコマンドの色設定を変更するためには、環境変数LS_COLORSを指定する必要があり、dircolorsコマンドはこのLS_COLORSを設定するコマンドを出力します。

dircolorsコマンドとevalコマンドを組み合わせることで、lsコマンドで表示する特定のファイル拡張子のファイルやディレクトリ等の色表示設定をすることができます。

色設定のコマンドを出力
(オプションなし)

dircolorsを引数なしで利用された場合、dircolorsでのデフォルトの色設定ファイルデータベースを元にした色設定のためのコマンドを出力します。

コマンド例

実行結果

また、dircolorsコマンドは色設定ファイルを指定することができ、その色設定ファイルからコマンドを作成することもできます。

コマンド例

test_dircolors_file

実行結果

設定ファイルの'#'以降の文字はコメントになります。

実際に色設定を変更する場合、dircolorsで出力したコマンドを実行するためにevalコマンドを利用します。

コマンド例

色設定の設定ファイルデータベースを表示
(-pオプション)

-pオプションを用いることで、dircolorsコマンドで処理する前のデフォルトの色設定データベースを表示することが出来ます。このデータベースを色設定ファイルとしてそのまま利用することができ、また、これを修正することで別の色設定ファイルを作成することが出来ます。

コマンド例

実行結果

TERMは、環境変数TERMが指定されたものの場合に色設定が取得できるようになります。

txtファイルの色を設定

デフォルトの色設定に加えて、拡張子が.txtのファイルの色を設定します。ここでは、色設定の確認のため、特にファイルを作成することなく、Bashの機能であるプロセス置換を用います。プロセス置換の構文は、

であり、コマンドの実行結果をファイルのように扱うことができます。ここで、txtファイルに設定するのは太字、テキストカラー:黄色、背景色:シアンになります。

コマンド例

実行結果

txt-file-color

色設定の数字はdircolorsのpオプションで出力された設定ファイルのコメントから確認できます。

参考

GNU Coreutils: dircolors invocation