ls의 출력에 색상을 지정하는 방법은 무엇입니까?

ls의 출력에 색상을 지정하는 방법은 무엇입니까?

Linux 텍스트 모드에서 CentOS를 실행하고 있습니다. 명령을 실행하면 ls /usr/출력이 읽기가 너무 어렵습니다(검은색 바탕에 진한 파란색). 텍스트 색상을 변경하는 방법은 무엇입니까?

ls 출력 스크린샷

답변1

콘솔에서 색상을 변경하려면X 외부, 다음과 같이 색상을 지정할 수 있습니다 .bashrc.

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0222222" #black
    echo -en "\e]P8222222" #darkgrey
    echo -en "\e]P1803232" #darkred
    ....
    fi

검정색을 다음과 같이 정의합니다 #222222. 자세한 내용은 이 게시물을 참조하세요.http://phraktured.net/linux-console-colors.html

당신이 일하고 있다면X에, 다음과 같이 색상을 정의하여 설정을 맞춤설정할 수 있습니다 .Xresources.

!black
 *color0:  #3D3D3D
 *color8:  #5E5E5E
!red
 *color1:  #8C4665
 *color9:  #BF4D80
 ...

그런 다음 X를 시작할 때 일반적으로 다음에서 이 파일을 가져옵니다 .xinitrc.

xrdb -merge ~/.Xresources

Arch Wiki에는 모든 옵션을 설명하는 .Xresources 페이지가 있습니다. https://wiki.archlinux.org/index.php/Xresources

당신이 할 수 있는 또 다른 향상X에 있거나 X에 있지 않거나.dir_colors다음과 같이 색상화하려는 다양한 파일 형식과 파일의 해당 색상을 모두 지정하는 것입니다 .

.xinitrc       01;31 
.Xauthority    01;31
.Xmodmap       00;31
.Xresources    01;33
 ...

먼저 /etc/dir_colors사용자 /home디렉터리에 복사하고 변경합니다. 그런 다음 .bashrc소스 에서 가져오면 eval $(dircolors -b ~/.dir_colors)작업할 때 파일 색상과 파일 형식을 세밀하게 제어할 수 있습니다 ls.

여기에서 (매우 상세하고 철저한) 예제 파일을 찾을 수 있습니다 .dir_colors. https://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS

세 가지 방법을 모두 결합하면 콘솔에서 작업하든 X에서 작업하든 상당히 균일한 설정을 만들 수 있습니다.

답변2

당신이 원하는 파일은 입니다 /etc/DIR_COLORS. 나는 당신과 똑같은 문제가 있었고 디렉토리를 청록색으로 변경했습니다. 효과가 훨씬 좋습니다.

cp /etc/DIR_COLORS /home/yourusername/.dir_colors

편집하면 /home/yourusername/.dir_colors다음 줄이 표시됩니다.

DIR 01;34    #directory

다음으로 변경하세요.

DIR 01;36    #directory

그러면 디렉토리 색상이 청록색으로 변경됩니다.

답변3

ls 색상을 수동으로 설정할 수 있지만 저는 이 방법을 선호합니다.

먼저

dircolors

주문하다.

dircolors --print-database > ~/.dir_colors

해당 파일 내에서 색상을 변경합니다(이는 설명이 필요 없으며 색상이 파일 내에서 시각화됩니다).
변경 사항을 적용합니다.

eval $(dircolors ~/.dir_colors)

오랫동안 사용하려면 다음 위치에 넣으세요 ~./bashrc.

if [ -f ${HOME}/.dir_colors ]; then
  eval $(dircolors ~/.dir_colors)
fi

답변4

로고를 사용하는 것이 ls --color=no가장 간단한 옵션입니다. 더 짧은 버전은 ls --col=n.

파이프라인은 자동으로 ls설정됩니다 --color=no. ls | cat아니면 ls | tee작동할 것입니다.

ls | grep .기본적으로 모든 출력을 빨간색으로 설정하거나 ls | grep ''기본적으로 모든 출력을 흰색으로 설정하는 것도 가능합니다 .

관련 정보