[unix] `ls`로 색상을 끄는 방법?

에서 컬러 출력을 가지고 일반적으로 좋은 ls, grep등하지만 (예 : 다른 명령에 결과를 파이프하고 스크립트에서와 같이) 그것을 끌 수있는 스위치가 존재하지 않을 때? ls -G(함께 켜지 일부 의 BSD 파생 버전 ls이 기본 아니지만, 경우) ls +G을 해제하지 않습니다. 다른 것이 있습니까?



답변

ls현재 대부분의 배포판에서에 대한 색상 출력 은 일반적으로 별칭을 통해 활성화됩니다.

$ alias ls
alias ls='ls --color=auto'

별칭 앞에 백 슬래시를 붙여서 별칭을 일시적으로 비활성화 할 수 있습니다.

$ \ls

위의 작업을 수행하면이 호출에 대한 별칭이 단락됩니다. 별칭을 비활성화하려는 경우 언제든지 사용할 수 있습니다.


답변

GNU ls를 사용하면 ls --color=never색상 출력을 명시 적으로 비활성화하도록 지정할 수 있습니다 . (가있는 경우에도 alias ls='ls --color=auto'를 실행 ls --color=never하면로 확장되고 ls --color=auto --color=never이후 옵션이 우선합니다.)


답변

DOS 에서처럼 간단하게 사용할 수도 있습니다.

dir

색상이없는 결과가 표시됩니다 . ls와 같은 인수를 추가 할 수 있습니다 -l.


답변

alias ls=ls

또는

unalias ls

이것은 착색을 영구적으로 비활성화합니다.


답변

많은 Linux 배포판에서 이것은 사용자에서 기본적으로 켜져 .bashrc있습니다.

~/.bashrc다음과 같은 줄을 편집 하고 제거하십시오.

alias ls='ls --color=auto'

나중에이 시스템에서 생성 된 모든 새 계정에 대해이 기능을 비활성화하려면 다음에서 동일한 줄을 제거하십시오.

/etc/skel/.bashrc


답변

Centos7 에서이 설정은 /etc/profile.d/colorls.sh…이 스크립트의 마지막 3 줄은 다음과 같습니다.

alias ll='ls -l --color=auto' 2>/dev/null
alias l.='ls -d .* --color=auto' 2>/dev/null
alias ls='ls --color=auto' 2>/dev/null

욕망과 권한이 있다면 … 원치 않는 줄을 주석 처리하면 트릭을 수행해야합니다.


답변

색상을 끄려면 :
unalias ls

색상을 켜려면
alias ls = ‘ls –color = auto’

색상을 일시적으로 비활성화하려면 :
\ ls -ltr