[unix] 숨겨진 모든 파일과 디렉토리를 재귀 적으로 나열하는 방법은 무엇입니까?

모든 숨겨진 파일과 디렉토리를 나열하고 결과를 파일에 저장하고 싶습니다.

이것에 대한 명령이 있습니까?



답변

GNU find를 사용하면 할 수 있습니다

find /path -path '*/.*' -ls | tee output-file

편집하다

숨겨진 디렉토리에 숨겨져 있지 않은 항목을 표시하지 않으려면

find /path -name '.*' >output-file

(표시된대로 tee출력을 볼 필요가없는 경우 피할 수 있으며 -ls옵션은 필요한 경우에만 사용해야합니다).


답변

를 포함하여 현재 디렉토리에 숨겨진 파일 및 디렉토리를 나열 .하고 ..:

echo .*

현재 디렉토리 및 해당 서브 디렉토리의 숨겨진 파일 및 디렉토리를 재귀 적으로 나열하려면 다음을 수행하십시오.

find . -name '.*'

결과를 파일로 저장하려면 리디렉션을 사용하십시오.

find . -name '.*' >output-file.txt


답변

zsh( glob 한정자를 사용하여 D) :

print -rl ./**/.*(D)

숨겨진 디렉토리에 숨겨지지 않은 파일을 포함 시키려면 :

setopt extendedglob
print -rl ./**/*~^*/.*(D)


답변

실제로 동일한 명령 행에 동일한 인수를 여러 번 넣을 수 있습니다.

find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli

tee -a명령은 명령의 출력 (또는 표시 할 수 있습니다 표준 출력을 파일로 작성 whie 동시에). 이 -a옵션은 클로버 링 을 방지 하고 대신 정보를 대상 출력 파일에 추가합니다.

/storage/????-????/예제 경로입니다. 최신 Android 휴대 전화의 MicroSD 카드로가는 경로입니다 (Android 6.0 이후로 명령 수가 적지 만 여전히 많고 크게 증가한 Android 용 터미널 응용 프로그램도 있습니다). 이전에는 MicroSD 카드였습니다 /storage/extSdCard. 이제는 볼륨 일련 번호입니다.


답변