回答:
タイプに基づいてファイルを色付けする(オーディオファイルは青緑色、アーカイブと圧縮ファイルは明るい赤、画像とビデオは紫)以外ls
に、属性に基づいてファイルとディレクトリも色付けします。
o+w, +t
)。o+w, -t
)。Stephanoパラッツォでオーバーの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色をサポートしています。
XTerm 256色の前景色の形式は次のとおりです。
38;5;[FOREGROUND_COLOR]
XTerm 256色の背景色コードの形式は次のとおりです。
48;5;[BACKGROUND_COLOR]
ここでFOREGROUND_COLOR
and BACKGROUND_COLOR
は0〜255の範囲の数値です。16および256カラーモードのカラーコードの完全なリストを以下のスクリーンショットに示します。
38;5;
xterm 256色のフォアグラウンドカラーコードを開始します。 48;5;
xterm 256色の背景色コードを開始します。私のdircolorsは出力のシアンはあり38;5;51
ません 36
結果は同じですが。
の色はls
許可を表すことができます。一部のシステムのデフォルトでは、全員が書き込み許可を持つディレクトリを緑の背景で表示します。
(から)$LS_COLORS
を使用して変数を編集することにより、色を変更できます。dircolors
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)";
そして、ここで動作しています:
これを自動的に行うには、eval
上記のコマンドを~/.bashrc
ファイルに追加します。
eval "$(dircolors ~/dircolors)";
、より直接的な方法のような代わりにdircolors ~/dircolors
?
技術的な答えはすべて真実ですが、私はそれを少し非公式の警告とみなします。あなたは寛大に、またはcriss + crossをコピーする権利を少し与えたということです... ?)
黒に青にする方法は...?
あなたが最も望む可能性が高い権利に戻るための良い「環境保護」は、この声明です:
chmod -R a-x,o-w,+X thatGreenFolderWithSubfolders/
大文字の+ X「特別な実行」の目的を理解している場合、Wikipediaを参照してください。
「+」で使用し、通常は-Rオプションと組み合わせて使用すると、通常のファイル(テキストファイルなど)に実行権限を設定せずにグループまたはその他の大きなディレクトリツリーへのアクセスを許可する場合にのみ本当に役立ちます。 「chmod -R a + rx ...」を使用しました。
私は同じ質問を持っていました、テルドンの答えは素晴らしいですが、dirnameとdircolorsの間には混乱があると思いますか?
とにかく、いくつかのさらなる研究の後、私は色を変えることができたので、ここで私のソリューションを共有しています。いつか誰かに役立つかもしれません!
したがって、3つの簡単なステップ:
まず、terdonが言ったように、デフォルトの色をファイルにコピーします
dircolors -p > ~/.dircolors
次に、このファイルを変更します。あなたは内部の色のいくつかの値を見つけることができますが、私はここでもっと見つけました :)
最後に、~/.bashrc
ターミナルを開いたときに自動的に色がロードされるように、ファイルに次の行を追加します。
eval 'dircolors ~/.dircolors' > /dev/null
Voilà:)
~/.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'
置き換え33
によって34
nobgの青いのために。さらに簡単に、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 で異なる色は何を意味するのか?
これは、これを実行するとこのフォルダーに権限があることを意味します。
сhmodog-w AU_LI
bgcolorを削除します:)
テキストを読みやすくするために、Puttyの緑のトーンを変更できます。
Puttyを開いてWindow \ Coloursに移動し、[ANSI Green]を選択して、暗い緑(R:0 G:70 B:0)に設定します。