ls 출력에서이 녹색 배경의 원인은 무엇입니까?

Linux 시스템의 ls 출력 화면 캡

“ls”. 일반적으로 디렉토리는 검정색 바탕에 파란색입니다. 그러나 첫 번째는 녹색에 파란색이며 읽을 수 없습니다. 왜 이런거야? 검은 색에 파란색으로 만들거나 어두운 부분에 밝게 만드는 방법은 무엇입니까?

Gnome 터미널에서 bash를 사용하는 Ubuntu 12.04에 있습니다. Konsole에서는 파란색이 약간 더 어둡고 읽을 수 있지만 훨씬 더 좋을 수 있습니다.

답변

색상은 제외 유형에 따라 파일 (오디오 파일의 경우 청록색, 아카이브 및 압축 파일의 경우 밝은 빨간색, 이미지 및 비디오의 경우 자주색)에 따라 ls 속성에 따라 파일 및 디렉토리에 색상을 지정합니다.

  • 녹색 배경의 검은 색 텍스트는 소유 한 사용자 및 그룹이 아닌 다른 사용자가 디렉토리에 쓸 수 있으며 고정 비트가 설정되어 있음을 나타냅니다 (o+w, +t). .
  • 녹색 배경의 파란색 텍스트는 소유 한 사용자 및 그룹을 제외한 다른 사용자가 디렉토리에 쓸 수 있으며 고정 비트가 설정되지 않음 을 나타냅니다 (o+w, -t).

Stephano Palazzo Ask Ubuntu 는 다양한 속성 색상에 대해 매우 유익한 그림을 만들었습니다.

Wh 터미널에서 다른 색상을 의미합니다.

terdon 이 지적했듯이 색상 설정은

dircolors . 다양한 색상 설정 목록은 dircolors --print-database를 사용하여 액세스 할 수 있습니다.

BLK 40;33;01와 같은 각 출력 라인 , 형식은 다음과 같습니다.

[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR] 
  • TARGET는 색상 지정 규칙의 대상을 나타냅니다.

  • TEXT_STYLE는 텍스트 스타일을 나타냅니다.

    • 00 = 없음
    • 01 = 굵게
    • 04 = 밑줄
    • 05 = 깜박임
    • 07 = 반전,
    • 08 = 숨김
  • FOREGROUND_COLOR는 전경색을 나타냅니다.

    • 30 = 검정색
    • 31 = 빨간색
    • 32 = 녹색
    • 33 = 노란색
    • 34 = 파란색,
    • 35 = 자홍색
    • 36 = 청록색
    • 37 = 흰색
  • BACKGROUND_COLOR는 배경색을 나타냅니다.

    • 40 = 검정색
    • 41 = 빨간색
    • 42 = 녹색
    • 43 = 노란색
    • 44 = 파란색,
    • 45 = 마젠타
    • 46 = 청록
    • 47 = 흰색

필드는 오른쪽부터 생략 할 수 있습니다. 예를 들어 .tar 01;31는 굵은 빨간색과 빨간색을 의미합니다.

XTerm 및 대부분의 다른 최신 터미널 에뮬레이터는 256 색을 지원합니다.

XTerm 256 색 전경색 코드는 다음 형식입니다.

38;5;[FOREGROUND_COLOR] 

XTerm 256 색 배경색 코드는 형식 :

48;5;[BACKGROUND_COLOR] 

여기서 FOREGROUND_COLORBACKGROUND_COLOR는 0-255 범위의 번호를 지정합니다. 16 및 256 색상 모드에 대한 전체 색상 코드 목록이 아래 스크린 샷에 나와 있습니다.

16 및 256 색상 모드 색상 코드

댓글

  • BACKGROUND_COLOR 코드는 FOREGROUND_COLOR와 동일하지 않습니다. 배경 코드는 40-47입니다.
  • 38;5; 는 xterm 256 색 전경색 코드를 시작합니다. 48;5; 는 xterm 256 색 배경 색상 코드를 시작합니다. 내 dircolors 출력의 청록색은 결과가 동일하지만 38;5;51 아닙니다 36.
  • @stevesliva : 의견 주셔서 감사합니다. 저는 ‘ 답변을 수정하여 배경색 코드를 올바르게 표시하고 256 색 전경색 및 배경색 코드를 설명했습니다.
  • 그래서 녹색 만 전경색이되는 것은 무엇입니까? 평균? 여기 가 있습니까?
  • @ChagaiFriedlander : 실행 파일 (의 맨 아래 행 참조) 사진 ).

Answer

ls의 색상은 권한을 나타낼 수 있습니다. , 일부 시스템의 기본값은 모든 사람이 쓰기 권한이있는 디렉토리를 녹색 배경으로 표시하는 것입니다.

여기에 이미지 설명 입력

dircolors (man ls에서)를 사용하여 $LS_COLORS 변수를 편집하여 색상을 변경할 수 있습니다.

 Using color to distinguish file types is disabled both by default and with --color=never. With --color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors command to set it. 

여기서 구문은 다소 성가신 것이지만 원하는 색상으로 파일을 만들고 ~/.dircolors :

dircolors -p > ~/.dircolors 

이 명령은 기본값을 ~/.dircolors로 인쇄합니다. 그런 다음 해당 파일을 편집하고 다음 줄을 변경해야합니다.

OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky 

예를 들어 빨간색 배경에 검은 색 텍스트로 만들려면 ( 여기 ) :

OTHER_WRITABLE 30;41 # dir that is other-writable (o+w) and not sticky 

모든 기본값을 가질 필요는 없습니다. , 한 줄로 파일을 만들고 변경하려는 파일 만 재정의 할 수도 있습니다. 어쨌든 파일을 만든 후 다음을 사용하여로드합니다.

eval "$(dircolors ~/.dircolors)"; 

그리고 여기에 작동합니다.

여기에 이미지 설명 입력

자동으로 수행되도록하려면 eval 명령을 ~/.bashrc 파일에 추가합니다.

댓글

  • 기본 색상은 종종 원작자가 우리와 우리의 눈을 싫어한다는 것을 나타내는 것 같습니다 …
  • 감사합니다. 가끔 ~ / .dirname, 때로는 ~ / dircolors, 때로는 ~ / .dircolors? 동일해야합니까?
  • Th anks. dircolors ~/dircolors와 같이보다 직접적인 방법 대신 eval "$(dircolors ~/dircolors)";가 필요한 이유는 무엇입니까?
  • @Tim dircolors는 설정 만 인쇄하기 때문에 읽을 수 있도록 평가해야합니다.
  • 누가 읽도록하려면?

답변

모든 기술적 인 답변이 사실이지만, 저는 약간의 비공식적 인 경고라고 생각합니다. 당신이 약간의 권리를 아끼지 않았거나 십자형을 베끼거나 … (대부분 우리 모두가 , 처음에 작업을 시작하려면?)

검은 색에서 파란색으로 만드는 방법, …?

원할 가능성이 가장 높은 권리를 되 찾을 수있는 좋은”녹색 제거 “는 다음과 같은 진술입니다.

chmod -R a-x,o-w,+X thatGreenFolderWithSubfolders/ 

대문자 + X “특수 실행”의 목적을 이해한다면 이것이 무엇을하는지 가장 잘 이해합니다. 예를 들어 Wikipedia

“+”와 함께 사용하고 일반적으로 조합하여 사용할 때만 정말 유용합니다. -R 옵션을 사용하여 일반 파일 (예 : 텍스트 파일)에 대한 실행 권한을 설정하지 않고 큰 디렉토리 트리에 대한 그룹 또는 기타 액세스 권한을 부여합니다. “chmod -R a + rx …

답변

색상을 변경하는 데 사용한 3 단계는 다음과 같습니다.

먼저 기본 색상을 파일에 복사합니다.

dircolors -p > ~/.dircolors 

그런 다음이 파일을 수정합니다. 내부 색상에 대한 몇 가지 값을 찾을 수 있으며 그 밖의 값은 다음과 같습니다.

Code Color 0 Default Colour 1 Bold 4 Underlined 5 Flashing Text 7 Reverse Field 31 Red 32 Green 33 Orange 34 Blue 35 Purple 36 Cyan 37 Grey 40 Black Background 41 Red Background 42 Green Background 43 Orange Background 44 Blue Background 45 Purple Background 46 Cyan Background 47 Grey Background 90 Dark Grey 91 Light Red 92 Light Green 93 Yellow 94 Light Blue 95 Light Purple 96 Turquoise 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 

( 소스 )

마지막으로 터미널을 열 때 색상이 자동으로로드되도록 ~/.bashrc 파일에 다음 줄을 추가합니다.

eval "dircolors ~/.dircolors" > /dev/null 

~/.zshrc :

if [[ -f ~/.dircolors ]] ; then eval $(dircolors -b ~/.dircolors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi 

답변

문제를 빠르게 해결하려면 (nobg에서 기타 쓰기 가능한 파일을 노란색으로 표시) :

LS_COLORS+=":ow=01;33" 

nobg에서 3334로 대체합니다. 더 간단하게 nobg에서 nofg로 만들려면 :

LS_COLORS+=:ow= 

변경 사항을 영구적으로 적용하려면 .profile에 추가하세요.

echo "export LS_COLORS+=":ow=01;33"" >> ~/.profile 

LS_COLORS의 비 확장 관련 규칙을 보려면 :

echo "$LS_COLORS" | sed "s/:/\n/g" | grep -v "\*." 

sed는 각 규칙을 한 줄에 배치하고 grep*.".

로 시작하는 규칙을 제거합니다.


To 터미널에서 ls 색상을 탐색하고

C="$LS_COLORS" function sc () { echo "$LS_COLORS" | sed "s/:/\n/g" | grep -v "\*." } function t () { ls /mnt # Or the path to your example directory. } 

그런 다음

LS_COLORS="$C:ow=38;5;250;48;5;025";t 

다른 답변 (Thomas Nyman의 답변)에서 언급했듯이 38;5;는 전경 x-term 256 색의 접두사이고 48;5;. 256 색은 “모든 터미널에서 지원되지 않습니다.

또한 AskUbuntu의 -LS에서 다른 색상은 무엇을 의미합니까?- 참조 .

댓글

  • LS_COLORS+=':ow=01;33'~/.zshrc는 git-repo의 디렉토리에 대한 색상 배경을 비활성화하는 데 도움이되었습니다.Pengwin-WSL 배포가있는 Windows 10 컴퓨터에 있습니다. 이제 git-repo 내의 모든 디렉토리를 읽을 수 있습니다.

Answer

음, 이것은 다음과 같은 경우이 폴더에 권한이 있음을 의미합니다. 다음을 실행합니다.

сhmod og-w AU_LI

bgcolor 🙂

답변

이 문제를 해결하려면 ow 매개 변수

예 :

~LS_COLORS="fi=0:ln=5:pi=0:so=7:bd=5:cd=5:or=31:mi=0:ex=93:*.py=36:di=40:*.zip=33:*.tgz=33" ~ls -l 

여기에 이미지 설명 입력

이제 ow (OTHER_WRITABLE) 옵션

~export LS_COLORS="fi=0:ln=5:pi=0:so=7:bd=5:cd=5:or=31:mi=0:ex=93:*.py=36:di=40:*.zip=33:*.tgz=33:ow=0" ~ls -l 

여기에 이미지 설명 입력 Bamm !!

댓글

Answer

Putty에서 녹색 톤을 변경하여 텍스트를 읽기 쉽게 만들 수 있습니다.

Putty를 열고 창으로 이동합니다. \ Colours, “ANSI Green”을 선택하고 더 진한 녹색 (R : 0 G : 70 B : 0)으로 설정합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다