dircolors : 전체적으로 색상 설정 수정


40

컬러 출력을 표시 하는 데 ls사용 dircolors합니다. dircolors파일 확장자와 관련된 기본 색상 데이터베이스가 있으며 명령으로 인쇄 할 수 있습니다.

dircolors --print-database

에서 man dir_colors내가 읽은, 시스템 전체의 데이터베이스에 있어야합니다 /etc/DIR_COLORS. 그러나이 파일은 내 시스템 (Debian)에 없습니다. 시스템 전체 색상 설정을 dircolors어떻게 수정 합니까? dircolors --print-database파일이 없을 때 명령 은 어디 에서 설정을 가져 옵니까?

사용자는 ~/.dircolors자신의 설정으로 사용자 별 파일 을 가질 수 있지만 모든 사람의 설정을 변경해야하기 때문에 적합하지 않습니다.

두 번째 질문은 dircolor에 8 비트 색상을 사용할 수 있는지 여부입니다. 내 터미널은 xterm-256color입니다.

답변:


36

ls환경 변수에서 색상 설정을 가져옵니다 LS_COLORS. dircolors이 환경 변수를 생성하는 편리한 방법 일뿐입니다. 이 환경 변수를 시스템 전체에 적용하려면 셸의 시작 파일에 넣으십시오.

의 경우 bash다음을 입력하십시오 /etc/profile.

# `dircolors` prints out `LS_COLORS='...'; export LS_COLORS`, so eval'ing
# $(dircolors) effectively sets the LS_COLORS environment variable.

eval "$(dircolors /etc/DIR_COLORS)"

를 들어 zsh, 당신이 중 하나에 넣어 것 /etc/zshrc또는 주선 zsh읽는 /etc/profile시작할 때. 배포판 zsh에서 이미 그렇게 했을 수 있습니다 . 나는 이것을 dircolors진정으로 모든 사람에 대한 설정 이 사용하는 쉘에 달려 있음을 지적 합니다.

dircolors설정을 가져 오는 위치 는 파일을 지정하지 않으면 기본 제공되는 일부 기본값 만 사용합니다.

xtermdircolors 파일에 256 개의 색상 이스케이프 코드를 사용할 수 있지만 xterm호환되는 터미널 에서만 작동합니다 . 예를 들어 Linux 텍스트 콘솔에서는 작동하지 않습니다.

256 색 이스케이프 코드의 형식은 38;5;colorN전경색 및 48;5;colorN배경색입니다. 예를 들어 :

.mp3  38;5;160                   # Set fg color to color 160      
.flac 48;5;240                   # Set bg color to color 240
.ogg  38;5;160;48;5;240          # Set fg color 160 *and* bg color 240.
.wav  01;04;05;38;5;160;48;5;240 # Pure madness: make bold (01), underlined (04), blink (05), fg color 160, and bg color 240!

1
256 색 이스케이프 코드를 사용하는 방법을 설명해 주시겠습니까? .mp3 00;36xterm-256 색상 차트 upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg
user1968963

1
물론 내 편집 내용을 참조하십시오.
Matt

8

dircolors --print-database파일이 없을 때 명령 은 어디 에서 설정을 가져 옵니까?

당으로 매뉴얼 ,이 파일의 부재에서 미리 컴파일 된 데이터베이스를 사용합니다.

파일이 지정되면 dircolors는 파일을 읽고 어떤 파일 유형 및 확장자에 사용할 색상을 결정합니다. 그렇지 않으면 사전 컴파일 된 데이터베이스가 사용됩니다. 이 파일의 형식에 대한 자세한 내용을 보려면 ' dircolors --print-database'를 실행하십시오 .

모든 사람의 설정을 변경하기 위해 /etc/dircolors파일을 작성 하고 다음을 추가 할 수 있습니다 /etc/bashrc.

d=/etc/dircolors
test -r $d && eval "$(dircolors $d)"

7

Linux는 dircolor를 사용하여 콘솔 배경색을 설정합니다.

dircolors 파일은 콘솔에서 ls를 통해 나타나는 단어의 색상을 제어합니다. .dircolors배포 용 으로이 파일을 찾으십시오 .

http://www.linuxfromscratch.org/blfs/view/svn/postlfs/profile.html

Fedora 17에서 저의 dircolors 파일은 다음과 같습니다. /etc/DIR_COLORS

디렉토리에 복사 /etc/DIR_COLORS하십시오 /home/el/.dircolors. 존재하지 않는 경우 작성하십시오.

/home/el/.dircolors를 편집하고 "dir"텍스트를 찾으십시오.

이것을 변경하십시오 :

DIR 01;34   # directory

이에:

DIR 01;36   # directory

쉘을 저장하고 닫은 후 다시 시작하십시오. 디렉토리는 검은 색의 진한 파란색 (읽을 수 없음)에서 검은 색의 밝은 청록색 (읽을 수있는)으로 이동합니다.


2
-1 : /etc/DIR_COLORSOP의 배포판에 데비안이 없습니다. 그리고 그는 이미 ~/.dircolors그 질문 에 대해 알고 있었습니다
MestreLion
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.