모든 디렉토리에서 파일을 찾는 방법

모든 디렉토리에서 파일을 찾는 방법

다음과 같은 파일을 찾으려고 합니다.제1권.

내 테스트에서는 위의 파일을 찾으려고 하는데 이 테스트에서는 파일이 어디에 있는지 알 수 없습니다.

시도해 보았지만 find / -iname book1출력이 없습니다.

파일이 어디에 있는지 모르는 경우 명령줄을 사용하여 book1이라는 파일을 어떻게 찾을 수 있나요?

편집하다:

내 시나리오는 아래에 더 자세히 설명되어 있습니다.

  1. 파일 확장자를 알 수 없음
  2. 정확한 이름(예: 대문자, 숫자 등)은 알 수 없습니다.
  3. 파일 위치를 알 수 없음

답변1

먼저 매개변수 -iname는 쉘입니다.무늬. 패턴에 대해 자세히 알아볼 수 있습니다.배쉬 매뉴얼. 요점은 find정말로찾다파일의 파일 이름은 지정된 패턴과 일치해야 합니다. 대소문자를 구분하지 않는 문자열 book1일치를 활성화하려면 다음과 같은 항목을 Book1.gnumeric추가해야 합니다 .*

find / -iname 'book1*'

또는 전체 이름을 지정하세요.

find / -iname 'Book1.gnumeric'

둘째, 파일 이름 대소문자는 무시 -iname되므로 지정하면 찾을 수도 있습니다 . 찾고 있는 파일이 호출되었다고 확신하는 경우에는 사용하지 말고 을 사용 하면 더 빨라집니다.find-iname book1Book1bOok1Book1.gnumeric-iname-name

find / -name 'Book1.gnumeric'

셋째, 인용문에 명시된 패턴을 기억하세요.다른 답변.

마지막으로, 이 파일을 찾으시겠습니까? 어디에나당신의 시스템에? $HOME파일을 처리했거나 어딘가에서 다운로드한 경우 찾고 있는 파일이 실제로 디렉터리에 있을 수 있습니다. 이번에도 훨씬 더 빠를 수 있습니다.

편집하다:

질문을 수정하신 것으로 확인되었습니다. 전체 파일 이름, 대소문자, 위치를 정말로 모르는 경우 다음과 같이 사용해야 합니다.

find / -iname 'book1*'

2>/dev/null또한 루트가 아닌 사용자 *permission denied*로 호출할 때 발생하는 모든 오류 및 기타 오류를 숨기려면 이 항목을 줄 끝에 넣는 것이 좋습니다 .find

find / -iname 'book1*' 2>/dev/null

단일 파일을 찾고 싶고 시스템에 find기준과 일치하는 파일이 하나만 있는 경우 일치하는 첫 번째 파일을 찾은 후 종료할 수 있습니다.

find / -iname 'book1*' -print -quit 2>/dev/null

답변2

locate명령을 시도해 볼 수 있습니다 . 검색 속도를 높이기 위해 파일 이름 데이터베이스를 사용합니다.

일치하는 모든 파일을 검색 *book1*하고 대소문자를 무시하려면 다음을 사용할 수 있습니다.

locate -i book1

파일을 검색하고 싶다면시작book1와일드카드는 직접 작성해야 합니다 .

locate -i 'book1*'

보다 훨씬 빠르지만 find데이터베이스를 마지막으로 새로 고친 시점만큼만 최신 상태입니다.

답변3

book1.something파일 위치, 의 정확한 값, something파일 이름의 대소문자 패턴을 알 수 없는 이름의 파일이 있다는 것을 알고 있는 경우 :

find / -iname 'book1.*'

파일 이름에 단어가 포함되어 있다는 것이 확실하다면 book다음 명령을 사용하여 잠재적으로 더 큰 목록을 생성할 수 있습니다.

find / -iname '*book*'

인수는 -name쉘 글로브 패턴입니다. 파일이 있는 디렉토리에서 다음을 비교하십시오.

$ ls Book1
ls: cannot access 'Book1': No such file or directory
$ ls Book1.*
Book1.gnumeric

이는 수행된 검색 유형을 나타냅니다 -name. 이 -iname옵션은 대소문자를 구분하지 않는 버전만 허용합니다.

답변4

Zsh에서는 glob 모드를 사용할 수 있으므로 다음과 같이 작동합니다.

ls -a /**/book1

이름이 지정된 파일이 있는 모든 위치를 찾습니다 book1.

내 테스트에서는 이 방법이 를 사용하는 것보다 더 빠른 것 같았 find으며 결과도 거의 나오지 않았습니다.사용자 권한 오류루트 권한 없이 실행하는 경우

바라보다수동.

관련 정보