私のコンソールでは、ディレクトリの色が非常に青く、暗い背景では読みにくいです。
ls
の色の定義を変更するにはどうすればよいですか?
ディレクトリの色を変更するには、エディターで~/.bashrc
ファイルを開きます
nano ~/.bashrc
ファイルの最後に次のエントリを作成します。
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS
いくつかの素敵な色の選択肢(この場合0;35
それは紫色です)は次のとおりです。
Blue = 34
Green = 32
Light Green = 1;32
Cyan = 36
Red = 31
Purple = 35
Brown = 33
Yellow = 1;33
Bold White = 1;37
Light Grey = 0;37
Black = 30
Dark Grey= 1;30
最初の数値はスタイル(1 =太字)で、その後にセミコロンが続き、次に実際の色の数、可能なスタイル(効果)は次のとおりです。
0 = default colour
1 = bold
4 = underlined
5 = flashing text (disabled on some terminals)
7 = reverse field (exchange foreground and background color)
8 = concealed (invisible)
可能な背景:
40 = black background
41 = red background
42 = green background
43 = orange background
44 = blue background
45 = purple background
46 = cyan background
47 = grey background
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
107 = white background
可能なすべての色:
31 = red
32 = green
33 = orange
34 = blue
35 = purple
36 = cyan
37 = grey
90 = dark grey
91 = light red
92 = light green
93 = yellow
94 = light blue
95 = light purple
96 = turquoise
97 = white
これらを組み合わせて、次のようなパラメーターを作成することもできます。
di=1;4;31;42
lS_COLORS変数を使用すると、ディレクトリが緑色の背景で太字の下線付きの赤いテキストで表示されます。
端末でこれらすべての色とスタイルをテストするには、次のいずれかを使用できます。
for i in 00{2..8} {0{3,4,9},10}{0..7}
do echo -e "$i \e[0;${i}mSubdermatoglyphic text\e[00m \e[1;${i}mSubdermatoglyphic text\e[00m"
done
for i in 00{2..8} {0{3,4,9},10}{0..7}
do for j in 0 1
do echo -e "$j;$i \e[$j;${i}mSubdermatoglyphic text\e[00m"
done
done
Lsコマンドを使用するときに、次のように各種類を定義することにより、他の種類のファイルを変更することもできます。
bd = (BLOCK, BLK) Block device (buffered) special file
cd = (CHAR, CHR) Character device (unbuffered) special file
di = (DIR) Directory
do = (DOOR) [Door][1]
ex = (EXEC) Executable file (ie. has 'x' set in permissions)
fi = (FILE) Normal file
ln = (SYMLINK, LINK, LNK) Symbolic link. If you set this to ‘target’ instead of a numerical value, the color is as for the file pointed to.
mi = (MISSING) Non-existent file pointed to by a symbolic link (visible when you type ls -l)
no = (NORMAL, NORM) Normal (non-filename) text. Global default, although everything should be something
or = (Orphan) Symbolic link pointing to an orphaned non-existent file
ow = (OTHER_WRITABLE) Directory that is other-writable (o+w) and not sticky
pi = (FIFO, PIPE) Named pipe (fifo file)
sg = (SETGID) File that is setgid (g+s)
so = (SOCK) Socket file
st = (STICKY) Directory with the sticky bit set (+t) and not other-writable
su = (SETUID) File that is setuid (u+s)
tw = (STICKY_OTHER_WRITABLE) Directory that is sticky and other-writable (+t,o+w)
*.extension = Every file using this extension e.g. *.rpm = files with the ending .rpm
より完全なリストは Bigsoft-LS_COLORSの設定 で入手できます。
一部のディストリビューションでは、ow
"(OTHER_WRITABLE
)のデフォルトが読み取り不可である"の背景色を、たとえば緑の背景に太字でない青色のテキストに変更することもできます。
たとえば、LS_COLORS="$LS_COLORS:di=1;33"
ファイルの最後に.bashrc
を使用すると、黒の背景に読みやすい太字のオレンジ色のテキストを取得できます。
.bashrcファイルを変更した後、変更を有効にするには、シェルを再起動するか、source ~/.bashrc
を実行する必要があります。
注:より多くのコマンドをcolonと組み合わせることができます。たとえば、
LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls
出典:
とても簡単です。これらの3行を〜/ .bashrcに追加します
$ vi ~/.bashrc
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'
実行中のbashセッションで変更を適用する場合は、次を実行します。
source ~/.bashrc
これはextension:colorマッピングのコレクションであり、LS COLORS環境変数として使用するのに適しています。
Hegaziの答えに加えて、dircolorsコマンドを使用して、ディレクトリの色や他の多くの色を実際に制御できます。十分に文書化された構成ファイルを作成できます。
次のように、ホームディレクトリに.dircolorファイルを作成できます。
dircolors -p > ~/.dircolors
次に〜/ .bashrcファイルに次の行を追加します
eval "`dircolors -b ~/.dircolors`"
alias ls='ls --color=auto'
これにより、bash用の$ LS_COLORS変数が作成されます。 cshの場合、-cフラグが設定されます。また、カラーで表示するようにlsコマンドにフラグを立てます。
〜/ .dircolorファイルの色で上記のようにDIR属性の値を編集して、ディレクトリの色を変更します(または他の色に含まれる他のファイルタイプのいずれか)。特定のファイルの色を変更したり、独自のファイルを定義することもできます。
MacでiTerm2を使用している場合、--color=auto
オプションは機能しません。ただし、-G
オプションは機能します。 ~/.profile
に次のエイリアスを配置すると、ディレクトリが色付けされ、末尾に/
が追加されます。
alias ls='ls -F -G'
これは、よく使用されるオプションを使用したlsコマンドの私のアプローチです。
〜/ .aliasというファイルに次の行を追加します
alias ll='ls -lhF --color=auto'
alias llt='ls -lht --color=auto'
alias lla='ls -alF --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
alias ls="ls --color=auto"
〜/ .bashrcに次の行を追加します
if [ -f ~/.alias ]; then
. ~/.alias
fi