문제

당신이 수행 할 때 ls 배쉬 쉘에서는 때로는 다른 자원 유형을 나타내는 색상이 있으며,이를 통해이를 활성화/제어 할 수 있습니다. --color 논쟁.

그러나 Man Page 나 Google은 다음과 같은 질문에 대한 답을 제공하지 않습니다.

이러한 색상은 기본적으로 무엇을 나타내며, 현재 시스템이 사용하는 것을 어떻게 표시합니까?


업데이트:

지금까지 답변 해 주신 모든 분들께 감사드립니다. 그러나 승자를 쉽게 선택할 수 있도록 누구나 한 걸음 더 나아가서 적용하는 색상의 설명을 출력 할 수있는 방법을 제공 할 수 있습니다.

흠 ... 내 예제는 게시 될 때 작동하지 않으므로 (미리보기 만 할 때만)이 코드를 미리 보면 의미하는 바를 보여줍니다 ...

<ul style="list-style:none; background:black; margin:0;padding:0.5em; width:10em">
  <li style="color:blue">directory</li>
  <li style="color:aqua">symbolic link</li>
  <li style="color:#A00000;">*.tar files</li>
  <li style="color:white">...</li>
</ul>

감사.

도움이 되었습니까?

해결책

색상은 다음으로 정의됩니다 $LS_COLORS 환경 변수. 배포판에 따라 쉘이 시작되면 자동으로 생성됩니다. ~/.dircolors 또는 /etc/DIR_COLORS.

편집하다:

색상 의미를 나열하려면이 스크립트를 사용하십시오.

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
}

다른 팁

명령을 실행합니다 dircolors -p 모든 기본 색상 설정을 인쇄합니다. 보다 http://linux.about.com/library/cmd/blcmdl1_dircolors.htm.

/etc /dir_colors의 매핑 목록을 볼 수 있어야합니다. 홈 디렉토리에서 .dir_colors를 작성하여이를 무시할 수 있습니다.

"Man 5 Dir_Colors"를 사용하여 시스템에 어떻게 설정되어 있는지 확인하십시오. 광산에는 /etc /dir_colors가 없으므로 다른 곳에 설정해야합니다.

Google을위한 LS_COLORS 유용한 링크의 경우.

편집하다: 색상을 나열하기 위해이 간단한 bash 스크립트는 다음과 같은 아이디어를 줄 수 있습니다.

IFS=:
set $LS_COLORS
for C in $*
do
    IFS='='
    set $C
    echo -e "\033[$2m$1\033[00m"
done
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top