bashのCLICOLORおよびLS_COLORS


48

リストの色付けのために、.bashrcに次のセットアップがあります。

CLICOLOR = 1をエクスポート
export LS_COLORS = 'no = 00:fi = 00:di = 00; 34:ln = 01; 36:pi = 40; 33:so = 01; 35:do = 01; 35:bd = 40; 33; 01: cd = 40; 33; 01:or = 40; 31; 01:ex = 01; 32:*。tar = 01; 31:*。tgz = 01; 31:*。arj = 01; 31:*。taz = 01; 31:*。lzh = 01; 31:*。zip = 01; 31:*。z = 01; 31:*。Z = 01; 31:*。gz = 01; 31:*。bz2 = 01; 31:*。deb = 01; 31:*。rpm = 01; 31:*。jar = 01; 31:*。jpg = 01; 35:*。jpeg = 01; 35:*。gif = 01; 35: * .bmp = 01; 35:*。pbm = 01; 35:*。pgm = 01; 35:*。ppm = 01; 35:*。tga = 01; 35:*。xbm = 01; 35:*。 xpm = 01; 35:*。tif = 01; 35:*。tiff = 01; 35:*。png = 01; 35:*。mov = 01; 35:*。mpg = 01; 35:*。mpeg = 01; 35:*。avi = 01; 35:*。fli = 01; 35:*。gl = 01; 35:*。dl = 01; 35:*。xcf = 01; 35:*。xwd = 01; 35:*。ogg = 01; 35:*。mp3 = 01; 35:*。wav = 01; 35: ';

このサイトは色のコードを示しています。ディレクトリの色を「明るい色」に変更したいと思います。ただし、次のようにdiを作成しても影響はありません。

di = 04; 94

興味深いのは、LS_COLORSをコメントアウトした後でも、CLICOLOR = 1があれば色付きの出力を見ることができるということです。

  • ディレクトリの色をライトブルー(94)にするにはどうすればよいですか?
  • CLICOLORとLS_COLORSには何がありますか?着色がLS_COLORSなしで機能するのはなぜですか?

回答:


53

lsには色の実装がいくつかあり、それらのいくつかを混同しました。

  • のFreeBSDMac OS Xのlsショーの色場合はCLICOLOR環境変数が設定されている場合や、-Gコマンドラインに渡されます。実際の色はLSCOLORS環境変数を使用して設定されます(この変数が設定されていない場合は、組み込みのデフォルトが使用されます)。ディレクトリを水色で表示するには、次を使用します

    export LSCOLORS=Exfxcxdxbxegedabagacad
  • GNUのlsの、例えばLinux上で、lsショーの色場合は、--colorコマンドラインに渡されます。実際の色は、LS_COLORS環境変数によって設定されます。環境変数は、dircolorsコマンドで設定できます(この変数が設定されていない場合、組み込みのデフォルトが使用されます)。


5
答えてくれて、Exfxcxdxbxegedabagacadの意味を教えてもらえますか?
prosseek

@prosseek:リンクしているmanページをご覧ください。たとえば、最初の2文字はディレクトリの前景と背景であり、e濃い青をE意味し、淡い青をx意味し、デフォルトを意味します。f3番目の位置では、シンボリックリンクがマゼンタなどになります。
ジル「SO-悪であるのをやめる」

これらの同じ行で、treeショーの色を作成するにはどうすればよいですか?ツリーは私のDebianマシンでは色を表示しますが、私のMacでは色を表示しません。環境変数は、上記のように色に対して存在します。だから、私のMacはlsコマンドではなく色を表示しますtree。brewでツリーをインストールしました。
DanCat

2
@DanCat知らない。treeそして、ls無関係なユーティリティです、1の設定は他にも適用される理由はありません。別の質問として質問する必要があります。
ジル「SO-悪であるのをやめる」

1
怠け者(私のような)には、LSCOLORSジェネレーターgeoff.greer.fm/lscolors
うどんだん

11

CLICOLORとLS_COLORSには何がありますか?着色がLS_COLORSなしで機能するのはなぜですか?

CLICOLOR色をオンまたはオフにします。LS_COLORS必須ではなく、色をカスタマイズできます。

一部のオペレーティングシステム(MacOSXやFreeBSDなど)では、値の名前はLSCOLORSでなくであることに注意してくださいLS_COLORS

LS_COLORSを使用して色を設定することは避けます。100個の異なるコンピューターと10個の異なるUn * xesに同じ配色を適用する必要があるためです。代わりに、ほとんどのUnixホストで同じように機能するターミナルプログラムで色を変更します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.