터미널에서 ls 출력에 색상을 입히는 설정입니다. 셸 프로파일(.bash_profile, .zprofile 등)에 넣습니다.
export CLICOLOR=1
export LSCOLORS=Ehfxcxdxbxegedabagacad이 방식은 BSD 계열
ls(macOS 기본 터미널)용입니다.GNU/Linux의 기본
ls(coreutils)는CLICOLOR/LSCOLORS를 무시하고, 대신ls --color옵션과LS_COLORS(+dircolors)를 사용합니다. 즉 순수 리눅스라면 아래 “GNU/Linux에서는” 항목을 참고하세요.
CLICOLOR=1
ls가 색상을 자동으로 출력하도록 켜는 스위치입니다. (0 또는 미설정이면 색상 없음)
LSCOLORS의 구조
LSCOLORS는 22글자 = 11쌍으로 이루어집니다. 각 쌍은 [글자색][배경색] 순서이고, 11개의 쌍은 정해진 파일 종류 순서를 나타냅니다.
Eh fx cx dx bx eg ed ab ag ac ad
│ │ │ │ │ │ │ │ │ │ └ 기타 쓰기 가능 디렉토리(스티키 비트 없음)
│ │ │ │ │ │ │ │ │ └─── 기타 쓰기 가능 디렉토리(스티키 비트)
│ │ │ │ │ │ │ │ └────── setgid 실행 파일
│ │ │ │ │ │ │ └───────── setuid 실행 파일
│ │ │ │ │ │ └──────────── 문자 장치(character special)
│ │ │ │ │ └─────────────── 블록 장치(block special)
│ │ │ │ └────────────────── 실행 파일(executable)
│ │ │ └───────────────────── 파이프(pipe/FIFO)
│ │ └──────────────────────── 소켓(socket)
│ └─────────────────────────── 심볼릭 링크(symbolic link)
└────────────────────────────── 디렉토리(directory)
색상 코드 (한 글자)
| 글자 | 색 | 글자 | 색 |
|---|---|---|---|
a | 검정(black) | b | 빨강(red) |
c | 초록(green) | d | 갈색/노랑(brown) |
e | 파랑(blue) | f | 자홍(magenta) |
g | 청록(cyan) | h | 밝은 회색(light grey) |
x | 기본색(default) |
- 대문자(
A~H) = 해당 색의 굵게/밝게(bold) 버전. 예:E= 굵은 파랑. - 배경색 자리에
x를 쓰면 터미널 기본 배경을 사용합니다.
이 설정값 해석 — Ehfxcxdxbxegedabagacad
| 쌍 | 대상 | 글자색 | 배경색 |
|---|---|---|---|
Eh | 디렉토리 | 굵은 파랑(E) | 밝은 회색(h) |
fx | 심볼릭 링크 | 자홍(f) | 기본 |
cx | 소켓 | 초록(c) | 기본 |
dx | 파이프 | 갈색(d) | 기본 |
bx | 실행 파일 | 빨강(b) | 기본 |
eg | 블록 장치 | 파랑(e) | 청록(g) |
ed | 문자 장치 | 파랑(e) | 갈색(d) |
ab | setuid 실행 | 검정(a) | 빨강(b) |
ag | setgid 실행 | 검정(a) | 청록(g) |
ac | 스티키 쓰기 디렉토리 | 검정(a) | 초록(c) |
ad | 쓰기 디렉토리(스티키 없음) | 검정(a) | 갈색(d) |
기본값은
exfxcxdxbxegedabagacad이며, 이 설정은 첫 쌍만ex(파랑 글자·기본 배경) →Eh(굵은 파랑 글자·밝은 회색 배경)로 바꿔 디렉토리를 더 눈에 띄게 한 것입니다.
GNU/Linux에서는
리눅스 기본 ls는 아래처럼 씁니다.
alias ls='ls --color=auto'
# 색 규칙은 LS_COLORS로 지정하며, dircolors로 생성/커스터마이즈
eval "$(dircolors -b)"