`ls` 파일 목록에서 숨겨진 파일을 채색하는 방법은 무엇입니까?


10

LS_COLORS환경 변수를 사용하면 ls디렉토리, 일반 파일, 링크 등과 같은 GNU coreutil 명령에 대한 다양한 파일 유형의 색상을 결정할 수 있습니다 . 도트 파일은 Linux 파일 유형의 변형으로 간주되며 유형이 아니라고 가정합니다. 디스플레이 색상을 지정하는 옵션이 없습니다.

ls목록에 숨겨진 파일을 다른 색상으로 표시 할 수있는 다른 방법이 있습니까?


이 답변 은 당신이 알고 싶어했던 것 이상을 가지고 있습니다 LS_COLORS. 도트 파일을 작동시키는 방법을 알 수 없었지만 체크 아웃하고 싶을 수도 있습니다.
terdon

1
@terdon-도트 파일에서는 작동하지 않습니다. 일부는 가능하지만 매우 적습니다. 확장명 길이에는 제한이 있으며 대부분의 전체 파일 이름이이를 초과합니다. *.hide예를 들어 이름이 지정된 파일에서 작동합니다 . 이 답변 은 디렉토리에 대한 비슷한 문제를 해결하지만 이에 대한 답변과 디렉토리 문제는 동일하지 않을 수 있습니다.
mikeserv

답변:


1

이름으로 만 정렬하는 경우 도움이 될 수 있습니다.

alias ll='LS_COLORS=$LS_COLORS:"di=0;34:" ; S_COLORS=$LS_COLORS:"fi=0;37:" ; export LS_COLORS; ls -dHhl --color=auto .*; LS_COLORS=$LS_COLORS:"di=1;94:" ; LS_COLORS=$LS_COLORS:"fi=1;37:" ; export LS_COLORS$

그러나 ls 명령은 숨겨진 파일 및 폴더 용과 나머지 용으로 두 부분으로 나뉩니다.


0

그렇습니다 cf. 방금 잘 문서화 된 버전을 출시했습니다. 파일 확장자 및 / 또는 특정 특수 속성 (실행 파일, 링크, 숨김 및 디렉토리) 당 ls 출력의 색상을 지정합니다. 기회를 줘 !!! 일단 익숙해지면 사용하기가 어렵습니다.

https://github.com/AdamDanischewski/cf


-1

숨겨진 파일 (및 폴더)을 강조 표시하고 다른 모든 파일의 색상을 신경 쓰지 않는다면 명백한 접근 방식을 실행하는 것입니다 ls -la | grep -E "^| \.[^/|'.].*"

다른 색상을 유지하려면 $LS_COLORS숨겨진 파일의 색상 지정을 기본적으로 지원하지 않기 때문에 상황 이 까다로워지기 시작합니다 .

현재 디렉토리의 숨겨진 파일을 $LS_COLORS의사 확장으로 환경 변수 에 동적으로 추가 한 다음 실행 ls -la한 후 실행 dircolors하여 원래 색상 스키마를 재설정하는 아이디어를 생각해 냈습니다 . 숨겨진 파일의 이름이 알려진 확장자와 동일한 경우 충돌이 발생합니다. 또한이 방법은 숨겨진 폴더에서는 작동하지 않습니다.

경고 :이 솔루션은 철저히 테스트되지 않은 해킹입니다. 자신의 책임하에 사용하십시오.

for h in $(ls -A | grep "^\."); do LS_COLORS="$LS_COLORS*$h=04;05:"; done; ls -la; eval $(dircolors)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.