답변:
귀하의 정보를 위해 :
색상을 끄려면에서 다음 줄을 주석 처리해야합니다 .bashrc
.
# enable color support of ls and also add handy aliases
#if [ -x /usr/bin/dircolors ]; then
# test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
# alias ls='ls --color=auto'
# #alias dir='dir --color=auto'
# #alias vdir='vdir --color=auto'
#
# alias grep='grep --color=auto'
# alias fgrep='fgrep --color=auto'
# alias egrep='egrep --color=auto'
#fi
또한 고유 한 bash 색상 의미를 보려면 터미널에서 다음 코드를 복사 / 붙여 넣기하십시오.
eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g')
{
IFS=:
for i in $LS_COLORS
do
echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m"
done
}
산출:
노트 :
man dir_colors
은 터미널에 입력하십시오 . eval
스크립트 의 더 읽기 쉬운 버전 은 다음과 같습니다 : github.com/gkotian/gautam_linux/blob/master/scripts/colours.sh
변수 ls
를 보면 색상이 사용하는 것을 알 수 있습니다 $LS_COLORS
.
또한 파일은 속성별로 색상이 지정됩니다.
aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, 동물원, cpio, 7z, rz.
jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.
이 모든 정보는의 출력에 포함되어 dircolors --print-database
있지만 형식을 읽을 수는 없습니다.
진행 상황에 대한 기술적 인 설명은 다음과 같습니다.
예:
CHR 40;33;01
색상 코드는 세 부분으로 구성됩니다.
세미콜론 앞의 첫 부분은 텍스트 스타일을 나타냅니다.
두 번째와 세 번째 부분은 색상과 배경색입니다.
왼쪽에서 시작한다고 가정하면 각 부분을 생략 할 수 있습니다. 즉, "01"은 굵은 체, "01; 31"은 굵은 체, 빨간색 그리고 당신은 당신의 터미널로 명령을 탈출하여 컬러로 인쇄 할 얻을 것 \33[
와 함께 종료 m
. 33 또는 16 진의 1B는 ASCII 부호 "ESCAPE"(ASCII 문자 세트의 특수 문자)입니다. 예:
"\33[1;31mHello World\33[m"
"Hello World"를 밝은 빨간색으로 인쇄합니다.
ls
인수가 있는 명령 --color=auto
(Ubuntu에서 ls
별명입니다 ls --color=auto
)은 모든 파일 이름을 거치고 먼저 Executable, Pipe 등과 같은 다른 유형과 일치하려고 시도합니다. 그런 다음 * .wav와 같은 정규 표현식을 일치시키고 bash에 대한 색상 변경 지침으로 묶인 결과 파일 이름을 인쇄합니다.
명령 행에서 입력 dircolors
( echo $LS_COLORS
작동)하면 한 줄에 많은 파일 유형에 대한 코드 및 색상 목록이 표시됩니다. dircolors --print-database
한 번에 한 줄씩 보여줍니다. 여기에 짧은 목록이 있습니다 (가장 중요한 것을 넣으려고했습니다). 맨 아래에는 각 줄 끝의 다른 코드가 무엇을 나타내는 지에 대한 설명이 있습니다.
NORMAL 00 # 전역 기본값이지만 모든 것이 무언가 여야합니다. FILE 00 # 일반 파일 디렉토리 01; 34 # 디렉토리 LINK 01; 36 # 기호 링크. (이 대신 '타겟'으로 설정하면 # 숫자 값, 색상은 파일이 가리키는 것과 같습니다.) FIFO 40; 33 # 파이프 양말 01; 35 # 소켓 문 01; 35 # 문 BLK 40; 33; 01 # 블록 장치 드라이버 CHR 40; 33; 01 # 문자 장치 드라이버 ORPHAN 40; 31; 01 # 존재하지 않는 파일 또는 통계 할 수없는 파일에 대한 심볼릭 링크 SETUID 37; 41 # setuid (u + s) 인 파일 SETGID 30; 43 # setgid 파일 (g + s) STICKY_OTHER_WRITABLE 30; 42 # 끈적 거리고 쓰기 가능한 다른 디렉토리 (+ t, o + w) OTHER_WRITABLE 34; 42 # dir 쓰기 가능 (o + w)이고 고정되지 않는 dir STICKY 37; 44 # dir 스티커 비트 세트 (+ t)이며 다른 쓰기 가능하지 않음 아카이브 또는 압축 (밝은 빨간색) .tar 01; 31 .tgz 01; 31 # 이미지 형식 .jpg 01; 35 .jpeg 01; 35 .gif 01; 35 .bmp 01; 35 # 오디오 형식 .aac 00; 36 .flac 00; 36 .ogg 00; 36
00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
이 문제를 해결하려면 파일의 색상을 설정하는 방법에 대한 예가 있습니다.
export LS_COLORS=$LS_COLORS:"*.ogg=01;35":"*.mp3=01;35"
이 설정합니다 *.ogg
및 .mp3
에 bold magenta
. 그리고 .bashrc
파일에 넣으면 영구적이됩니다.
pdf
파일 의 색상을 설정 하려면 프로세스를 사용하는 것 export
입니까? 기본 LS_COLORS
변수 에 단순히 하나의 확장을 추가 할 수 있습니까?
이것은 Karthick87의 답변 에서 확장됩니다 .
ls -l
)#!/bin/bash
# For LS_COLORS, print type and description in the relevant color.
IFS=:
for ls_color in $LS_COLORS; do
color="${ls_color#*=}"
type="${ls_color%=*}"
# Add descriptions for named types.
case "$type" in
bd) type+=" (block device)" ;;
ca) type+=" (file with capability)" ;;
cd) type+=" (character device)" ;;
di) type+=" (directory)" ;;
do) type+=" (door)" ;;
ex) type+=" (executable file)" ;;
fi) type+=" (regular file)" ;;
ln) type+=" (symbolic link)" ;;
mh) type+=" (multi-hardlink)" ;;
mi) type+=" (missing file)" ;;
no) type+=" (normal non-filename text)" ;;
or) type+=" (orphan symlink)" ;;
ow) type+=" (other-writable directory)" ;;
pi) type+=" (named pipe, AKA FIFO)" ;;
rs) type+=" (reset to no color)" ;;
sg) type+=" (set-group-ID)" ;;
so) type+=" (socket)" ;;
st) type+=" (sticky directory)" ;;
su) type+=" (set-user-ID)" ;;
tw) type+=" (sticky and other-writable directory)" ;;
esac
# Separate each color with a newline.
if [[ $color_prev ]] && [[ $color != $color_prev ]]; then
echo
fi
printf "\e[%sm%s\e[m " "$color" "$type"
# For next loop
color_prev="$color"
done
echo
기본 설정으로 출력 :
내 설정으로 출력 (사용자 정의 dircolor 및 사용자 정의 Solarized 터미널 테마) :
나는로부터 설명을 가지고 dircolors -p
하고 man dir_colors
, 내 자신의 연구 격차에 가득 찼다.
색상과 설명은 14.04에서 17.10까지 동일합니다.
rs
수단 RESET
, mh
수단 MULTIHARDLINK
, ca
수단 CAPABILITY
등을 어떻게 알았 습니까?
dircolors -p
.
dircolors -p
rs 가 RESET 0 이라고 말하지 않습니다. # "정상"색상으로 재설정됩니다 .
여기에 대한 답변 중 최신 버전의 Ubuntu에는 256 색상 옵션이 포함되어 있지 않습니다. 나는 색상이 부족합니다 (일부 색상은 서로 가까이에서 문제를 일으킴). 검은 색의 기본 파란색 디렉토리는 실제로 읽기가 어렵습니다. 다음은 그것을 바꾸려는 나의 연구입니다.
dircolors -p |less
현재 색상 코드를 보려면 입력 하십시오.
기본 .bashrc는 이미 시스템 색상 코드뿐만 아니라 ~ / .dircolors에도 사용되도록 구성되어 있으므로 dircolors 출력을 .dircolor로 덤프하여이 명령을 사용하여 시작할 수 있습니다.
dircolors -p > ~/.dircolors
대안 : seebi의 태양 광 프로젝트 에서 매우 유사한 256 색 dircolor를 선택하십시오 .
이 색상 테스트 스크립트를 잡고 명령으로 실행하여 colortest -w
모든 색상을 한 번에 볼 수 있습니다. 색상을 선택하십시오. 나는 오렌지 # 208을 좋아한다. 확장 색상 코드 에서이 정보를 사용하여 텍스트 색상이되도록하고 싶습니다.
그래서 당신은 색깔을 가지게되었습니다. 먼저 문자열을 만들어야합니다.
첫 번째 숫자는 속성 코드이며 대부분 00이 될 것입니다.하지만 깜박이려면 05와 함께 진행하십시오.
속성 코드를 선택하십시오. 00 = 없음 01 = 굵게 04 = 밑줄 05 = 깜박임 07 = 후진 08 = 숨겨 짐
다음 ;38;5;
으로 해당 속성 코드에 추가 하여 00; 38; 5; 그런 다음 색상을 추가하십시오. 나는 208을 골랐다 00;38;5;208
.
배경을 넣고 싶다면 colortest 스크립트와 ;48;5;
배경을 추가 하고 56을 사용하여 다른 문자열 ( 56)을 골라 총 문자열을 얻으십시오 00;38;5;208;48;5;56
.
이제 당신은 그것을 가지고, 당신은 그것으로 무엇을합니까?
vim ~/.dircolors
위에서 "00; 38; 5; 208"으로 결정한 문자열로 변경하려는 섹션을 찾으십시오 (DIR 인 경우).
이것은 즉시 적용되지 않으므로 구성을로드해야합니다. dircolors ~/.dircolors
get 코드에 LS_COLORS 변수를 설정하는 데 사용하십시오 . 터미널 세션에 붙여 넣거나 터미널을 닫았다가 다시 열 수 있습니다. 파일로 파이프하고 셸 스크립트로 실행할 수도 있습니다.
16 가지 색상으로 동일한 절차를 수행 할 수 있습니다. 특별한; 38; 5 또는; 48; 5 물건이 필요하지 않습니다. 문자열에 숫자를 던져 단순성을 즐기십시오.
eval
각 유형에 대한 출력 색상 표현을 보여주는 스크립트는 훌륭합니다 ... 감사합니다!