컬러 출력을 표시 하는 데 ls
사용 dircolors
합니다. dircolors
파일 확장자와 관련된 기본 색상 데이터베이스가 있으며 명령으로 인쇄 할 수 있습니다.
dircolors --print-database
에서 man dir_colors
내가 읽은, 시스템 전체의 데이터베이스에 있어야합니다 /etc/DIR_COLORS
. 그러나이 파일은 내 시스템 (Debian)에 없습니다. 시스템 전체 색상 설정을 dircolors
어떻게 수정 합니까? dircolors --print-database
파일이 없을 때 명령 은 어디 에서 설정을 가져 옵니까?
사용자는 ~/.dircolors
자신의 설정으로 사용자 별 파일 을 가질 수 있지만 모든 사람의 설정을 변경해야하기 때문에 적합하지 않습니다.
두 번째 질문은 dircolor에 8 비트 색상을 사용할 수 있는지 여부입니다. 내 터미널은 xterm-256color
입니다.
답변
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
설정을 가져 오는 위치 는 파일을 지정하지 않으면 기본 제공되는 일부 기본값 만 사용합니다.
xterm
dircolors 파일에 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!
답변
dircolors --print-database
파일이 없을 때 명령 은 어디 에서 설정을 가져 옵니까?
당으로 매뉴얼 ,이 파일의 부재에서 미리 컴파일 된 데이터베이스를 사용합니다.
파일이 지정되면 dircolors는 파일을 읽고 어떤 파일 유형 및 확장자에 사용할 색상을 결정합니다. 그렇지 않으면 사전 컴파일 된 데이터베이스가 사용됩니다. 이 파일의 형식에 대한 자세한 내용을 보려면 ‘
dircolors --print-database
‘를 실행하십시오 .
모든 사람의 설정을 변경하기 위해 /etc/dircolors
파일을 작성 하고 다음을 추가 할 수 있습니다 /etc/bashrc
.
d=/etc/dircolors
test -r $d && eval "$(dircolors $d)"
답변
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
쉘을 저장하고 닫은 후 다시 시작하십시오. 디렉토리는 검은 색의 진한 파란색 (읽을 수 없음)에서 검은 색의 밝은 청록색 (읽을 수있는)으로 이동합니다.