find
는 명령을 재귀적으로 필터링을 개체에서의 파일 시스템을 기반으로 간단한 조건부 메커니즘이 있습니다. 파일 시스템의 파일 또는 디렉토리를 검색하려면find
를 사용하십시오. -exec
플래그를 사용하면 동일한 명령 내에서 파일을 찾아 즉시 처리 할 수 있습니다.,
Find Linux Files by Name or Extension
Use find
from the command line to locate a specific file by name or extension., 다음 예제를 검색한*.err
파일의/home/username/
디렉토리와 모든 하위 디렉토리:
find /home/username/ -name "*.err"
야 합 유사한 출력에서 당신의 콘솔:
/home/username/example.errThe matching file in the /home/username/ directory is "example.err"
일반적인 리눅스 명령을 찾을 수 있 및 구
find
명령은 일반적으로 형식은 다음과 같습니다.
find options starting/path expression
options
특성 동작을 제어 및 최적화의 방법을find
프로세스.,starting/path
속성은find
필터링을 시작하는 최상위 디렉토리를 정의합니다.expression
특성은 디렉터리 계층을 검색하여 출력을 생성하는 테스트를 제어합니다.
파일 이름을 사용하여 Linux 에서 파일 찾기
파일 이름을 사용하여 파일을 찾으려면find -name filename
구문을 사용하십시오. 경로를 생략하면 전체 디스크에 걸쳐 파일을 검색합니다., 예를 들어,당신을 찾을 수 있습니다 라는 이름의 파일example.err
에 위치한 당신의/home/username
디렉토리에 다음과 같은 명령:
find -name example.err
을 볼 수 당신 출력:
./username/example.err
파일을 찾을에서 당신의 현재 디렉터리를 사용하여 찾는 명령
살펴 example 디렉토리 구조와 파일이 있습니다. 그들은 이 가이드의 예를 통하여 언급된다.,하려는 파일을 찾을example.err
디렉터리 내에서 또는 그것의 하위 디렉터리할 수 있는 문제는 다음과 같은 명령:
find . -name example.err
의 출력은 다음과 유사합니다.
./example.err./directory_1/example.err
출력을 반영한directory_1
디렉토리 구조로 구성되어 있다:
├── directory_1│ ├── subdirectory_1│ │ └── example.err│ └── example.err
찾기 이미지 파일에서 리눅스 명령을 사용하여 선
파일을 참조 구조에서는 이전 섹션의 이미지가있 라는image01.png
있는 루트에(/
)s 의 디렉토리 구조.,
파일을 찾기 위해image01.png
실행하는 다음과 같은find
명령을 찾아내는 모든.png
파일 내에 저장된/
디렉토리에 있습니다.
find -name *.png
야 합 유사한 출력:
./image01.png
변경할 이미지 파일 유형과 모든.jpg
파일에서 루트 디렉토리에(/
):
find -name *.jpg
출력을 닮은 예입니다., 파일의 위치를 보려면 이전 섹션의 예제 디렉토리 구조를 참조하십시오.
./web_files/unnamed.jpg
찾아 빈 파일이 디렉토리에서 명령을 사용하여 선
을 찾아 빈 파일이 디렉토리에서 명령줄을 사용하여 문제 다음 명령:
find . -type f -empty
지 않으면 출력이 반환한 다음,없다면 빈 파일 이내에 당신의 현재 디렉토리에 있습니다.
옵션과 최적화를 위한 파일을 찾는 리눅스 명령을 사용하여 선
에 대한 기본 구성find
ignoressymbolic 링크입니다., 하려면find
를 따라 돌아와 상징적 인 링크를 추가-L
옵션을 명령,다음과 같습니다:
find -O3 -L /var/www/ -name "*.html"
이 명령할 수 있는 최대의 최적화 수준(-O3
) 고 있는find
을 따라 심볼릭 링크(-L
). find
검색체 디렉토리 아래에/var/www/
를 끝나는 파일을.html
.,
find
는 필터링 전략을 최적화하여 성능을 향상시킵니다. 세 가지 사용자 선택 가능한 최적화 수준으로 지정된-O1
,-O2
,and-O3
. -O1
최적화하는 것은 기본이고 힘find
을 기반으로 필터에서 파일을 실행하기 전에는 모든 다른 테스트합니다.,
최적화에는-O2
수준을 우선 파일 이름 필터,로에-O1
를 실행하는 모든 파일 형식 필터링을 진행하기 전에 다른 많은 리소스 조건입니다. 레벨-O3
최적화할 수 있는find
을 수행하는 가장 심각한 최적화 및 순서 모든 테스트를 기반으로 그들의 상대적인 비용과 가능성을 그들의 성공입니다.,
Command | Description |
---|---|
-O1 |
Filter based on filename first (default). |
-O2 |
File name first, then file-type., |
-O3 |
수 있find 자동으로 다시 주문 검색에 따라 자원의 효율적 사용과 가능성. 성공의 |
-maxdepth X |
검색 현재 디렉토리뿐만 아니라 모든 하위 디렉토리 X 은 깊은 수준입니다. |
-iname |
검색에 관계 없이 텍스트를 위한 경우입니다., |
-not |
Return only results that do not match the test case. |
-type f |
Search for files. |
-type d |
Search for directories., |
파일을 찾을 수 있에서 리눅스에 수정시간을 사용하여 명령줄
find
명령할 수 있는 필터는 디렉토리 계층구조에 기반한 경우 파일이 마지막으로 수정됩니다., 예를 들어,다음과 같은 명령어를 찾는 모든 파일과 함께.err
확장자는 수정된 마지막 7days:
find / -name "*err" -mtime -7
예제 명령은 아래와 같은 출력을 반환합니다.
Grep 를 사용하여 파일을 찾으려면에서 리눅스 명령을 사용하여 선
find
명령만 필터링 할 수 있는 디렉토리 계층구조에 따라 파일의 이름과 메타데이터가 포함되어 있습니다. 파일의 내용을 기반으로 검색해야하는 경우 다음과 같은 도구를 사용하십시오.grep., 다음 예제를 살펴보겠습니다.
find . -type f -exec grep "test" '{}' \; -print
이 명령은 검색 매체에서 현재 디렉토리 계층 구조(.
)그 파일에(-type f
)다음 명령을 실행하는grep "test"
모든 파일을 만족시키는 조건이 있습니다. 일치하는 파일이 화면에 인쇄됩니다(-print
). 중괄호({}
)는 찾기 일치 결과의 자리 표시자입니다., {}
은 따옴표('
)을 피할 수교grep
잘못된 형식의 파일 이름입니다. -exec
명령이 종료되었으로 세미콜론(;
)해야하는,탈출(\;
)을 피하에 의해 해석합니다.
예제에 사용 된 파일(example.err
)에는”test”라는 텍스트가 있습니다., 를 실행하면 예제 명령,표시 유사한 출력:
Grep 식별하는 모든 파일에서 현재 작업 디렉터리를 포함하는 문자열”시험”.,
주
전
find
명령을 구현한-exec
옵션을 생성할 수 있는 유사한 산출을 위의 예를 사용하는xargs
명령:find . -type f -print | xargs grep "test"
프로세스를 찾을 사용하여 파일을 찾는 명령 리눅스에서
-exec
옵션을 실행하는 명령과 일치하는 모든 개체에 대해find
식입니다., 다음 예제를 살펴보겠습니다.
find . -name "example.err" -exec chmod o+r '{}' \;
이 필터는 모든 개체에 현재는 계층(.
)라는 파일에 대한rc.conf
고 실행되는chmod o+r
명령을 수정하는 파일의 권한find
명령의 결과입니다.
예제 명령을 실행하고 실행하는-exec
옵션에서의 루트 디렉토리find
프로세스. -execdir
를 사용하여 경기가 상주하는 디렉토리에서 지정된 명령을 실행합니다., 이는 보안 문제를 완화하고 일부 작업에 대해 더 나은 성능을 제공 할 수 있습니다.
-exec
또는-execdir
옵션은 추가 프롬프트없이 실행됩니다. 당신이 선호하는 경우라는 메시지가 표시되는 조치가 취하기 전에,대체-exec
-ok
또는-execdir
-okdir
.
을 찾는 방법과 삭제한 파일을 사용하여 리눅스 명령줄
주의
이 옵션을 사용하여 극도의 주의를 기울여야 합니다.,
옵션을 추가-delete
의 끝에 일치하는 표정을 삭제하는 모든 파일이 일치합니다. 결과가 삭제하려는 파일과 만 일치한다고 확신하는 경우이 옵션을 사용하십시오.
아래 예에서는find
을 재귀적으로 모든 파일을 찾에서 계층구조에서 시작하여 현재 디렉토리와 모든 파일을 삭제하는 것으로 끝나는.err
확장자:
find . -name "*.err" -delete
여전히 몇 가지 질문입니까?,
커뮤니티에 가입하고 다른 Linode 및 Linux 애호가를 위해 질문을 게시하여 도움을 받으십시오.
관련 질문: