.dir_colors 구성 방법

.dir_colors 구성 방법

그래서 이 파일을 찾았습니다 .dir_colors. 그래서 구성하고 ~/.bashrc파일에 다음을 추가했습니다.

if [ -x /usr/bin/dircolors ]; then
  test -r ~/.dir_colors && eval "$(dircolors -b ~/.dir_colors)" || eval "$(dircolors -b)"
  alias ls='ls --color=auto'
fi

작동하지 않습니다. 이유는 확실하지 않지만 LS_COLORS변수는 입니다 ''. 수동으로 실행하면 다음 dircolors -b ~/.dir_colors과 같이 표시됩니다.

LS_COLORS='';
export LS_COLORS

왜 이런 일이 발생하는지 아시나요?


고쳐 쓰다:

내 파일의 내용은 다음과 같습니다 .dir_colors.

# off.
COLOR tty

# Extra command line options for ls go here.
# Basically these ones are:
#   -F   = show '/' for dirs, '*' for executables, etc.
#   -T 0 = don't trust tab spacing when formatting ls output.
#   -b   = better support for special characters
OPTIONS -F -b -T 0

# Below, there should be one TERM entry for each termtype that is colorizable
TERM linux
TERM console
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM xterm
TERM vt100
# TERM alacritty

# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output)
EIGHTBIT 1

# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes: 
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
NORMAL 00    # global default, although everything should be something.
FILE 00      # normal file
DIR 01;34    # directory
LINK 01;36   # symbolic link
FIFO 40;33   # pipe
SOCK 01;35   # socket
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 01;30

# This is for files with execute permission:
EXEC 01;32 

# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
.cmd 01;32 # executables (bright green)
.exe 01;32
.com 01;32
.btm 01;32
.bat 01;32
.tar 00;34 # archives or compressed (bright red)
.tgz 00;34
.arj 00;34
.taz 00;34
.lzh 00;34
.zip 00;34
.z   00;34
.Z   00;34
.gz  00;34
.bz2 00;34
.jpg 00;36 # image formats
.gif 00;36
.bmp 00;36
.xbm 00;36
.xpm 00;36
.tif 00;36
.tga 00;36
.png 00;36
.jpeg 00;36
.tiff 00;36
.xcf 00;36
.xcf.gz 00;36
.blend 00;36
.pcx 00;36
.ppm 00;36
.mp3 00;32
.mid 00;32
.wav 00;32
.au  00;32
.nes 00;31
.smc 00;31
.fig 00;31
.sfc 00;31
.smc.gz 00;31
.fig.gz 00;31
.sfc.gz 00;31
.mpg 00;35
.mpeg 00;35
.avi 00;35
.mov 00;35
.fli 00;35
.flc 00;35

답변1

사용중인 터미널 유형에 값을 추가하지 않는 것 같습니다. .dir_colors줄을 변경하면 파일이 작동합니다.

TERM xterm

도착하다

TERM xterm*

아니면 한줄 더 추가하면

XTERM xterm-256color

xterm-256color내 변수의 값이기 때문입니다 TERM.

에서 man dir_colors:

전역 섹션 뒤에는 하나 이상의 터미널 관련 섹션이 오고, 그 앞에는 TERM다음 선언이 적용되는 터미널 유형(환경 변수에 의해 제공됨)을 지정하는 하나 이상의 명령문이 옵니다.TERM

관련 정보