컬러 ls 출력을 갖도록 Mac 터미널을 구성하려면 어떻게해야합니까?


336

컬러 ls 출력을 갖도록 Mac 터미널을 구성하려면 어떻게해야합니까? MacOS 10.5를 사용하고 있습니다


5
이것은 좋은 질문입니다 ... 나는 항상 ls --color (la gnu ls)가 어디에서나 작동 할 것으로 기대했습니다. MacOS는 --color를 허용하지 않으므로 옵션으로 컬러 출력이 전혀 없다고 가정했습니다.
Armentage

답변:


370

편집하다:

~/.bash_profile

또는

~/.profile

를 통해 컬러 출력을 활성화하려면 다음 줄을 추가하십시오 ls.

export CLICOLOR=1

표시되는 색상을 사용자 정의하려면 ls이 변수를 선택적으로 추가 할 수 있습니다 LSCOLORS.

  • 기본

    export LSCOLORS=ExFxCxDxBxegedabagacad
  • 검정색 배경을 사용하는 경우 이것을 사용할 수 있습니다

    export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
  • 일반적인 Linux 터미널의 색상을 모방하려는 경우 :

    export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd

위의 내용 중 하나를 추가 ~/.bash_profile하거나 ~/.profile다음과 같이 쉘에서 파일을 로그 아웃 / 로그인하거나 소싱 할 수 있습니다.

$ . ~/.bash_profile

참고 : 사용할 색상을 선택하는 데 도움이 필요한 경우이 온라인 도구 인 LSCOLORS Generator 를 사용할 수 있습니다 .


컬러 텍스트를 굵게 표시하지 않는 방법이 있습니까?
MemphiZ

1
@JamieCook Mikulas의 색상이 Linux에서보다 일관된 것으로 나타났습니다. 특히 깨진 심볼릭 링크는 진한 빨간색이어야합니다. lscolors가 파란색이면 ...이 작은 문제가 아닙니다.
Ray Foss

1
Mac sierra 이상에서 작동하지 않음
Stevie G

1
@RayFoss는 실제로 작은 문제는 아니지만 OS X는 기본적으로 유효한 심볼 링크와 깨진 심볼릭 링크를 구별 할 수 없습니다. 유일한 대안은 것입니다 GNU LS를 사용
치프 리안 Tomoiagă

2
@StevieG High Sierra에서 작동합니다. 올바르게 설정했는지 확인하십시오. echo $CLICOLOR1을 제공해야합니까?
Franklin Yu

192

추가 할 수 있습니다

alias ls='ls -G'

당신에 ~/.bash_profile색 얻을 ls출력.


41
내 별칭은 ls = "ls -Gp"입니다. -p는 각 디렉토리 뒤에 슬래시를 추가합니다. 나에게 그것은 훨씬 더 시각적 인 차별화를 제공하는데 도움이된다.
Quinn Taylor

39
나는 당신을보고 당신 -p을 키우며 -F또한 *실행 |후, 파이프 @후, 심볼릭 링크 등을 넣습니다 .

25
그냥 재미를 위해, "사람이 읽을 수있는"단위, 즉 (100B)이 10k, 23m, 4.2g의 크기를 포맷 할하는 -h 던져
Armentage

3
~ / .bash_profile에 .bash_profile이 없으면 소스를 사용해야 작동합니다. "source ~ / .bash_profile"
y3sh로이를 수행하십시오.

2
2011 년 이후로 변경된 경우 Dunno이지만 export CLICOLOR=1동일한 작업을 수행 하기 위해 별칭을 바꿀 수 있습니다 .
David Lord

25

나는 정말로 필요한 것은 이것을 내 것에 추가하는 것입니다. ~/.bash_profile

export CLICOLOR=1

또는 ~/.bashrc.
Chris 페이지

capitan에서 작동하지 않는 것으로 보입니다) :
drevicko

1
@Filype 게시, 나를 위해 엘 Captian의 보스처럼 덕분에 일했다
fusion27을

다음 중 하나를 수행해야합니다. 1. 터미널을 닫고 다시 . ~/.bash_profile열거 나 , 2. 구성 파일을 리소스 : 또는 3. logout / login
slm

13

읽을 수있는 Mac OS X 터미널 색 구성표를 원한다면 다음을 살펴보십시오.

나는 이것을 1 년 이상 사용해 왔으며, 그것 없이는 기능하지 못할 수도 있습니다!

업데이트 된 링크는 다음과 같습니다.


6
Mac OS X Lion 10.7부터 터미널에서는 ANSI 색상을 사용자화할 수 있으므로 SIMBL 또는 다른 확장을 더 이상 사용할 필요가 없습니다. 256 색도 지원합니다.
Chris 페이지

12

또한 다음을 추가하여 프롬프트 색상 및 형식을 사용자 정의 할 수 있습니다.

PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '

~/.bash_profile또는 ~/.profile파일. 0;33내 검정색 / 반투명 터미널 창에서 멋지게 보이는 일반 노란색은 어디에 있습니까 ?

전체 색상 목록과 설명은 다음과 같습니다. https://wiki.archlinux.org/index.php/Color_Bash_Prompt

내 멋진 터미널 창


8

또 다른 옵션은 ls'coreutils'프로그램의 일부인 GNU를 사용하는 것 입니다.

Rudix 또는 Homebrew ( brew info coreutils) 또는 Macports 또는 Fink 를 통해 얻을 수 있습니다 . 다른 시스템에서 동일한 쉘 구성 파일을 사용하거나 이미 GNU ls에 익숙한 경우 "Mac OS X 전용"솔루션을 사용하는 것이 좋습니다.



7

개인적으로, 나는 터미널에 색상 및 기타 트릭을 추가하기 위해 Oh My Zsh 를 사용 하고 있습니다. 나는 그것이 가장 쉬운 방법이라고 생각합니다.

oh-my-zsh는 Zsh 구성을 관리하기위한 커뮤니티 기반의 오픈 소스 프레임 워크입니다.

유용한 기능, 헬퍼, 플러그인, 테마 및 몇 가지 소리가 함께 제공됩니다.

여기에 이미지 설명을 입력하십시오


4

~/.bash_profile파일에 다음 줄을 추가하기 만하면 됩니다.

export PS1=" \[\033[34m\]\u@\h \[\033[33m\]\w\[\033[31m\]\[\033[00m\] $ "

시사: 여기에 이미지 설명을 입력하십시오

이것이 내가 선호하는 색상입니다. ANSI 색상 코드 인 m코드 (예 :) 를 변경하여 프롬프트 색상의 각 부분을 사용자 정의 할 수 있습니다 34m.

ANSI 색상 코드 목록 :

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

4

여기에 모든 답변을 결합하면 다음과 같이 사용됩니다.

COLOR_RED="\033[0;31m"
COLOR_YELLOW="\033[0;33m"
COLOR_GREEN="\033[0;32m"
COLOR_OCHRE="\033[38;5;95m"
COLOR_BLUE="\033[0;34m"
COLOR_WHITE="\033[0;37m"
COLOR_RESET="\033[0m"

#git_color
function git_color {
  local git_status="$(git status 2> /dev/null)"

  if [[ ! $git_status =~ "working directory clean" ]]; then
    echo -e $COLOR_RED
  elif [[ $git_status =~ "Your branch is ahead of" ]]; then
    echo -e $COLOR_YELLOW
  elif [[ $git_status =~ "nothing to commit" ]]; then
    echo -e $COLOR_GREEN
  else
    echo -e $COLOR_OCHRE
  fi
}

#git_branch
function git_branch {
  local git_status="$(git status 2> /dev/null)"
  local on_branch="On branch ([^${IFS}]*)"
  local on_commit="HEAD detached at ([^${IFS}]*)"

  if [[ $git_status =~ $on_branch ]]; then
    local branch=${BASH_REMATCH[1]}
    echo "($branch)"
  elif [[ $git_status =~ $on_commit ]]; then
    local commit=${BASH_REMATCH[1]}
    echo "($commit)"
  fi
}

PS1='\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]'
PS1+="\[\$(git_color)\]"        # colors git status
PS1+="\$(git_branch)"           # prints current branch
PS1+="\[$COLOR_BLUE\]\[$COLOR_RESET\]\$ "
export PS1

export LC_ALL=en_US.UTF-8
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
alias ls="ls -Gp"

여기에 이미지 설명을 입력하십시오


3

수십 년 전의 고풍스런 암호 코드를 잊어 버리고 내장 된 터미널-> 기본 설정 ... 설정 창을 사용하여 기본 스킨을 설정하고 원하는대로 ANSI 색상을 편집하십시오. 글꼴도 설정할 수 있습니다. 나는 Menlo 12pt를 선호합니다. 이것은 일반적인 Joe가 할 수있는 방법이며, 다른 포스터가 제안한 것처럼 미친 명령 행, 유닉스 같은 모든 일을 피합니다.


12
ls컬러 출력이 가능하다는 것을 알기에 충분히 경험이있는 사람이라면 누구나 올바르게 구성하기 위해 몇 가지 유닉스 명령을 실행할 수 있다고 생각합니다.
nohillside

7
그러나 이것은 ls를 하나의 색상으로 만 보여줍니다. ls가 할 수있는 것처럼 링크, 디렉토리, 파일이 다른 색상으로 표시되지 않습니다
Mark
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.