메뉴 건너뛰기

2014.04.29 19:54

find - 파일 검색

조회 수 7200 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

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

사용법 : find [검색대상위치] [옵션] [수행할작업]

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

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


용량이 0 인 비어있는 파일을 검색하는 것

# 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분 보다 더 이전(덜 된 값)


최근 100 시간 이내에 사용된 적이 있는 파일(액세스된 파일) 검색

# 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 {} \;


root 소유의 SetUID, SetGID, StickyBit 파일을 검색

# find / -user root -perm 4755 -exec ls -l {} \;


외부에서 제한없이 로그인할 수 있는 .rhosts 파일 검색

# find / -name .rhosts -exec ls -l {} \;


.bash_histroy 파일 검색

# 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 값만을 의미한다.



[수행할작업(action)]

-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' 와 같은 의미


List of Articles
번호 제목 날짜 조회 수
136 이온큐브로더(ioncube) 설치 매뉴얼 2016.03.18 10380
135 [Linux]리눅스,사용자계정(관련 파일,명령어) file 2015.11.21 8159
134 PHP-5.3 이상 Zend 설치 2015.07.30 8693
133 Centos7 64bit 웹서버 만들기-소켓모듈설치(socket.io) CAP7 file 2015.07.17 8552
132 Centos7 64bit 웹서버 만들기-PHP설치 CAP5 file 2015.07.17 11971
131 Centos7 64bit 웹서버 만들기-mysql설치 CAP4 file 2015.07.17 7655
130 Centos7 64bit 웹서버 만들기-방화벽설치 CAP2 2015.07.17 7838
129 CentOS 7 Subversion(SVN) 2015.07.17 7648
128 CentOS 7 FTP Server 설치 2015.07.17 7698
127 cron을 이용한 DB자동백업 2015.07.16 8203
126 httpd.conf 기타 설정 사항 2015.07.16 7368
125 MySQL 계정생성하기 2015.07.16 7511
124 mysql root 비밀번호 설정 2015.07.16 7850
123 php-mbstring 설치 2015.07.16 7776
122 php.ini 파일에서 timezone 설정 2015.07.16 7754
121 아파치 재시작 없이 설정 적용 2015.07.16 8182
120 my.cnf 케릭터 셋 설정 (uft8) 2015.07.16 7290
119 centos 버전 확인 2015.07.16 7614
118 centos 7 계정추가 2015.07.16 8598
117 mariadb | my.cnf 설정. MariaDB(5.5.37) utf8 설정 2015.07.16 7706
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved