OS X 및 iTerm2 터미널에서 ls 명령의 출력 색상을 어떻게 변경합니까?

OS X 및 iTerm2 터미널에서 ls 명령의 출력 색상을 어떻게 변경합니까?

비슷한 질문을 받은 것으로 알고 있습니다.

ls의 출력에 색상을 지정하는 방법은 무엇입니까?

나는 대답을 실제로 이해하지 못하고 실제로 작동시킬 수는 없지만.

그러나 나는 다른 것을 시도했습니다. 매뉴얼 페이지를 읽기로 결정했는데 ls거기에는 명령을 처리할 때 설정할 수 있는 다양한 환경 변수가 언급되어 있었습니다 ls. 이 옵션을 선택하면 환경 변수 -G보기가 표시됩니다 . CLICOLOR내가 그랬고저것링크 중 하나를 클릭하면 환경 변수에 대한 문서로 이동됩니다 LSCOLORS. 나는 그것에 가서 다음과 같이 언급했습니다.

"이 변수의 값은 CLICOLOR를 사용하여 색상을 활성화할 때 어떤 속성이 어떤 색상을 사용하는지 설명합니다. 이 문자열은 fb 형식 쌍의 연결입니다. 여기서 f는 전경색이고 b는 배경색입니다."

또한 LSCOLORS의 기본값은 "exfxcxdxbxegedabagacad"이며 각 섹션은 ls 명령에서 특정 항목의 색상을 지정한다고 언급합니다. 예를 들어, 예제에서 ex의 첫 번째 쌍은 디렉터리의 색상을 지정합니다. fx의 두 번째 쌍은 심볼릭 링크의 색상 등을 지정합니다. e는 파란색을 의미하고 x는 기본 "전경"을 의미합니다.

1) 먼저 "CLICOLOR를 사용하여 색상을 활성화하는 경우"는 무엇을 의미합니까?

2) 무엇입니까?"전망"의미는?

ls내 필요에 따라 출력 색상을 지정하려면 명령에 대한 환경 변수가 무엇이어야 합니까 ?


나는 또한 다음을 시도했습니다.

ls --color

하지만 다음과 같은 오류가 발생합니다.

ls: illegal option -- - usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

이 작업을 수행했을 때도 동일한 오류가 발생했습니다 ls --color=auto. 자체적으로 오류가 발생하기도 했습니다. 이유를 모르겠고, 이 문제를 일으키는 것이 iTerm2인지 OS X인지, 아니면 왜 이런 일이 발생하는지 잘 모르겠습니다. 다른 시스템에서는 작동하는 것 같은데...

답변1

내 자신의 질문에 대답하려고 노력하면서 몇 가지 다른 것을 시도했고 모두 실험적으로 성공했습니다.

1) "CLCOLOR 활성화"는 해당 변수를 1로 설정하자마자 LSCOLOR가 작동하기 시작했기 때문에 1(즉, true)로 설정하는 것을 의미한다고 생각합니다.

2) 여기서 "전경"이란 하이라이트가 적용될 배경을 의미합니다. 예를 들어, 첫 번째 쌍의 bc는 디렉토리의 문자를 빨간색으로 표시하고 배경/강조 표시는 녹색으로 표시한다는 의미입니다. 예를 들어, 환경 변수가 다음과 같은 경우: import LSCOLORS="bCfxcxdxbxegedabagacad"

그런 다음 ls를 실행하여 다음 내용을 표시합니다.

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

분명히 이것이 작동하려면 ls 명령의 별칭을 ls -G로 지정해야 하며(또는 ls -G가 실행될 때마다 실행해야 함) .bashrc 또는 사용하는 쉘 rc 파일에 다음 줄이 있어야 합니다.

export CLICOLOR=1
export LSCOLORS="gxfxcxdxbxegedabagacad"

이제 man ls 파일에 지정된 대로 LSCOLORS를 변경할 수 있습니다.

이를 달성하는 방법에는 여러 가지가 있을 수 있지만 이것이 제가 Unix, OS X mavericks 및 iTerm2에서 작업하는 방식입니다.

답변2

로 대체되었습니다 --color.-Gls

관련 정보