カラー出力を表示する方法をls
理解してください。ファイル拡張子に関連付けられているデフォルトのカラーデータベースがあり、次のコマンドを使用して印刷できます。dircolors
dircolors
dircolors --print-database
私が理解したところによると、man dir_colors
システム全体のデータベースはにあるはずです/etc/DIR_COLORS
。しかし、このファイルは私のシステム(Debian)には存在しません。システム全体の色設定を変更するにはdircolors
?ファイルが存在しない場合、dircolors --print-database
このコマンドはどこから設定を取得しますか?
私はユーザーが~/.dircolors
自分の設定を使用してユーザー固有のファイルを持つことができることを知っていますが、誰もが設定を変更する必要があるため、私には適していません。
2番目の質問は、8ビットカラーをdircolorとして使用できるかどうかです。私の端末はですxterm-256color
。
ベストアンサー1
ls
環境変数から色設定を取得しますLS_COLORS
。dircolors
これは環境変数を生成する便利な方法です。この環境変数をシステム全体に適用するには、それをシェルの起動ファイルに保存します。
の場合は、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/zshrc
zsh
/etc/profile
zsh
dircolors
設定をどこから取得するかについては、ファイルを指定しない限り、組み込みのデフォルト値の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!