리눅스에서 파일 검색을 위한 find, locate, which 및 whereis 명령어 사용하기

Bg1

리눅스에서 터미널을 통해 파일을 찾고 위치를 확인하는 방법은 몇 가지가 있으며, find, locate, whichwhereis는 이를 수행하는 데 일반적으로 사용되는 명령어입니다. 이 네 가지 검색 명령어의 유사점과 차이점을 살펴보겠습니다.

1. find

지정된 디렉토리 내에서 파일을 검색하는 간단한 방법은 find 명령어를 사용하는 것입니다. 검색을 수행할 디렉토리가 명시적으로 지정되지 않으면 현재 디렉토리에서 검색이 수행됩니다.

다음 스크린샷은 현재 디렉토리(.)에서 .txt 확장자로 끝나는 모든 파일 이름을 검색하는 방법을 보여줍니다.

Compare Find

검색은 타임스탬프, 파일 권한, 파일 크기, 파일 유형, 파일 소유자 등을 기준으로 수행될 수 있습니다. 정규 표현식을 사용하여 검색 매개변수를 제어할 수 있습니다. find 명령어에 대한 보다 자세한 지침은 여기에서 확인할 수 있습니다.

2. locate

이 명령어는 이름으로 파일을 찾는 또 다른 방법입니다. 이전 명령어는 지정된 디렉토리를 검색한 다음 사용자에게 결과를 제공합니다. 이 도구는 “mlocate.db”라는 데이터베이스를 기준으로 검색을 수행하며, 이 데이터베이스는 “/var/lib/mlocate/mlocate.db”에 위치합니다. 이 데이터베이스는 cron 유틸리티에 의해 매일 아침 업데이트됩니다.

이 명령어는 이미 시스템의 모든 파일 및 디렉토리 목록을 정리한 기존 데이터베이스를 기준으로 검색을 수행하기 때문에 find보다 더 빠르게 실행됩니다.

locate 뒤에 파일 이름을 입력하면 해당 파일이 존재하는 절대 경로 이름이 표시됩니다.

홈 디렉토리에 스크립트가 생성되었다고 가정해 보겠습니다.

새로 생성되고 복사된 스크립트를 찾으려고 하면 출력이 없을 것입니다.

locate myscript

cron이 매일 아침에만 데이터베이스를 업데이트하므로, 하루 중에 시스템에 추가된 파일은 데이터베이스를 수동으로 업데이트해야 합니다. 이는 updatedb 명령어를 사용하여 수행할 수 있습니다.

sudoupdatedb

사용자가 “locate” 명령어로 사용자 정의 스크립트를 찾으려고 하면 파일을 찾을 수 있습니다.

3. which

파일 검색 명령어에 대해 논의한 후, 시스템에서 실행 파일의 절대 경로를 검색하는 데 도움이 되는 명령어인 which로 전환하겠습니다.

하나의 실행 파일/스크립트/바이너리는 시스템의 여러 위치에 존재할 수 있습니다. which는 지정된 실행 파일의 존재 여부를 확인하기 위해 $PATH 및 $MANPATH 환경 변수에 지정된 디렉토리에서 검색합니다.

스위치 없이 which는 실행 파일에 대해 발견된 첫 번째 절대 경로를 표시합니다.

-a 스위치는 지정된 실행 파일에 대해 발견된 모든 절대 경로의 모든 발생을 표시합니다.

여러 실행 파일의 절대 경로는 실행 파일을 차례로 지정하여 찾을 수 있습니다.

4. whereis

whereis는 또 다른 명령어로, 실행 파일에 대한 세 가지 정보를 얻는 데 사용됩니다:

  • 바이너리의 절대 경로
  • 시스템에서 해당 바이너리의 소스 코드가 존재하는 절대 경로
  • 해당 바이너리에 대한 매뉴얼의 절대 경로

“bzgrep”의 경우, 바이너리는 “/bin”에 존재하며, 매뉴얼은 “/usr/share/man/man1”에 존재합니다. 소스 코드는 시스템에 존재하지 않습니다.

whereis-b 스위치를 사용하여 바이너리의 절대 경로만 검색하도록 지시할 수 있습니다. 검색은 -B 스위치 뒤에 나열된 디렉토리에서만 수행될 수 있습니다. -f 뒤의 이름은 정보를 얻어야 할 모든 바이너리를 지정합니다.

유사하게, 검색은 -s-m 스위치를 사용하여 소스 코드 또는 매뉴얼만으로 제한할 수 있습니다. -S-M 뒤에 디렉토리 이름을 지정하면 각각 소스 코드와 매뉴얼을 검색할 디렉토리를 지정합니다.

-l 스위치는 whereis가 검색을 수행하는 데 사용한 모든 디렉토리의 절대 경로에 대한 자세한 목록을 제공합니다.

Compare Which Listing

결론

터미널에서 파일을 찾고 위치를 확인하는 도구는 부족하지 않습니다. 이제 리눅스 시스템에서 유용한 네 가지 검색 도구에 대해 잘 이해하고 계시기를 바랍니다. 사용법에 대한 더 많은 세부정보가 필요하면 자세한 문서를 위해 매뉴얼 페이지를 확인할 수 있습니다.