lsコマンドでディレクトリとファイルの色を変更する方法
あなたが実行した場合 ls
Bashでコマンドを実行すると、表示されるディレクトリとファイルがその種類に応じて色分けされていることがわかります。独自の配色をカスタマイズして、さまざまなテキストの色、背景色、および太字や下線のような書式を選択できます。.
この仕組み
配色はLS_COLORS変数に格納されます。現在の配色を見るには、変数の内容を印刷するようにBashに指示します。
echo $ LS_COLORS
あなたはファイルタイプと番号コードの長いリストを見るでしょう。このようなリストを自分で作成する方法を説明します.
これを試す前に、LS_COLORS変数の現在の内容を別の変数に保存しておくことをお勧めします。これにより、シェルからサインアウトしてサインインし直したり、ターミナルウィンドウを閉じたり再度開いたりすることなく、デフォルト設定をすばやく復元できます。 LS_COLORS変数の現在の内容をORIGINALという名前の新しい変数に保存するには、次のコマンドを実行します。
ORIGINAL = $ LS_COLORS
いつでも次のコマンドを実行して、変更を元に戻してデフォルトの色に戻すことができます。
LS_COLORS = $ ORIGINAL
ファイルを編集して新しいデフォルトにするまで、変更は常に一時的なものです。いつでもサインアウトしてサインインし直すか、端末ウィンドウを閉じて再度開くと、色をデフォルト設定に戻すことができます。ただし、これにより、単一の迅速なコマンドで簡単に実行できます。.
カスタムカラーを設定する方法
LS_COLORS変数には、関連付けられたカラーコードと一緒にファイルタイプのリストが含まれています。デフォルトのリストはたくさんの異なるファイルタイプに対して異なる色を指定するので長いです.
これがどのように機能するかを示すための基本的な例を始めましょう。ディレクトリの色をデフォルトの太字の青から太字の赤に変更するとします。これを行うには、次のコマンドを実行します。
LS_COLORS = "di = 1; 31"
の di = 1; 31
ビットは言う ls
そのディレクトリ(ジ
)です(=
) 大胆な (1;
) 赤 (31
).
ただし、これはディレクトリを1色として定義し、他のすべての種類のファイルをデフォルトの色として残す、非常に単純なLS_COLORS変数です。拡張子が.desktopのファイルも下線付きのシアン色にしたいとしましょう。これを行うには、次のコマンドを実行します。
LS_COLORS = "di = 1:31:*。デスクトップ= 4; 36"
これは言う ls
そのディレクトリ(ジ
)です(=
) 大胆な (1;
) 赤 (31
)と(:
.desktopで終わるファイル*。デスクトップ
)は(=
下線を引いた(4;
)シアン(36
).
これは、ファイルの種類と色の一覧をまとめるためのプロセスです。 filetype = colorの形式で、コロン(:)文字で区切って好きなだけ指定します。.
あなた自身のリストを組み立てるために、あなたはカラーコードとファイルタイプコードのリストを知る必要があるでしょう。これは、Bashプロンプトで色を変更するときに使用するのと同じ数値カラーコードを使用します。.
前景テキストのカラーコードのリストは次のとおりです。
- 黒:30
- 青:34
- シアン:36
- グリーン:32
- パープル:35
- 赤:31
- 白:37
- イエロー:33
たとえば、黄色のテキストはカラーコード33なので、次のようにします。 di = 33
ディレクトリを黄色にする.
これがテキストの色属性のリストです。
- 通常のテキスト:0
- 太字または淡色:1(端末エミュレータによって異なります)
- 薄暗いテキスト:2
- 下線付きテキスト:4
- 点滅テキスト:5(これはほとんどの端末エミュレーターでは機能しません。)
- 反転テキスト:7(これは前景色と背景色を反転させるため、現在のテキストが黒い背景の白いテキストの場合、白い背景の黒いテキストが表示されます。)
- 隠しテキスト:8
属性または複数のカラーコードを指定するときは、コードのリストをセミコロン(;)文字で区切ります。ここで属性を指定しない場合は通常のテキストが使用されるため、通常のテキストに0を指定する必要はありません。.
たとえば、太字のテキストはカラーコード1、黄色のテキストはカラーコード33なので、次のように入力します。 di = 1; 33
ディレクトリを太字にします。複数の属性を指定することもできます。たとえば、 di = 1; 4; 33
ディレクトリを太字にし、黄色の下線を引く.
背景色のコードは次のとおりです。
- 黒背景:40
- 青色の背景色:44
- シアンの背景:46
- 緑の背景:42
- 紫色の背景:45
- 赤の背景:41
- 白背景:47
- 黄色の背景:43
たとえば、青い背景はカラーコード44なので、次のようにします。 di = 44
ディレクトリに青い背景を使用します。背景色コード、前景色カラーコード、および必要な数の属性を組み合わせることもできます。例えば, di = 1; 4; 33; 44
青色の背景に太字の下線付きの黄色のテキストを表示します。.
これがファイルタイプコードのリストです:
- ディレクトリ:di
- ファイル:fi
- シンボリックリンク:ln
- 名前付きパイプ(FIFO):pi
- ソケット:そう
- ブロックデバイス:bd
- キャラクターデバイス:cd
- 孤立したシンボリックリンク(もはや存在しないファイルを指している):または
- 行方不明のファイル(孤立したシンボリックリンクが指す行方不明のファイル):mi
- 実行ファイル( "x"許可を持つ):ex
- *。拡張子:指定した拡張子で終わるファイル。たとえば、拡張子が.txtのファイルには* .txt、拡張子が.mp3のファイルには* .mp3、拡張子が.desktopのファイルには* .desktopなどを使用します。あなたは好きなだけ多くの異なるファイル拡張子を指定することができます.
:文字で区切って、さまざまな種類のファイルタイプコードを好きなだけ色分けして指定します。このプロセスを繰り返してLS_COLORS変数を組み立てます。.
たとえば、ディレクトリに太字の紫色のテキスト、実行可能ファイルに赤の下線付きのテキスト、および.mp3ファイルに赤の背景に太字の緑色のテキストを使用するとします。上記のリストからファイルタイプコードとカラーコードをまとめると、次のようになります。
LS_COLORS = "di = 1; 35:ex = 4; 31:*。mp3 = 1; 32; 41"
新しいデフォルトの色を設定する方法
現在のBashセッションで機能するカスタムLS_COLORS変数があります。しかし、おそらくこれを永続的にしたいので、覚えていなくても新しいBashセッションを開始するたびに自動的に使用されます。.
あなたのカスタムLS_COLORS変数、そしてあなたが好きな他のBash変数をあなたのユーザーアカウントの.bashrcファイルに追加することで設定できます。このファイルは〜/ .bashrcにあります。つまり、あなたのユーザー名がbobの場合、/ home / bob / .bashrcにあります。環境変数を設定する方法は他にもありますが、これは簡単な方法です。.
まず、このファイルを好みのテキストエディタで開きます。ここでは例としてnanoを使用しますが、vi、emacs、またはその他の好きなものを使用できます。.
ナノ〜/ .bashrc
次のように、ファイルの末尾の新しい行にカスタムのLS_COLORS変数を追加します。
LS_COLORS = "di = 1; 35:ex = 4; 31:*。mp3 = 1; 32; 41"
ファイルを保存して終了します。 nanoでは、Ctrl + Oを押してからEnterを押して保存し、Ctrl + Xを押して終了します.
あなたが新しいBashセッションを開始する時はいつでも、Bashは.bashrcファイルを読んでそしてあなたのLS_COLORS変数を自動的に設定するでしょう。将来色を変更するには、.bashrcファイルに戻ってLS_COLORS行を編集します。.
また、単に削除することもできます LS_COLORS =
デフォルトの色を再度使用するために、.bashrcファイルに追加した行。 LS_COLORS値を設定しないと、Bashはデフォルトの色を使用します。.