점으로 시작하는지 여부에 관계없이 숨겨진 파일과 디렉토리만 포함하는 ls
별칭(예: )을 사용하여 컬러 목록을 출력하고 싶습니다. l.
어떤 제안이 있으십니까?
예상 결과의 예...
## Listing all contents of $PWD
$ ls -AF
file directory/
.dot-file .dot-directory/
hidden-file hidden-directory/
## Listing all hidden contents of $PWD, using alias `l.`
$ l.
.dot-file .dot-directory/
hidden-file hidden-directory/
연구...
비슷한 질문에 대한 답변을 보았습니다. 이 답변은 훌륭하지만 다음과 같은 이유로 내가 요구하는 것을 제대로 수행하지 못합니다.
- 숨겨진 도트 파일만 표시됩니다.
- 실행하면
chflags hidden file
출력 에서file
제외됩니다.l.
- 실행하면
- 스타일이 아닌 스타일이
grep
있는 숨겨진 도트 파일을 표시하는 것으로 제한됩니다.ls
-l
내가 거기에 깃발을 던지고 싶을 수도 있기 때문에 이것은 중요합니다.
세부 사항
## Current `ls` alias
alias ls="ls -h ${COLORFLAG}"
나는 bash
& 를 모두 사용합니다 zsh
.
답변1
그러면 이 find
명령을 사용하여 포인트 파일과 "숨겨진" 플래그가 설정된 파일을 검색합니다.
ls
일치하는 파일은 via sed
("." 결과 및 선행 "./" 접두사 제거) 및 를 통해 인수 목록으로 입력됩니다 xargs
. 이를 통해 추가 ls
인수를 지정할 수 있습니다(예 -l
: ).
alias l.="find . \( -flags +hidden -or -name '.*' \) -maxdepth 1 | sed 's/^\.\/*//' | xargs ls -d"
전체 구성은 현재 디렉터리( -maxdepth 1
인수 find
)만 나열하도록 되어 있습니다. 이를 원하지 않는 경우 옵션을 확인 하고 그에 -R
따라 억제하는 조건을 도입해야 합니다 .maxdepth
find
예:
$ ls -alO
total 8
drwxr-xr-x 9 guido staff - 306 Apr 13 22:43 .
drwxr-xr-x+ 6 guido staff - 204 Apr 13 19:00 ..
drwxr-xr-x 2 guido staff - 68 Apr 13 22:43 .hiddendir
-rw-r--r-- 1 guido staff - 0 Apr 13 21:48 .xx
-rw-r--r-- 1 guido staff - 0 Apr 13 21:17 file
-rw-r--r-- 1 guido staff - 18 Apr 13 21:03 file.b
drwxr-xr-x@ 2 guido staff hidden 68 Apr 13 22:43 hidden2
-rw-r--r--@ 1 guido staff hidden 0 Apr 13 22:35 hide
drwxr-xr-x 2 guido staff - 68 Apr 13 21:51 tst
$ l.
.hiddendir .xx hidden2 hide
$ l. -alO
drwxr-xr-x 2 guido staff - 68 Apr 13 22:43 .hiddendir
-rw-r--r-- 1 guido staff - 0 Apr 13 21:48 .xx
drwxr-xr-x@ 2 guido staff hidden 68 Apr 13 22:43 hidden2
-rw-r--r--@ 1 guido staff hidden 0 Apr 13 22:35 hide