목차 가 ls
남색으로 되어 있어서 읽기가 너무 힘들어서 바꾸고 싶습니다.
나는 그것을 설정해야 한다는 것을 읽었 LS_COLORS
지만 나에게는 아무것도 하지 않습니다.
제가 시도한 방법은 LS_COLORS="dir=0;35"
다음 과 같습니다. ls --color=auto
하지만 카탈로그는 여전히 남색입니다.
또한 새 세션을 열면 LS_COLORS
값이 없지만 ls
여전히 컬러로 인쇄됩니다.
설정해야 할 또 다른 변수가 있나요? 색상은 어떻게 변경할 수 있나요?
편집하다:저는 변수가 없습니다 export
. 이로 인해 ls
내용을 읽을 수 없게 됩니다.
답변1
변수도 내보내야 합니다. 변수를 내보내지 않으면 새 하위 프로세스에서 해당 변수를 볼 수 없습니다.
export
다음과 같이 변수 선언 앞에 추가하면 됩니다 export LS_COLORS="di=0;35"
.
그러나 모든 변수는 각 세션 후에 삭제되며 각 새 세션이 시작될 때 재설정해야 합니다. 이를 자동화하려면(bash를 사용한다고 가정) ~/.bashrc
새 bash 세션을 시작할 때마다 실행될 이 줄을 파일에 추가하면 됩니다.
답변2
남색을 쉽게 바꿀 수도 있습니다.어떤 종류의 파란색이라도그리고 setvtrgb
. 이 --help
옵션은 다음을 설명합니다.
RED, GREEN, BLUE의 경우 FILE은 정확히 3줄의 쉼표로 구분된 십진수 값이어야 합니다.
유효한 파일을 시드하려면: cat /sys/module/vt/parameters/default_{red,grn,blu} > FILE
그런 다음 FILE의 값을 편집합니다.
세 줄로 구성된 파일은 다음과 같습니다.
000, 250,120,200, 64,190, 50, 170,85, 240, 85,220, 80,232, 55, 220
000, 100,186,140,128,120,190, 170,85, 60,211,210,150, 85,222, 220
000, 40,120, 20,200,190,160, 170,85, 30, 85, 80,255,212,222, 220
주석을 달 수는 없지만 공백은 괜찮습니다. 도움이 됩니다!
위에서 아래로 RGB 값을 읽을 수 있습니다. 왼쪽에서 오른쪽으로 배열된 16가지 색상.
파란색은 (64,128,200)입니다. 굵은 파란색은 (80,150,255)입니다. 원래 남색은 (0,0,225)와 유사합니다. 방금 녹색과 약간의 빨간색을 추가했습니다.
이것이 제가 LS_COLORS를 정의하고 내보내는 방법입니다. ( dircolors -p
코드를 찾아보세요.)
LS_COLORS="fi=01;37:di=01;34:ex=01;32:ln=37\
:or=01;30:mi=00:mh=31\
:pi=33:so=43;30:do=35\
:bd=35;01:cd=35\
:su=37;41:sg=30;43:ca=30;41\
:tw=07;34:ow=30;44:st=30;44"
export LS_COLORS
# 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
답변3
이 명령을 사용하여 기본값을 인쇄하고 dircolor -p
, 디렉터리의 현재 색상( DIR 01;34
=blue) 을 변경 sed
하고, 이 출력을 dircolors
명령에 대한 입력으로 사용할 수 있습니다.
LS_COLORS
그러면 변수와 명령의 수정된 값이 인쇄됩니다 export LS_COLORS
.
dircolors <(dircolors -p | sed 's/DIR 01;34/DIR 01;35/')
를 사용하는 경우 bash
이 출력을 자신의 출력에 추가 ~/.bashrc
하고 수정된 결과를 얻을 수 있습니다 ~/.bashrc
.
dircolors <(dircolors -p | sed 's/DIR 01;34/DIR 01;35/') >> ~/.bashrc
. ~/.bashrc