「ls」で示される2つのディレクトリがあります。通常、ディレクトリはどこでも黒の背景に青色です。しかし、最初のものは緑が青で、読むことが不可能です。どうしてこれなの?黒を青に、または少なくとも暗いものを明るいものにする方法は?
これはUbuntu 12.04で、Gnomeターミナルでbashを使用しています。コンソーレでは、青は少し暗く、読むことができますが、もっと良いかもしれません。
ls
は、ファイルの種類に基づいてファイルに色を付けるほか(オーディオファイルには青緑色、アーカイブと圧縮ファイルには明るい赤、画像と動画には紫)、属性に基づいてファイルとディレクトリに色を付けます。
o+w, +t
)ことを示します。o+w, -t
)。Stephano Palazzo 以上 Ask Ubunt は、さまざまな属性の色について非常に有益な画像を作成しました。
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色をサポートしています。
XTerm 256色の前景色のコードは次の形式です。
38;5;[FOREGROUND_COLOR]
XTerm 256色の背景色コードは次の形式です。
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
たとえば、赤い背景に黒いテキストを作成するには(カラーコードのリストについては here を参照):
OTHER_WRITABLE 30;41 # dir that is other-writable (o+w) and not sticky
すべてのデフォルトを設定する必要はありません。1行のファイルを作成して、変更するファイルのみを再定義することもできます。とにかく、ファイルを作成したら、次のファイルをロードします。
eval "$(dircolors ~/.dircolors)";
そしてここでそれは動作しています:
これを自動的に実行するには、上記のeval
コマンドを~/.bashrc
ファイルに追加します。
すべての技術的な答えは真実ですが、寛大に、またはcriss + crossをコピーするために少し権利を放棄したという、少し非公式の警告だと思います...(ほとんどの場合、私たちはすべて、最初に物事を機能させるために、 ?)
黒を青にする方法は?...
あなたが最も望む可能性が高い権利に戻るのに適した「グリーン化」は、次のステートメントです。
chmod -R a-x,o-w,+X thatGreenFolderWithSubfolders/
大文字の+ X「特別な実行」の目的を理解している場合、つまり Wikipedia を参照してください。
これは、「+」と一緒に使用する場合にのみ、通常は-Rオプションと組み合わせて、通常のファイル(テキストファイルなど)に実行権限を設定せずに、グループまたは他の大きなディレクトリツリーへのアクセス権を付与する場合にのみ役立ちます。 「chmod -R a + rx ...
同じ質問がありました terdon's answer is niceですが、dirnameとdircolorsの間に混乱があると思いますか?
とにかく、さらに調査した後、色を変更することができたので、ここで自分の解決策を共有します。いつか誰かに役立つかもしれません!
したがって、3つの簡単なステップ:
まず、terdonが言ったように、デフォルトの色をファイルにコピーします
dircolors -p > ~/.dircolors
次に、このファイルを変更します。中には色の値がいくつかありますが、さらに見つかりました here :)
そして最後に、次の行を~/.bashrc
ファイルに追加して、ターミナルを開いたときに色が自動的に読み込まれるようにします。
eval 'dircolors ~/.dircolors' > /dev/null
ボイラ:)
問題をすばやく修正するには、(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
は*.'.
で始まるルールを削除します
端末で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.
}
その後
LS_COLORS="$C:ow=38;5;250;48;5;025";t
別の回答(Thomas Nymanの回答)で述べたように、38;5;
は前景のx-term 256色のプレフィックスであり、48;5;
は背景のx-term 256色のプレフィックスです。ただし、256色はすべての端末でサポートされているわけではありません。
また、AskUbuntuの -lsでのさまざまな色の意味は何ですか?- も参照してください。
これは、これを実行すると、このフォルダーにアクセス許可があることを意味します。
bgcolorを削除します:)
PuTTYで緑の色調を変更して、テキストを読みやすくすることができます。
PuTTYを開き、Window\Coloursに移動して、「ANSI Green」を選択し、濃い緑色に設定します(R:0 G:70 B:0)。