"ls" 파일 목록에서 숨겨진 파일의 색상을 지정하는 방법은 무엇입니까?

"ls" 파일 목록에서 숨겨진 파일의 색상을 지정하는 방법은 무엇입니까?

LS_COLORSls환경 변수를 사용하면 디렉터리, 일반 파일, 링크 등과 같은 다양한 파일 형식에 대한 GNU coreutil 명령의 색상을 결정할 수 있습니다. 도트 파일은 유형 자체가 아닌 Linux 파일 유형의 변형으로 간주되므로 표시 색상을 지정할 수 있는 옵션이 없습니다.

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

답변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 명령은 두 부분으로 분할됩니다. 하나는 파일과 폴더를 숨기기 위한 것이고 다른 하나는 나머지 부분을 위한 것입니다.

답변2

예, 를 사용하세요 cf. 방금 각 파일 확장자 및/또는 일부 특수 속성(실행 파일, 링크, 숨김 및 디렉터리)에 대한 ls 출력의 색상을 지정하는 잘 문서화된 버전을 출시했습니다. 시도 해봐! ! ! 한번 익숙해지면 사용을 중단하기가 어렵습니다.

https://github.com/AdamDanischewski/cf

답변3

숨겨진 파일(및 폴더)만 강조 표시하고 다른 모든 파일의 색상은 신경 쓰지 않는 경우 확실한 방법은 다음을 실행하는 것입니다.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)

관련 정보