find 명령은 지정된 디렉터리에서 파일을 찾는 데 사용됩니다. 매개변수 앞의 모든 문자열은 검색할 디렉터리 이름으로 처리됩니다. 매개변수를 설정하지 않고 이 명령을 사용하면 find 명령은 현재 디렉토리에서 하위 디렉토리와 파일을 검색합니다. 그리고 발견된 모든 하위 디렉터리와 파일이 표시됩니다.
구문
find(option)(parameter)
옵션
-amin
- 새로운<참조 파일 또는 디렉터리>: 액세스 시간이 지정된 파일 또는 디렉터리보다 현재 액세스 시간에 더 가까운 파일 또는 디렉터리를 찾습니다.
- atime<24시간>: 지정된 시간에 접속한 파일이나 디렉터리를 검색하며, 24시간 단위로 계산합니다.
-cmin<분>: 접속한 파일이나 디렉터리를 검색합니다. 변경된 파일 또는 디렉토리
-cnewer<참조 파일 또는 디렉토리> 지정된 파일 또는 디렉토리보다 현재 변경 시간에 더 가까운 파일 또는 디렉토리를 찾습니다. >
-ctime<24시간>: 지정된 시간에 변경된 파일이나 디렉터리를 찾아 24시간 단위로 계산합니다. -daystart: 오늘부터 시간을 계산합니다.- 깊이: 지정된 디렉터리의 가장 깊은 하위 디렉터리에서 검색을 시작합니다.
-expty: 파일 크기가 0바이트이거나 하위 디렉터리나 파일이 없는 빈 디렉터리를 찾습니다. 🎜 >-exec
-false: find 명령의 반환 값을 False로 설정합니다.
-fls-inum: 지정된 inode 번호와 일치하는 파일 또는 디렉터리를 찾습니다.
-ipath<템플릿 스타일>: 이 매개변수의 효과는 "-path" 매개변수를 지정하는 효과와 유사합니다. 그러나 대소문자의 차이는 무시됩니다.
-iregex: 이 매개변수는 "-regexe" 매개변수를 지정하는 것과 비슷하지만 대소문자의 차이는 무시됩니다.
-links: 지정된 하드 링크 수와 일치하는 파일 또는 디렉터리를 찾습니다.
-iname: 기호 연결을 찾기 위한 템플릿 스타일로 문자열을 지정합니다. >
-ls: find 명령의 반환 값이 True라고 가정하고 파일 또는 디렉터리 이름을 표준 출력에 나열합니다. -maxlength-print: find 명령의 반환 값이 True라고 가정하고 파일 또는 디렉터리 이름을 표준 출력에 나열합니다. 형식은 각 열에 대해 하나의 이름이고 각 이름 앞에 "./" 문자열이 있습니다.
-print0: find 명령의 반환 값이 True라고 가정하고, 대상 파일 또는 디렉터리 이름을 나열합니다. 표준 출력. 형식은 모든 이름이 같은 줄에 있다는 것입니다.
-printf
-prune: 파일이나 디렉터리 검색을 위한 템플릿 스타일로 문자열을 검색하지 않습니다.
-regex<템플릿 스타일>: 문자열을 지정합니다. 파일 또는 디렉터리 검색을 위한 템플릿으로 템플릿 스타일
-size<파일 크기>: 지정된 파일 크기와 일치하는 파일을 찾습니다.
-true: 다음의 모든 반환 값을 설정합니다. find 명령을 True로 설정합니다.
-typ
-uid
-used<일수>: 파일 또는 디렉터리가 변경된 후 지정된 시간에 액세스한 파일 또는 디렉터리를 일 단위로 검색합니다. ;소유자 이름> : 지정된 소유자 이름을 가진 파일 또는 디렉토리를 찾습니다.
-version 또는 --version: 버전 정보 표시
-xdev: 이전 파일 시스템으로 범위를 제한합니다. ;
-xtype<파일 유형>: 이 매개변수의 효과는 "-type" 매개변수를 지정하는 것과 유사하지만, 차이점은 기호 연결을 확인한다는 것입니다.
매개변수
시작 디렉터리: 파일을 검색할 시작 디렉터리입니다.
예
파일이나 정규식을 기준으로 일치
현재 디렉터리와 하위 디렉터리의 모든 파일과 폴더 나열
찾기.
/home 디렉토리에서 .txt로 끝나는 파일 이름 찾기
find /home -name "*.txt"
위와 동일하지만 크기는 무시합니다.
find /home -iname "*.txt"
현재 디렉터리와 하위 디렉터리에서 .txt 및 .pdf로 끝나는 모든 파일을 찾습니다.
find . "*.txt" -o -name "*.pdf" )
또는
find . -name "*.txt" -o -name "*.pdf"
파일 경로 또는 파일 일치
find /usr/ -path "*local*"
정규 표현식을 기반으로 파일 경로 일치
find -regex ". * (.txt|.pdf)$"
위와 동일하지만 대소문자 무시
find . -iregex ".*(.txt|.pdf)$"
음수 매개변수
/home에서 .txt로 끝나지 않는 파일 찾기
find /home ! -name "*.txt"
파일 형식을 기준으로 검색
find . -type 유형 매개변수
유형 매개변수 목록:
f 일반 파일
l 심볼릭 링크
d 디렉터리
c 문자 장치
b 블록 장치
s 소켓
p 디렉토리 깊이 검색 기반 Fifo
디렉토리 깊이 검색 기반
최대 하향 깊이 제한은 3입니다
find . -maxlength 3 -type f
현재 디렉터리에서 깊이가 2개 이상의 하위 디렉터리인 모든 파일을 검색합니다
find . -minlength 2 -type f
파일 타임스탬프를 기준으로 검색
find . -type f 타임스탬프
UNIX/Linux 파일 시스템에는 각 파일에 대해 3개의 타임스탬프가 있습니다. 🎜>
접속 시간(-atime/day, -amin/분):
검색 10분 이상 접속한 파일 모두 찾기
find . -type f -amin +10
파일보다 오래 수정된 파일 모두 찾기. log
find . -type f -newer file.log
파일 크기에 따른 일치
find . -type f -size
파일 크기 단위 파일 크기 단위:
b — 블록(512바이트)
c — 바이트
w — 워드(2바이트)
k — 킬로바이트
M - 메가바이트
G - 기가바이트
10KB보다 큰 파일 검색
find .type f -size +10k
검색 10KB 미만의 파일
find . -type f -size -10k
10KB와 동일한 파일 검색
find . 🎜>일치하는 파일 삭제
현재 디렉터리의 모든 .txt 파일 삭제
find .-type f -name "*.txt" -delete
파일에 따라 권한/소유권 일치
현재 디렉터리에서 권한이 777인 파일 검색
find . -type f -perm 777
현재 디렉토리에서 644 이외의 권한을 가진 php 파일을 찾습니다.
find . perm 644
현재 디렉토리에서 사용자 tom이 소유한 모든 파일 찾기
find .-type f -user tom
현재 디렉토리에 있는 사용자 그룹이 소유한 모든 파일 찾기 디렉토리
find . -type f -group sunk
현재 디렉토리에서 모든 루트 파일을 찾고 소유권을 사용자 tom으로 변경하려면 다른 명령과 함께 -exec 옵션을 사용하십시오
find .-type f -user root
-exec chown tom {} ;
위의 예에서 {}는 -exec 옵션과 함께 사용되어 모든 파일을 일치시킵니다. 그런 다음 해당 파일 이름으로 대체됩니다.
홈 디렉토리에서 모든 .txt 파일을 찾아 삭제하세요
$HOME/을 찾습니다.
-name "*.txt"
- ok rm {} ;
위의 예에서 -ok는 -exec와 동일한 동작을 갖지만 해당 작업을 수행할지 여부를 묻는 메시지가 표시됩니다.
현재 디렉터리에서 모든 .txt 파일을 찾아 all.txt 파일로 연결합니다.
find . -type f -name "*.txt" -exec cat {} ;> all.txt
30일 전의 .log 파일을 이전 디렉터리
로 이동합니다. find . -type f -mtime +30 -name "*.log" -exec cp {} old ;
현재 디렉토리에 있는 .txt 파일을 모두 찾아 "파일: 파일명" 형식으로 출력합니다.
find . -type f -name "*.txt" - exec printf "파일: %sn" {} ;
한 줄 명령의 -exec 매개 변수에 여러 명령을 사용할 수 없으므로 다음 방법에서는
-exec
-exec ./text.sh {} ;검색하지만 지정된 디렉터리에서 나가기 현재 디렉터리나 하위 디렉터리에 있는 모든 .txt 파일을 검색하지만 건너뛰기 하위 디렉토리 sk find . -path "./sk" -prune -o -name "*.txt" -print find기타 팁 모음 모두 나열하려면 길이가 0인 파일 find . -empty