English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linux find 명령어는 지정된 디렉토리에서 파일을 찾는 데 사용됩니다. 매개변수 앞에 있는 문자열은 찾고자 하는 디렉토리 이름으로 간주됩니다. 이 명령어를 사용할 때 매개변수를 설정하지 않으면 find는 명령은 현재 디렉토리에서 서브 디렉토리와 파일을 찾습니다. 찾은 서브 디렉토리와 파일을 모두 표시합니다.
find path -option [ -print ] [ -exec -ok command ] {} \;
파라미터 설명 :
find는 path와 expression을 다음 규칙에 따라 판단하고, 명령 프롬프트에서 첫 번째 - ( ) , ! 이전 부분은 path, 이후 부분은 expression입니다. path가 공백 문자열이면 현재 경로를 사용하고, expression이 공백 문자열이면 사용합니다. -print이 기본 expression입니다.
expression에서 사용할 수 있는 옵션은 20개 이상이며, 여기서는 가장 일반적으로 사용되는 부분만 소개합니다.
-mount, -xdev : 지정된 디렉토리와 같은 파일 시스템의 파일만 확인, 다른 파일 시스템의 파일을 나열하지 않습니다.
-amin n : n분 내에 읽힌
-anewer file : 파일 file보다 늦게 읽힌 파일
-atime n : n일 내에 읽힌 파일
-cmin n : n분 내에 수정된
-cnewer file : 파일 file보다 새로운 파일
-ctime n : n일 내에 수정된 파일
-empty : 비어 있는 파일-gid n 또는 -group name : gid가 n이거나 그룹 이름이 name
-ipath p, -path p : 이름이 p와 일치하는 경로의 파일, ipath은 대소문자를 무시합니다.
-name name, -iname name : 이름이 name과 일치하는 파일. iname은 대소문자를 무시합니다.
-size n : 파일 크기는 n 단위입니다, b는 대표합니다. 512 바이트의 블록, c는 문자 수를 의미하며, k는 kilobytes를 의미하며, w는 두 비트를 의미합니다.
-type c : 파일 타입이 c인 파일입니다.
d: 디렉토리
c: 문자 장치 파일
b: 블록 장치 파일
p: 명명된 저장소
f: 일반 파일
l: 심볼릭 링크
s: 소켓
-pid n : 파일의 process id는 n입니다.
식을 ()로 구분하고 다음 연산을 사용할 수 있습니다.
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
현재 디렉토리 및 그 하위 디렉토리에 있는 모든 파일 확장자가 .c인 파일을 나열합니다:
# find . -name "*.c"
현재 디렉토리 및 그 하위 디렉토리에 있는 모든 일반 파일을 나열합니다:
# find . -type f
현재 디렉토리 및 그 하위 디렉토리에 있는 모든 최근 20 일 내에 업데이트된 파일을 나열합니다:
# find . -ctime -20
찾기 /var/log 디렉토리에서 변경 시간이 7 일 이전의 일반 파일을 찾아, 지우기 전에 확인합니다:
# find /var/log -type f -mtime +7 -ok rm {} \;
현재 디렉토리에서 파일 소유자가 읽기/쓰기 권한을 가지고, 그 파일 소유 그룹의 사용자와 다른 사용자가 읽기 권한을 가진 파일을 찾습니다:
# find . -type f -perm 644 -exec ls -l {} \;
시스템에서 모든 파일 길이가 0인 일반 파일을 찾아 그들의 전체 경로를 나열합니다:
# find / -type f -size 0 -exec ls -l {} \;