WSL의 모든 디렉터리는 파란색 배경에 녹색입니다.

WSL의 모든 디렉터리는 파란색 배경에 녹색입니다.

내가 읽은 모든 내용에 따르면 LS_COLORS굵은 di=01;34파란색을 의미해야 합니다.

어떤 설정을 시도해도 검정색 바탕에 흰색(내 설정이 잘못된 것으로 가정) 또는 이 보기 흉한 표준 청록색 외에는 아무것도 나오지 않습니다.

여기에 이미지 설명을 입력하세요.

di=**;**:나는 당신이 묻는 사람에 따라 또는 의 모든 순열을 시도했지만 dir=**;**:바닐라 또는 추악한 것 이외의 결과는 없었습니다.

여기서 무슨 일이 일어나고 있는 걸까요?

Windows 10 / WSL 우분투 20 / Windows 터미널

LS_COLORS

rs=0:di=01;34:ln=01;36:mh=00:pi=40;33
:so=01;35:do=01;35:bd=40;33;01
:cd=40;33;01:or=40;31;01:mi=00:su=37;41
:sg=30;43:ca=30;41:tw=30;42:ow=34;42
:st=37;44:ex=01;32: *.tar=01;31
:*.tgz=01;31:*....

답변1

LS_COLORS무시되지 않았습니다. 녹색 바탕에 파란색이 나타나는데 이는 확실히 표준이 아닙니다. 녹색 바탕의 파란색은 디자인상 보기 흉합니다. 이는 일반적으로 드물지만 일반적인 방식으로 Unix 권한을 사용하지 않는 WSL에서는 일반적으로 쓰기 가능한 디렉터리를 나타냅니다.

ow에서 설정한 내용 입니다 LS_COLORS. 설정이 적용되지 않도록 으로 교체하세요 ow=34;42.ow=

shopt -s extglob
LS_COLORS=${LS_COLORS/:ow=*([^:]):/:ow=:}

답변2

ow=34;42인쇄되고 있는 내용입니다 . 당신이 만들면

dircolors --print-database

다음 줄을 볼 수 있습니다.

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

어느 것이지ow암호. 이는 전 세계가 쓸 수 있는 디렉토리가 있다는 것을 의미합니다. 내가 댓글을 달았듯이파일 확장자 및 하드 링크와 같은 LS_COLORS 혼합 일치 조건

그러나 GNU ls는 각 파일에 색상을 지정하기 위해 하나의 구성표만 선택합니다.

이 경우 테이블에서 파일/디렉토리 유형보다 더 "흥미로운" 항목을 보고 이를 사용합니다. 그건 그렇고, 문서가 약하기 때문에 소스 코드를 읽는 것이 GNU ls를 이해하는 유일한 방법입니다.

관련 정보