일부 숨겨진 폴더에 숨겨진 일부 구성을 찾아야하는데 구성이 어디에서 직접 탐색해야하는지 기억할 수 없습니다. Cmd + Shift + G .

sudo find -name Foo* (느림)를 수행했지만 반환 된 항목이 없습니다. 파일이 숨겨진 폴더에있었습니다.

숨겨진 파일을 모두 검색하는 가장 쉬운 방법은 무엇인가요?

댓글

  • 참고 : sudo는 액세스 권한이없는 디렉토리에서 검색해야하는 경우가 아니면 필요하지 않습니다. 숨겨진 디렉토리에서 검색 할 때는 높은 권한이 필요하지 않습니다. '이 '이 예제에서 사용되는 이유입니다.

답변

mdfind는 많은 숨겨진 파일을 무시하는 것 같습니다. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename".DS_Store 파일 (예 : .bash_history)이 아닙니다. 파일을 검색 할 방법을 찾지 못했습니다. /private/etc/와 같은 일부 숨겨진 디렉토리에 있습니다.

어쨌든 모든 파일 찾기 는 매우 많습니다. find보다 빠릅니다.

Find Any File은 디스크에서 파일을 검색 할 수있는 Mac OS X 용 프로그램입니다.

  • Spotlight와 달리 데이터베이스를 사용하지 않고 대신 파일 시스템 드라이버를 사용합니다. “의 빠른 검색 작업 (사용 가능한 경우). 이렇게하면 이름, 날짜, 크기 등과 같은 파일 속성을 검색 할 수 있지만 파일 콘텐츠는 검색 할 수 없습니다 (Spotlight 또는 EasyFind 사용).
  • 모든 파일 찾기는 Spotlight에서 찾을 수없는 파일을 찾을 수 있습니다. , 예 : 일반적으로 Spotlight 검색에서 제외되는 번들 및 패키지 내부 및 내부 폴더에있는 파일
  • 마지막으로 매우 빠릅니다. 검색은 내부 하드 디스크 또는 SSD에서 몇 초 밖에 걸리지 않습니다.

답변

file “은 이름이 점으로 시작하거나 이름이 점으로 시작하는 디렉토리 아래 어딘가에 위치하며 다른 형태의 보이지 않는 파일 이 아닌 파일을 의미합니다. 다음 명령은 모든 숨겨진 파일의 이름을 인쇄합니다. 시스템의 모든 파일 이름을 검색하므로 속도가 느립니다.

sudo find / -name ".*" \( -type d -exec find {} \; -prune -o -print \) 

설명 :

  • -type d -exec find {} \; -prune는 다음에서 find를 실행합니다. 모든 디렉토리 (이름이 .*와 일치 함)이며 -prune 때문에 해당 디렉토리로 내림차순으로 건너 뜁니다.
  • -type d … -o -print.*와 일치하는 모든 비 디렉토리가 인쇄되도록합니다.

원하는 경우 특정 이름이나 패턴을 가진 파일의 경우 :

sudo find / -name "Foo*" -path "*/.*" 

전체 경로의 */.* 패턴은 숨겨진 디렉토리 아래에 있어야합니다.

특수 파일 시스템을 통과하지 않도록 / 뒤에 -xdev를 추가 할 수 있습니다. 이동식 디스크.

댓글

  • 아, 감사합니다. -xdev가 더 이상 사용되지 않으므로 -x가 선호되는 것 같습니다.

Answer

locate 명령. 먼저 sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist를 실행하고 찾기 DB가 생성 될 때까지 기다려야합니다.

댓글

  • mdfind가 slocate보다 월등히 우수하기 때문에 Spotlight는 ' 숨겨진 / (점-) 파일을 선택하지 않는 ' 그런 성가신 문제입니다. .

답변

EasyFind 는 작업을 완료 할 수있는 훌륭한 대체 앱입니다. 무료이며 간단합니다. 파일 (보이지 않는 파일 포함)의 텍스트를 검색 할 수 있습니다. < = 구성 파일을 찾는 더 쉬운 방법 일 수 있습니다.

App Store에서 얻을 수 있습니다. https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

면책 조항 : 저는 개발자와 관련이 없습니다.

댓글

  • APFS 형식 드라이브에서는 작동하지 않습니다.

Answer

ag는 파일 이름으로 숨겨진 파일을 검색 할 수 있습니다.

예 :

ag --hidden -g ".swiftlint.yml" ~/ 

설치 방법

brew install the_silver_searcher 

https://github.com/ggreer/the_silver_searcher

rg는 ag보다 빠릅니다.

rg --files --hidden ~/ |rg ".swiftlint.yml" 

설치 방법

brew install ripgrep 

https://github.com/BurntSushi/ripgrep

댓글

  • OP에서 설명한 상황 (숨겨진 파일의 이름을 모르는 사람이 ' 분명히)에서 어떻게 도움이 되나요?
  • 작동합니다. 게다가. 예 : rg –files –hidden ~ / | rg " .swiftlint * "

답변

.DS_Store 숨김 파일,이 명령은 잘 작동합니다.

du -a | grep .DS_Store 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다