dircolors:カラー設定を完全に変更します。

dircolors:カラー設定を完全に変更します。

カラー出力を表示する方法をls理解してください。ファイル拡張子に関連付けられているデフォルトのカラーデータベースがあり、次のコマンドを使用して印刷できます。dircolorsdircolors

dircolors --print-database

私が理解したところによると、man dir_colorsシステム全体のデータベースはにあるはずです/etc/DIR_COLORS。しかし、このファイルは私のシステム(Debian)には存在しません。システム全体の色設定を変更するにはdircolors?ファイルが存在しない場合、dircolors --print-databaseこのコマンドはどこから設定を取得しますか?

私はユーザーが~/.dircolors自分の設定を使用してユーザー固有のファイルを持つことができることを知っていますが、誰もが設定を変更する必要があるため、私には適していません。

2番目の質問は、8ビットカラーをdircolorとして使用できるかどうかです。私の端末はですxterm-256color

ベストアンサー1

ls環境変数から色設定を取得しますLS_COLORSdircolorsこれは環境変数を生成する便利な方法です。この環境変数をシステム全体に適用するには、それをシェルの起動ファイルに保存します。

の場合は、bash次の場所に配置できます/etc/profile

# `dircolors` prints out `LS_COLORS='...'; export LS_COLORS`, so eval'ing
# $(dircolors) effectively sets the LS_COLORS environment variable.

eval "$(dircolors /etc/DIR_COLORS)"

の場合、起動時に読み取るようにzsh設定またはスケジュールできます。あなたのディストリビューションですでにこれを行っている可能性があります。私はすべての人の設定が使用するシェルによって異なることを指摘したかったです。/etc/zshrczsh/etc/profilezshdircolors

設定をどこから取得するかについては、ファイルを指定しない限り、組み込みのデフォルト値のdircolors一部のみを使用します。

dircolorsファイルでは256色のエスケープコードを使用できますが、互換性のある端末xtermでのみ機能することに注意してください。xtermたとえば、Linuxテキストコンソールでは実行できません。

256色エスケープコード形式は、前38;5;colorN景色と48;5;colorN背景色の両方に適用されます。たとえば、

.mp3  38;5;160                   # Set fg color to color 160      
.flac 48;5;240                   # Set bg color to color 240
.ogg  38;5;160;48;5;240          # Set fg color 160 *and* bg color 240.
.wav  01;04;05;38;5;160;48;5;240 # Pure madness: make bold (01), underlined (04), blink (05), fg color 160, and bg color 240!

おすすめ記事