2つのディレクトリが「ls」。通常、ディレクトリはどこでも黒の背景に青です。しかし、最初のものは緑に青で、読むことが不可能です。どうしてこれなの?黒地に青にする方法、または少なくとも暗いものに明るいものを作成するにはどうすればよいですか?
これはUbuntu12.04で、Gnomeターミナルでbashを使用しています。 Konsoleでは、青は少し暗く、読むことができますが、はるかに優れている可能性があります。
回答
色付けは別としてタイプに基づいてファイル(オーディオファイルの場合はターコイズ、アーカイブと圧縮ファイルの場合は明るい赤、画像とビデオの場合は紫)、ls
は、属性に基づいてファイルとディレクトリにも色を付けます。
- 背景が緑色の黒いテキストは、ディレクトリが所有しているユーザーとグループ以外のユーザーによって書き込み可能であり、スティッキービットが設定されていることを示します(
o+w, +t
) 。 - 背景が緑色の青色のテキストは、ディレクトリが所有しているユーザーとグループ以外のユーザーによって書き込み可能であり、スティッキービットが設定されていないことを示します( 2613218656 “>
)。
ステファノパラッツォ Ask Ubuntu は、さまざまな属性の色についてこの非常に有益な図を作成しました:
terdon が指摘しているように、色の設定はdircolors
。さまざまなカラー設定のリストには、dircolors --print-database
でアクセスできます。
BLK 40;33;01
などの出力の各行、の形式は次のとおりです。
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
-
TARGET
は、カラーリングルールのターゲットを示します -
TEXT_STYLE
はテキストスタイルを示します:-
00
=なし -
01
=太字 -
04
=下線 -
05
=点滅 -
07
=逆、 -
08
=非表示
-
-
FOREGROUND_COLOR
は前景色を示します:-
30
=黒 -
31
=赤 -
32
=緑 -
33
=黄色 -
34
=青、 -
35
=マゼンタ -
36
=シアン -
37
=白
-
-
BACKGROUND_COLOR
は背景色を示します:-
40
=黒 -
41
=赤 -
42
=緑 -
43
=黄色 -
44
=青、 -
45
=マゼンタ -
46
=シアン -
47
=白
-
フィールドは右から省略できます。たとえば、.tar 01;31
は太字と赤を意味します。
XTermおよびその他のほとんどの最新の端末エミュレーターは、256色をサポートしています。
XTerm256色の前景色のカラーコードは次の形式です。
38;5;[FOREGROUND_COLOR]
XTerm256色の背景色のコードは次の形式です。フォーム:
48;5;[BACKGROUND_COLOR]
FOREGROUND_COLOR
とBACKGROUND_COLOR
の両方が0〜255の範囲に番号を付けます。以下のスクリーンショットに、16および256カラーモードのカラーコードの完全なリストを示します。
コメント
回答
ls
の色で権限を表すことができます、一部のシステムのデフォルトでは、全員が書き込み権限を持っているディレクトリが緑色の背景で表示されます。
dircolors
を使用して$LS_COLORS
変数を編集することで色を変更できます(man ls
から):
Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it.
ここでの構文は確かにちょっと面倒ですが、必要な色のファイルを作成して~/.dircolors
:
dircolors -p > ~/.dircolors
このコマンドは、デフォルトを~/.dircolors
に出力します。次に、そのファイルを編集して、次の行を変更する必要があります。
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
たとえば、赤い背景に黒いテキストにする場合(カラーコードのリストについてはこちら):
OTHER_WRITABLE 30;41 # dir that is other-writable (o+w) and not sticky
すべてのデフォルトを設定する必要はありません、1行でファイルを作成し、変更したいファイルだけを再定義することもできます。とにかく、ファイルを作成したら、次のコマンドでロードします。
eval "$(dircolors ~/.dircolors)";
実際に動作しています:
これを自動的に行うには、
コマンドを~/.bashrc
ファイルに追加します。
コメント
- デフォルトの色は、元の作者が私たちと私たちの目を嫌っていることを示しているようです…
- ありがとうございます。なぜ〜/ .dirname、時には〜/ dircolors、時には〜/と書くのですか? .dircolors?それらは同じであるはずですか?
- Thアンクス。
dircolors ~/dircolors
などのより直接的な方法ではなくeval "$(dircolors ~/dircolors)";
なのはなぜですか? - @Tim dircolorsは設定のみを出力するため、読むためには評価する必要があります。
- 誰が読むために?
回答
技術的な答えはすべて真実ですが、少し非公式な警告だと思います。寛大に権利を与えたり、cris + crossをコピーしたりすることです…(ほとんどの場合、私たち全員がそうします) 、最初に機能させるには、え?)
黒地に青にする方法…?
最も必要と思われる権利に戻るための優れた「デグリーン」は、次のステートメントです。
chmod -R a-x,o-w,+X thatGreenFolderWithSubfolders/
大文字の+ X「特別な実行」の目的を理解している場合、つまりウィキペディア
「+」と組み合わせて使用する場合にのみ、通常は組み合わせて使用すると非常に便利です。通常のファイル(テキストファイルなど)の実行権限を設定せずに、グループまたはその他の大きなディレクトリツリーへのアクセスを許可するための-Rオプションを使用します。これは、通常、「chmod -R a + rx …
回答
色を変更するために使用した3つの手順は次のとおりです。
まず、デフォルトの色をファイルにコピーします
dircolors -p > ~/.dircolors
次に、このファイルを変更します。内部の色の値をいくつか見つけることができます。その他の値は次のとおりです。
Code Color 0 Default Colour 1 Bold 4 Underlined 5 Flashing Text 7 Reverse Field 31 Red 32 Green 33 Orange 34 Blue 35 Purple 36 Cyan 37 Grey 40 Black Background 41 Red Background 42 Green Background 43 Orange Background 44 Blue Background 45 Purple Background 46 Cyan Background 47 Grey Background 90 Dark Grey 91 Light Red 92 Light Green 93 Yellow 94 Light Blue 95 Light Purple 96 Turquoise 100 Dark Grey Background 101 Light Red Background 102 Light Green Background 103 Yellow Background 104 Light Blue Background 105 Light Purple Background 106 Turquoise Background
(ソース)
最後に、~/.bashrc
ファイルに次の行を追加して、端末を開いたときに色が自動的に読み込まれるようにします。
eval "dircolors ~/.dircolors" > /dev/null
~/.zshrc
の場合:
if [[ -f ~/.dircolors ]] ; then eval $(dircolors -b ~/.dircolors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi
回答
問題をすばやく修正するには(nobgで他の書き込み可能なファイルを黄色にします):
LS_COLORS+=":ow=01;33"
nobgの青の33
を34
に置き換えます。さらに簡単に、nobgでnofgにするには:
LS_COLORS+=:ow=
変更を永続的にするには、.profileに追加します:
echo "export LS_COLORS+=":ow=01;33"" >> ~/.profile
LS_COLORSの拡張機能に関連しないルールを表示するには:
echo "$LS_COLORS" | sed "s/:/\n/g" | grep -v "\*."
sed
は各ルールを1行に配置し、grep
は*.".
Toで始まるルールを削除しますターミナルでls
の色を調べ、
C="$LS_COLORS" function sc () { echo "$LS_COLORS" | sed "s/:/\n/g" | grep -v "\*." } function t () { ls /mnt # Or the path to your example directory. }
次に
別の回答(Thomas Nymanの回答)で述べられているように、38;5;
は前景のx項256色の接頭辞であり、48;5;
背景のx-term256色。 256色はすべての端末でサポートされているわけではありません。
も参照してください-AskUbuntuのlsで異なる色はどういう意味ですか?- 。
コメント
-
LS_COLORS+=':ow=01;33'
を~/.zshrc
は、git-repo内のディレクトリのcolor-backgroundを無効にするのに役立ちました。これは、Pengwin-WSLディストリビューションを搭載したWindows10マシン上にあります。これで、git-repo内のすべてのディレクトリが読み取り可能になります。
回答
これは、このフォルダに権限があることを意味します。これを実行します:
сhmodog-wAU_LI
削除されますbgcolor 🙂
回答
これを修正するには、 ow
パラメーター
例:
~LS_COLORS="fi=0:ln=5:pi=0:so=7:bd=5:cd=5:or=31:mi=0:ex=93:*.py=36:di=40:*.zip=33:*.tgz=33" ~ls -l
ここで、を追加します(OTHER_WRITABLE
)オプション
~export LS_COLORS="fi=0:ln=5:pi=0:so=7:bd=5:cd=5:or=31:mi=0:ex=93:*.py=36:di=40:*.zip=33:*.tgz=33:ow=0" ~ls -l
コメント
- .dir_colorsを使用して色を変更する場合は、
OTHER_WRITABLE 34;43
を追加できます。おかげで: gist.github.com/jmoz/280005/ …
回答
Puttyの緑の色調を変更して、テキストを読みやすくすることができます。
Puttyを開き、ウィンドウに移動します。 \ Colours、「ANSI Green」を選択し、濃い緑色(R:0 G:70 B:0)に設定します。
38;5;
は、xterm 256色の前景色コードを開始します。48;5;
は、xtermの256色の背景色コードを開始します。 dircolors出力のシアンは38;5;51
ではありません36
ですが、結果は同じです。