ls 명령에서 디렉토리 및 파일의 색상을 변경하는 방법

0
869

당신이 실행하면 ls Bash에서 명령을 실행하면 표시되는 디렉토리와 파일이 유형에 따라 색상이 지정됩니다. 고유 한 색 구성표를 사용자 지정하여 다른 텍스트 색, 배경색 및 굵게 및 밑줄과 같은 서식을 선택할 수 있습니다.

작동 원리

색 구성표는 LS_COLORS 변수에 저장됩니다. 현재 색 구성표를 보려면 Bash에게 변수의 내용을 인쇄하도록 지시 할 수 있습니다.

echo $LS_COLORS

긴 파일 형식 및 숫자 코드 목록이 표시됩니다. 이와 같은 목록을 만드는 방법을 설명하겠습니다.

이 문제를 해결하기 전에 LS_COLORS 변수의 현재 내용을 다른 변수에 저장하는 것이 좋습니다. 이렇게하면 셸에서 로그 아웃하고 다시 로그인하거나 터미널 창을 닫았다가 다시 열지 않고도 기본 설정을 빠르게 복원 할 수 있습니다. LS_COLORS 변수의 현재 내용을 ORIGINAL이라는 새 변수에 저장하려면 다음을 실행하십시오.

ORIGINAL=$LS_COLORS

언제든지 다음 명령을 실행하여 변경 사항을 취소하고 기본 색상을 복원 할 수 있습니다.

LS_COLORS=$ORIGINAL

파일을 편집하여 새로운 기본값으로 만들 때까지 변경 사항은 항상 일시적입니다. 터미널 창을 항상 로그 아웃했다가 다시 로그인하거나 닫았다가 다시 열어 색상을 기본 설정으로 복원 할 수 있습니다. 그러나 이렇게하면 하나의 빠른 명령으로 쉽게 수행 할 수 있습니다.

사용자 정의 색상을 설정하는 방법

LS_COLORS 변수는 관련 색상 코드와 함께 파일 유형 목록을 포함합니다. 기본 목록은 여러 파일 유형에 대해 다른 색상을 지정하기 때문에 길다.

이것이 어떻게 작동하는지 보여주는 기본 예를 시작합시다. 디렉토리의 색상을 기본 굵은 파란색에서 굵은 빨간색으로 변경한다고 가정 해 보겠습니다. 다음 명령을 실행하여 수행 할 수 있습니다.

LS_COLORS="di=1;31"

그만큼 di=1;31 조금 말해 ls 그 디렉토리 (di)는=) 굵게 (1;) 빨강 (31).

그러나 이것은 디렉토리를 하나의 색상으로 정의하고 다른 모든 유형의 파일을 기본 색상으로 남겨 두는 매우 간단한 LS_COLORS 변수입니다. .desktop 파일 확장자를 가진 파일에 밑줄이 그어진 청록색을 만들고 싶다고 가정 해 보겠습니다. 다음 명령을 실행하여 수행 할 수 있습니다.

LS_COLORS="di=1:31:*.desktop=4;36"

이것은 알려줍니다 ls 그 디렉토리 (di)는=) 굵게 (1;) 빨강 (31) 및 (:) .desktop (으로 끝나는 파일)*.desktop)는=) 밑줄 (4;) 시안 (36).

파일 형식 및 색상 목록을 구성하는 프로세스입니다. filetype = color 형식으로 각각을 콜론 (:) 문자로 구분하여 원하는만큼 지정하십시오.

관련 : 배시 프롬프트를 사용자 정의하고 색상을 지정하는 방법

자신의 목록을 구성하려면 색상 코드 및 파일 유형 코드 목록 만 알고 있으면됩니다. 이것은 Bash 프롬프트에서 색상을 변경할 때 사용하는 것과 동일한 숫자 색상 코드를 사용합니다.

전경 텍스트의 색상 코드 목록은 다음과 같습니다.

  • 블랙 : 30
  • 블루 : 34
  • 청록색 : 36
  • 녹색 : 32
  • 퍼플 : 35
  • 레드 : 31
  • 화이트 : 37
  • 노랑 : 33

예를 들어 노란색 텍스트는 색상 코드 33이므로 di=33 디렉토리를 노란색으로 만듭니다.

텍스트 색상 속성 목록은 다음과 같습니다.

  • 일반 텍스트 : 0
  • 굵게 또는 밝은 텍스트 : 1 (터미널 에뮬레이터에 따라 다름)
  • 희미한 텍스트 : 2
  • 밑줄 친 텍스트 : 4
  • 깜박임 텍스트 : 5 (대부분의 터미널 에뮬레이터에서는 작동하지 않습니다.)
  • 반전 된 텍스트 : 7 (이것은 전경색과 배경색을 반전 시키므로 현재 텍스트가 검정색 배경에 흰색 텍스트 인 경우 흰색 배경에 검정색 텍스트가 표시됩니다.)
  • 숨겨진 텍스트 : 8

속성이나 둘 이상의 색상 코드를 지정할 때는 코드 목록을 세미콜론 (;) 문자로 구분하십시오. 여기에 속성을 지정하지 않으면 일반 텍스트가 사용되므로 일반 텍스트에 0을 지정할 필요가 없습니다.

예를 들어 굵은 텍스트는 색상 코드 1이고 노란색 텍스트는 색상 코드 33이므로 di=1;33 디렉토리를 굵게 표시합니다. 둘 이상의 속성을 지정할 수도 있습니다. 예를 들어 di=1;4;33 디렉토리를 굵게 표시하고 밑줄을칩니다.

배경색 코드 목록은 다음과 같습니다.

  • 검정색 배경 : 40
  • 파란색 배경 : 44
  • 시안 색 배경 : 46
  • 녹색 배경 : 42
  • 보라색 배경 : 45
  • 빨간색 배경 : 41
  • 흰색 배경 : 47
  • 노란색 배경 : 43

예를 들어 파란색 배경은 색상 코드 44이므로 di=44 디렉토리에 파란색 배경을 사용합니다. 배경색 코드, 전경색 코드 및 원하는 수의 속성을 결합 할 수도 있습니다. 예를 들어 di=1;4;33;44 파란색 배경에 굵은 밑줄이있는 노란색 텍스트를 표시합니다.

파일 형식 코드 목록은 다음과 같습니다.

  • 디렉토리 : di
  • 파일 : fi
  • 심볼릭 링크 : ln
  • 명명 된 파이프 (FIFO) : pi
  • 소켓 : 그래서
  • 블록 장치 : bd
  • 캐릭터 장치 : cd
  • 고아 기호 링크 (더 이상 존재하지 않는 파일을 가리킴) : 또는
  • 누락 된 파일 (고아 기호 링크가 가리키는 누락 된 파일) : mi
  • 실행 파일 ( “x”권한이 있음) : ex
  • * .extension : 지정한 확장자로 끝나는 모든 파일. 예를 들어, .txt로 끝나는 파일에는 * .txt, .mp3로 끝나는 파일에는 * .mp3, .desktop로 끝나는 파일에는 * .desktop 또는 기타 원하는 항목을 사용하십시오. 원하는만큼 파일 확장자를 지정할 수 있습니다.

: 문자로 구분하여 원하는 색상으로 파일 형식 코드를 여러 가지로 지정하십시오. 이 과정을 반복하여 LS_COLORS 변수를 어셈블하십시오.

예를 들어, 디렉토리에는 굵은 자주색 텍스트, 실행 파일에는 밑줄 친 빨간색 텍스트, .mp3 파일에는 빨간색 배경에 굵은 녹색 텍스트를 사용한다고 가정 해 보겠습니다. 위 목록에서 파일 형식 코드와 색상 코드를 정리하면 다음과 같은 이점이 있습니다.

LS_COLORS="di=1;35:ex=4;31:*.mp3=1;32;41"

새로운 기본 색상을 설정하는 방법

현재 Bash 세션에서 작동하는 사용자 정의 LS_COLORS 변수가 있습니다. 그러나 영구적으로 유지하고 싶을 때마다 새로운 Bash 세션을 시작할 때마다 자동으로 사용되도록 할 수 있습니다.

사용자 계정의 .bashrc 파일에 추가하여 사용자 정의 LS_COLORS 변수 및 원하는 다른 Bash 변수를 설정할 수 있습니다. 이 파일은 ~ / .bashrc에 있습니다. 따라서 사용자 이름이 bob 인 경우 /home/bob/.bashrc에서 찾을 수 있습니다. 환경 변수를 설정하는 다른 방법도 있지만 이는 간단한 방법입니다.

먼저 선호하는 텍스트 편집기에서이 파일을여십시오. 여기서는 nano를 예로 사용하지만 vi, emacs 또는 기타 원하는 것을 사용할 수 있습니다.

nano ~/.bashrc

다음과 같이 파일 끝에 새 LS_COLORS 변수를 새 줄에 추가하십시오.

LS_COLORS="di=1;35:ex=4;31:*.mp3=1;32;41"

파일을 저장하고 종료하십시오. nano에서는 Ctrl + O를 누른 다음 Enter를 눌러 저장 한 다음 Ctrl + X를 눌러 종료하십시오.

새로운 Bash 세션을 시작할 때마다 Bash는 .bashrc 파일을 읽고 LS_COLORS 변수를 자동으로 설정합니다. 나중에 색상을 변경하려면 .bashrc 파일로 돌아가서 LS_COLORS 줄을 편집하십시오.

당신은 또한 삭제할 수 있습니다 LS_COLORS= .bashrc 파일에 추가하여 기본 색상을 다시 사용하십시오. LS_COLORS 값을 설정하지 않으면 Bash는 기본 색상을 사용합니다.