파일에 대한 특정 권한을 강조 표시하기 위해 ls의 색상 출력을 제어하는 방법이 있습니까? (예를 들어쓰다권한).
LS_COLORS
이를 수행할 수 있는 옵션이 있습니까 ? (위 이미지는 의 출력이 아니라 Emacs 24.1의 Dired+에서 가져온 것입니다 ls
.)
답변1
넌 언제나 할 수 있어ls
스테로이드파일 권한의 색상 효과를 구현합니다.
답변2
방금 이것을 시도했는데 Ruby라는 작은 프로그램을 사용하면 실제로 가능합니다.위로 세우고(임의의 명령 출력 셰이더). 이는 모든 터미널 프로그램의 출력(색상 출력, top
특히 gcc
깔끔함)을 가로채고 사용자가 지정한 정규식 규칙 파일에 따라 색상을 지정하는 데 사용할 수 있습니다 . 설정하는 데 약간의 작업이 필요하고 규칙을 정의해야 하지만 가장 유연합니다. 세계의 컬러 쓰기 가능 파일에 대한 규칙을 성공적으로 추가할 수 있었습니다.
이 경로로 이동하는 경우 주의할 사항은 다음과 같습니다.
- 프로젝트가 배포되지 않은 것 같습니다. 홈 페이지에서 수동으로 설치해야 합니다.
- 최신 버전의 Ruby를 사용하려면 프로젝트 홈페이지의 코드를 패치해야 합니다. 패치를 찾을 수 있습니다여기(나는 저자에게 패치에 대해 알리기 위해 연락했고 아마도 그는 자신의 버전을 업데이트할 것입니다).
ls
차단할 경우acoc
기존 규칙은 폐기되므로LS_COLORS
강조 표시한 내용을 포함하여 필요한 모든 규칙을 정규식 형식으로 제공해야 합니다LS_COLORS
.
답변3
dircolors --print-database
가능한 모든 옵션이 나열되어 있으면 긴 출력에서 권한을 강조 표시할 방법이 없습니다.
여전히 grep을 사용할 수 있습니다.
ls -l | grep --color -P "(?<=[r-])w"
w
권한 섹션의 모든 s가 강조 표시됩니다 . 또한 파일 이름에서 s와 w
s 도 강조 표시됩니다 r
.-
답변4
https://altbox.dev/또한 언급lsd
그리고exa
이는 (user13742의 답변 참조) ls++
이 작업을 수행하는 대안으로 사용됩니다. ls
둘 다 Rust로 작성되었으며 미리 컴파일된 바이너리를 제공합니다. 아직 직접 해보지는 않았고, 강좌 강사의 툴체인을 살펴보는 중입니다.