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를 원하는 대로 변경할 수 있습니다.

이 작업을 수행하는 방법에는 여러 가지가 있을 수 있지만 이것이 iTerm2의 OS X mavericks의 Unix에서 작동한 방식입니다.

답변2

실행 시 --color로 교체하세요 .-Gls

관련 정보