find_명령어_사용법

find 명령어 사용법

find는 검색기능과 여러가지 부가기능을 가진 명령어이다.

사용법 : find [검색대상위치] [옵션] [수행할작업]
find / -empty -exec ls -l {} \;
find / -uid 500 -exec ls -l {} \;
find / -user nestgoer -print

'-print' 는 검색결과를 파일의 절대경로로 표시하는 반면 '-exec ls -l \;' 는 ls -l 과 같은 형식으로 검색결과를 표시한다.

find /home -name *.html -exec ls -l {} \; 
find ~nestgoer -name *.bak -exec rm -f {} \;

'-exec' 는 찾은 파일들을 대상으로 뒤에 나오는 명령어를 실행하라는 의미이며 {} 는 찾아진 파일들을 하나씩 대입됨을 의미한다. 따라서 검색된 파일의 개수만큼 -exec 뒤의 명령어가 실행된다.

find / -size +100M -exec ls -lh {} \;
find / -perm 4755 -exec ls -l {} \;
find /home/nestgoer -mmin 5 -exec ls -l {} \;

5 는 5분을 뜻하는데, 이때 +5 이면 5분 보다 더 이후(더 오래된 값), -5 이면 5분 보다 더 이전(덜 된 값)

find /home/nestgoer -atime -100 -exec ls -l {} \;
find /home -anewer /home/nestgoer/begin -exec ls -l {} \;
find /home -newer /home/nestgoer/begin -exec ls -l {} \;
find /home -executable -print
find /home -executable \! -writable -print
find /dev -type b -exec ls -l {} \;
find /dev -type c -exec ls -l {} \;
find /etc -type d -print;
find /home/nestgoer -type f -exec ls -l {} \;
find /etc -type l -exec ls -l {} \;
find / -user root -perm 4755 -exec ls -l {} \;
find / -name .rhosts -exec ls -l {} \;
find / -name .bash_history -exec ls -lh {} \;
find / -nouser -o -nogroup -exec ls -l {} \;
find /home -type f -exec egrep -i "linux" /dev/null {} \;
  • -empty : 비어 있는 파일, 단 일반파일 또는 일반 디렉토리에 한함
  • -uid n : 지정된 n값의 UID를 갖는 파일
  • -gid n : 지정된 n값의 GID를 갖는 파일
  • -group 그룹명 : 지정한 그룹명에 소속된 파일
  • -name : 지정된 형식의 패턴을 가지는 파일
  • -newer 파일 : 지정한 파일보다 더 최근에 변경된 적이 있는 파일
  • -used n : 파일이 변경된 이후 최근 n일 이후에 액세스된 적이 있는 파일
  • -user uname : 지정한 uname의 소유로 된 모든 파일(UID로 지정가능)
  • -amin n : 최근 n분 이전에 액세스된 적이 있는 파일
  • -anewer 파일 : 지정한 파일보다 더 최근에 액세스된 적이 있는 파일
  • -atime n : 최근 n*24 시간 전에 액세스된 적이 있는 파일
  • -mmin n : 최근 n분 이전에 변경된 적이 있는 파일
  • -mtime n : 최근 n*24 시간 이전에 변경된 적이 있는 파일
  • -executable : 실행 가능한 파일
  • -readable : 읽기 가능한 파일
  • -writable : 쓰기 가능한 파일
  • -fstype type : 지정한 파일시스템타입(type)에 존재하는 파일
  • -nogroup : 소속그룹이 존재하지 않는 파일
  • -nouser : 소속 사용자(ID)가 존재하지 않는 파일
  • -path 패턴 : 파일명이 패턴에 매칭되는 파일
  • -perm 모드 : 모드에서 지정된 퍼미션과 일치하는 퍼미션을 가진 파일만 해당됨.
  • -perm -mode : 모드에서 지정된 퍼미션을 가진 모든 파일.
  • -regex 패턴 : 패턴에서 지정한 정규표현식에 매칭되는 파일
  • -size n[cwbkMG] : 지정된 n 단위의 디스크공간을 사용하는 파일. 디폴트는 b
  • -type 타입 : 지정한 파일타입에 해당하는 파일. b,c,d,p,f,l,s 등이 있음

위의 n 값은 +n 은 n 보다 큰 값을 의미하고, -n 은 n 값보다 작은 값을 의미하며, n 은 정확하게 n 값만을 의미한다.

  • -delete : 검색된 파일들을 삭제
  • -exec command ; : 지정한 command 를 실행
  • -exec command {} + : 검색된 파일들을 차례대로 매칭하면서 지정된 command 를 수행
  • -ls : 'ls - dils' 를 수행
  • -ok command ; : -exec 와 같지만 실행하기 전에 먼저 사용자에게 표준입력으로 수행할 command 를 입력 받는다. 만약 입력이 없다면 지정된 command 를 수행한다.
  • -print : 검색된 파일들에 대하여 전체파일 경로로 파일리스트를 표준출력으로 출력한다.
  • -printf format : 검색된 파일들에 대하여 지정된 format 형식으로 표준출력으로 출력
  • ( ) : 괄호( )안의 연산이 먼저 행해짐
  • ! expr : expr 이 거짓일때 참, 참일때 거짓이 됨.
  • -not expr : 위의 ! expr 과 동일함 (POSIX 호환용)
  • expr1 expr2 : AND 의 의미. expr1 이 거짓일 때에는 expr2 는 평가되지 않음
  • expr1 -a expr2 : 'expr1 expr2' 와 같음
  • expr1 -and expr2 : 'expr1 expr2' 와 같음 (POSIX 호환용)
  • expr1 -o expr2 : OR 의 의미. expr1 이 참일 경우 expr2 는 평가되지 않음.
  • expr1 -or expr2 : 'expr1 -o expr2' 와 같은 의미
로그인하면 댓글을 남길 수 있습니다.
  • find_명령어_사용법.txt
  • 마지막으로 수정됨: 2020/02/21 12:40
  • 저자 koov