Linux에서 이름으로 파일을 찾는 방법

Linux의 명령줄에서 손쉽게 파일 찾기

사용자는 일반적으로 GUI를 사용하여 파일을 찾으려고 합니다. 그러나 때때로 시스템의 방대한 파일 더미에서 개별 파일을 찾는 것은 매우 지루한 작업이 됩니다. 일반적으로 그것을 찾는 것은 시간이 많이 걸리는 작업일 수 있습니다. 이 작업을 더 쉽게 하기 위해 Linux는 이 작업을 수행하는 특정 명령을 제공합니다.

찾기 이름, 유형, 확장자, 권한, 소유자 등을 기반으로 다양한 파일을 검색하는 데 도움이 되는 Linux 시스템에서 널리 사용되는 명령입니다.

이 자습서에서는 이름으로 파일을 찾는 데 중점을 둘 것입니다. 와 함께 사용할 수 있는 다양한 인수를 살펴보겠습니다. 찾기 명령. 우리는 또한 배울 것입니다 위치하고 있다 이름으로 파일을 검색하는 더 빠른 방법이기도 합니다.

구문 찾기 명령

사용 찾기 적절한 방법으로 명령을 수행하면 작업을 더 쉽게 수행할 수 있습니다. 이 명령의 일반적인 구문을 잘 이해하면 특정 유형 또는 확장자의 파일을 찾거나 이름으로 검색할 수 있습니다.

에 대한 일반 구문 찾기 명령은 다음과 같습니다.

찾기 [검색 경로] [표현식] [옵션] [찾기 내용]

나는 구문을 단순화하려고 노력했다. 찾기 명령을 더 잘 이해하기 위한 명령.

구문의 각 속성을 살펴보고 각 속성의 중요성에 대해 알아보겠습니다.

검색_경로: 여기에 시스템이 파일 검색을 시작할 경로를 지정하는 경로가 있습니다. 즉, 검색을 시작할 시작 디렉토리가 지정됩니다.

표현: 검색하려는 특정 파일에 대한 검색 패턴을 지정할 수 있습니다.

옵션: 사용 가능한 옵션을 사용할 수 있습니다. 찾기 이 공간에서 명령합니다.

무엇을 찾다: 이 속성에는 검색할 파일의 이름 또는 이름의 일부를 입력합니다.

이 명령을 예를 들어 설명하겠습니다.

/home/gaurav/workspace -name "source.c" 찾기

이 명령에서 나는 찾기 "source.c" 파일을 검색하는 명령입니다. 특히 '/home/gaurav/workspace' 경로에서 검색하도록 요청했습니다. 사용 -이름 옵션을 사용하면 'source.c'로 지정된 파일을 검색할 수 있습니다.

이것은 사용에 대한 가장 간단한 데모입니다. 찾기 명령.

현재 디렉토리에서 파일 검색

사용 찾기 가장 간단한 형태의 명령은 현재 작업 디렉토리에서 파일을 검색하는 것입니다.

찾기 .

이 명령은 현재 작업 디렉토리에 있는 모든 파일을 표시합니다. 여기서 '.'는 '현재 작업 디렉토리'를 의미합니다. 다음은 현재 작업 디렉토리의 출력입니다. 이 디렉토리에 있는 모든 파일은 필터 없이 나열됩니다.

산출:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. 로컬/lib/locale/en_IN.UTF-8/LC_CTYPE

대략적인 이름이 알려진 파일을 검색하려면 다음을 사용하십시오. 찾기 아래와 같이 명령합니다.

찾기 . -이름 [string_from_filename\*]

예시:

찾기 . -이름 컨텍스트\*

이 명령은 'context' 문자열이 포함된 파일을 검색합니다.

산출:

./context_log.policy ./context.xml ./context_preview.c

현재 디렉토리의 모든 파일이 나열되며 여기에는 'context' 문자열이 포함됩니다.

이제 파일 이름이나 대략적인 문자열을 입력하는 동안 대소문자를 구분하지 않으려고 할 때 이 명령에서 문제가 발생합니다.

Linux는 대소문자 구분에 대해 매우 신중하므로 검색이 실패할 가능성이 높습니다. 문자열을 'context' 대신 'CONTEXT'로 사용하면 찾기 명령에 대한 출력을 얻지 못합니다. 파일 이름의 한 글자가 원래 파일 이름과 대소문자가 다르더라도 검색은 실패합니다.

그러나 그것에 대해 걱정할 필요가 없습니다. 당신은 단순히 교체 할 수 있습니다 -이름 옵션 -이름. 이렇게 하면 이름의 대소문자에 관계없이 파일을 검색할 수 있습니다. 명령에서 이 간단한 변경만 하면 문제가 없을 것입니다.

찾기 . -이름 CONT\*

대문자로 된 문자열을 사용하더라도 출력은 동일합니다.

./context_log.policy ./context.xml ./context_preview.c

다른 디렉토리에서 파일 검색

현재 작업 중인 디렉토리와 상관없이 Linux 시스템의 모든 디렉토리에서 파일을 쉽게 검색할 수 있습니다.

[디렉토리_경로] 찾기 - 이름 [특정_파일 이름]

예시:

/home/gaurav/tomcat -iname ath.html 찾기

여기서는 이 문자열과 유사한 파일이 아닌 특정 파일 'ath.html'을 검색했습니다. 따라서 출력은 위에서 언급한 특정 파일만 됩니다.

/home/gaurav/tomcat/ath.html

이제 완전한 파일 이름은 모르고 이 파일 이름의 문자열만 알고 있다고 가정합니다. 그러면 다음과 같은 방법으로 파일을 검색할 수 있습니다.

/home/gaurav/tomcat -iname ath\* 찾기

이 명령은 처음에 'ath' 문자열을 포함하는 모든 파일을 검색합니다. 나는 사용했다 -이름 여기에 옵션이 있으므로 대소문자 구분에 대해 걱정할 필요가 없습니다.

산출:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

명령을 사용하여 이름이 비슷한 확장자로 끝나는 여러 파일을 검색할 수도 있습니다.

예시:

/home/gaurav/tomcat -이름 "*.c" 찾기

이 명령은 파일 이름에 확장자로 .c가 포함된 지정된 디렉토리의 모든 파일을 검색합니다.

산출:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

우리는에 대해 배웠습니다 찾기 파일 이름으로 지정된 파일을 검색하는 명령입니다. 이제 기존보다 더 빠른 명령을 하나 더 탐색해 보겠습니다. 찾기 명령.

위치하고 있다 명령 개요

시스템에서 파일을 검색하는 명령보다 더 빠른 명령이 하나 더 있습니다. 찾기 명령. 그건 위치하고 있다 명령. 이 명령은 Linux 배포판에 사전 설치되어 제공되지 않습니다. 다음 단계를 사용하여 다운로드 및 설치할 수 있습니다. 위치하고 있다 명령 패키지를 시스템에 설치합니다.

Ubuntu 및 Debian 시스템의 경우, 사용:

sudo apt 업데이트 sudo apt 설치 mlocate

Cent Os 및 Fedora 시스템용, 사용:

sudo yum 설치 mlocate

위치 찾기 명령은 입력에서 주어진 패턴에 따라 파일을 검색합니다. 위치하고 있다 데이터베이스 파일을 사용하여 파일을 검색합니다. 이 데이터베이스 파일은 업데이트됨 명령.

sudo 업데이트됨b

이 데이터베이스 파일을 업데이트하는 데 걸리는 시간은 시스템의 파일에 따라 사용자마다 다를 수 있습니다.

사용 위치하고 있다 명령

당신은 사용할 수 있습니다 위치하고 있다 다음과 같은 방법으로 명령합니다. 명령을 사용하여 데이터베이스 파일을 업데이트하십시오. sudo 업데이트됨b.

통사론:

[filename_or_part_of_filename] 찾기

이 명령은 루트 디렉토리에서 검색을 시작합니다. 명령에 지정된 파일 이름 또는 파일 이름의 일부를 포함하는 시스템의 모든 파일 목록을 반환합니다.

예시:

copy.c 찾기

산출:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

강조 표시된 줄은 정확한 파일 'copy.c'가 발견되었음을 나타냅니다. 이 결과와 함께 파일 이름의 일부로 'copy.c'가 포함된 특정 다른 파일도 표시됩니다.

다른 원치 않는 파일이 복잡해지는 것을 피하고 원하는 파일만 찾으려면 다음과 같은 방법으로 찾기 명령을 사용할 수 있습니다.

-b '\파일 이름' 찾기

예시:

-b '\copy.c' 찾기

산출:

/home/gaurav/Downloads/git-2.23.0/copy.c

검색 기준에 언급된 특정 파일은 해당 파일이 있는 디렉토리의 경로와 함께 나열됩니다.

사용 위치하고 있다 명령이 약간 까다로워 보일 수 있지만 해당 파일의 정확한 위치를 모를 때 파일을 검색하는 더 빠른 방법입니다. 찾기 명령이 사용하는 데이터베이스 파일을 업데이트하면 파일 검색이 매우 빨라집니다.

결론

이 짧은 자습서에서는 두 가지 중요한 명령에 대해 배웠습니다. 찾기 그리고 위치하고 있다. 이제 파일 스택에서 길을 잃지 않고 시스템에서 파일을 쉽게 검색할 수 있습니다. 이러한 명령을 사용하면 파일 검색 작업에 시간을 절약하고 효율적으로 사용할 수 있습니다.