파일 찾기(find 명령)
find 명령을 사용하여 디렉토리 트리에서 지정된 각 경로를 반복적으로 검색하여 다음 텍스트에 제공된 용어를 사용하여 작성된 부울 표현식과 일치하는 파일을 찾습니다.
find 명령의 출력은 Expression 매개변수에 지정된 용어에 따라 다릅니다.
다음은 find 명령을 사용하는 방법에 대한 예제입니다.
- 파일 시스템에서 .profile이라는 이름을 가진 모든 파일을 나열하려면 다음을 입력하십시오.
전체 파일 시스템을 검색하여 .profile이라는 이름을 가진 모든 파일의 전체 경로 이름을 씁니다. 슬래시(/)는 find 명령이 /(root) 디렉토리 및 모든 서브디렉토리를 검색함을 나타냅니다.find / -name .profile
시간을 절약하려면, 디렉토리를 지정하여 검색을 제한하십시오.
- 현재 디렉토리 및 모든 서브디렉토리에서 파일 이름이 test 인 모든 파일에 대해 대소문자를 구분하지 않는 검색 조작을 수행하려면 다음 명령을 입력하십시오.
find . -iname test
- 현재 디렉토리 트리에서
0600
의 특정 허용 코드를 갖는 파일을 나열하려면 다음을 입력하십시오.
소유자 읽기 및 소유자 쓰기 권한만 있는 파일 이름이 나열됩니다. 점(find . -perm 0600
.
)은 find 명령이 현재 디렉토리 및 서브디렉토리를 검색함을 나타냅니다. 허용 코드의 설명은 chmod 명령을 참조하십시오. - 특정 허용 코드를 갖는 파일을 여러 디렉토리에서 검색하려면 다음을 입력하십시오.
소유자-읽기와 소유자-쓰기 권한과 가능하면 다른 사용 권한을 가지는 파일의 이름을 나열합니다. manual, clients 및 proposals 디렉토리 및 해당 서브디렉토리가 검색됩니다. 위 예제에서는 -perm 0600은find manual clients proposals -perm -0600
0600
과 정확히 대응하는 허용 코드가 있는 파일만 선택합니다. 다음 예에서는 -perm -0600이0600
이 나타내는 액세스 및0600
레벨 이상의 액세스를 허용하는 허용 코드를 갖는 파일을 선택합니다. 이는 허용 코드 0622와 2744도 일치합니다. - 현재 디렉토리에서 현재 24시간 동안 변경된 모든 파일을 나열하려면 다음을 입력하십시오.
find . -ctime 1
- 복수 링크를 가진 보통 파일을 검색하려면 다음을 입력하십시오.
링크가 두 개 이상(-links +1)인 원래 파일(-type f)의 이름이 나열됩니다.find . -type f -links +1
- 길이가 정확히 414바이트인 모든 파일을 검색하려면 다음을 입력하십시오.
find . -size 414c
- 파일 이름에 main 문자열이 포함되고 확장자가 알파벳으로 끝나는 임의의 길이인 루트 디렉토리 및 서브디렉토리의 모든 파일에 대해 대소문자를 구분하지 않는 검색 조작을 수행하려면 o다음 명령을 입력하십시오.
이 명령의 검색 결과는 main.o, app_main.c.o, mAin.O또는 APP_MAIN.o와 같은 파일을 리턴합니다.find / -iname "*main*.*o"
- 파일 이름에 main 문자열이 포함되고 단일 문자 확장자가 있는 루트 디렉토리 및 서브디렉토리의 모든 파일에 대해 대소문자를 구분하지 않는 검색 조작을 수행하려면 다음 명령을 입력하십시오.
이 명령의 검색 결과는 main.c, app_main.o, MAIN.c또는 App_main.o와 같은 파일을 리턴합니다.find / -iname "*main*.?"
- 루트 디렉토리 및 확장자가 .T이고 그 뒤에 임의의 문자와 알파벳이 오는 서브디렉토리에 있는 모든 파일에 대해 대소문자를 구분하지 않는 검색 조작을 수행하려면 t다음 명령을 입력하십시오.
이 명령의 검색 결과는 file.T1t, log.Tot, file.txt, log.tot또는 log.toT와 같은 파일을 리턴합니다.find / -iname "*.T?t"
- 루트 디렉토리 및 해당 서브디렉토리에서 확장자가 .Sh, .md, .Sd또는 .mh인 모든 파일에 대해 대소문자를 구분하지 않는 검색 조작을 수행하려면 다음 명령을 입력하십시오.
이 명령의 검색 결과는 readme.sh, logo.md, logo.sd, readme.mh, readme.SH또는 logo.mD와 같은 파일을 리턴합니다.find / -iname "*.[Sm][hd]"