Linux의 터미널에서 파일을 찾고 찾을 수 있는 몇 가지 방법이 있으며 find
, locate
, which
및 locate
그렇게 하기 위해 일반적으로 사용되는 명령 중 일부입니다. 이 네 가지 검색 명령, 유사점 및 차이점을 살펴보겠습니다.
1. 찾기
지정된 디렉토리 내에서 파일을 검색하는 간단한 방법은 find
를 사용하는 것입니다. 명령. 검색을 수행할 디렉토리가 명시적으로 지정되지 않은 경우 현재 디렉토리에서 검색이 수행됩니다.
다음 스크린샷은 현재 디렉토리(.) 내에서 확장자가 .txt로 끝나는 모든 파일 이름에 대해 검색이 수행되는 방법을 보여줍니다.
타임스탬프, 파일 권한, 파일 크기, 파일 유형, 파일 소유자 등을 기반으로 검색을 수행할 수도 있습니다. 정규 표현식을 사용하여 검색 매개변수를 제어할 수 있습니다. find
에 대한 자세한 지침 명령은 여기에서 찾을 수 있습니다.
2. 찾기
이 명령은 이름으로 파일을 찾는 또 다른 방법입니다. 이전 명령은 지정된 디렉토리를 검색한 다음 사용자에게 결과를 제공합니다. 이 도구는 "/var/lib/mlocate/mlocate.db"에 있는 "mlocate.db"라는 데이터베이스에 대해 검색을 수행합니다. 이 데이터베이스는 cron 유틸리티에 의해 매일 아침 업데이트됩니다.
명령은 find
보다 더 빠르게 실행됩니다. 이미 시스템의 모든 파일 및 디렉토리 목록을 선별한 기존 데이터베이스에 대한 검색이기 때문입니다.
locate
파일 이름 다음에 해당 파일이 존재하는 절대 경로 이름을 표시합니다.
홈 디렉토리에 스크립트가 생성되었다고 가정해 봅시다.
새로 만들고 복사한 스크립트를 찾으려고 하면 출력이 표시되지 않습니다.
locate myscript
cron은 아침에만 데이터베이스를 업데이트하므로 낮 동안 시스템에 모든 파일이 추가되고 데이터베이스는 수동으로 업데이트해야 합니다. 이것은 updatedb
를 사용하여 수행할 수 있습니다. 명령.
sudo updatedb
사용자 정의 스크립트를 "찾기"하려고 하면 파일을 찾을 수 있습니다.
3. 어느
파일을 검색하는 명령에 대해 논의한 후 시스템에서 실행 파일의 절대 경로를 검색하는 데 도움이 될 수 있는 하나의 명령으로 이동하겠습니다. which
.
하나의 실행 파일/스크립트/바이너리가 시스템의 여러 위치에 있을 수 있습니다. which
$PATH 및 $MANPATH 환경 변수에 지정된 디렉토리에서 지정된 실행 파일의 존재 여부를 검색합니다.
스위치가 없으면 which
실행 파일의 첫 번째 절대 경로를 표시합니다.
-a
스위치는 지정된 실행 파일에 대해 발견된 모든 절대 경로를 표시합니다.
여러 실행 파일의 절대 경로는 실행 파일을 차례로 지정하여 찾을 수 있습니다.
4. 어디에
locate
는 또 다른 명령이며 실행 파일에 대한 세 가지 정보를 얻는 데 사용됩니다.
- 바이너리의 절대 경로
- 해당 바이너리의 소스 코드가 시스템에 존재하는 절대 경로
- 해당 바이너리에 대해 존재하는 매뉴얼의 절대 경로
"bzgrep"의 경우 바이너리는 "/bin"에 있고 매뉴얼은 "/usr/share/man/man1"에 있습니다. 해당 소스 코드가 시스템에 존재하지 않습니다.
locate
-b
를 사용하여 바이너리의 절대 경로만 검색하도록 지시할 수 있습니다. 스위치. -B
뒤에 나열된 디렉토리에서만 검색을 수행할 수 있습니다. 스위치. -f
뒤의 이름 정보를 얻어야 하는 모든 바이너리를 지정하십시오.
마찬가지로 -s
를 사용하여 소스 코드 또는 설명서로만 검색을 제한할 수 있습니다. 및 -m
스위치. -S
및 –M
뒤에 디렉토리 이름이 오는 것은 각각 소스 코드와 매뉴얼을 검색할 디렉토리를 지정합니다.
-l
스위치는 whereis
에서 사용하는 모든 디렉토리의 절대 경로에 대한 자세한 목록을 제공합니다. 검색을 수행합니다.
결론
터미널에서 파일을 찾고 찾을 수 있는 도구가 부족하지 않습니다. 이제 Linux 시스템의 4가지 유용한 검색 도구에 대해 좋은 아이디어를 얻으셨기를 바랍니다. 사용법에 대한 자세한 내용이 필요한 경우 설명서 페이지에서 자세한 문서를 확인할 수 있습니다.