2012.03.30 03:21
find 명령어-1
1. 기능
지정된 경로로 주어진 조건에 따라 파일을 찾고 그 경로를 보여주는 명령으로
파일의 조건을 이름이나 크기, 날짜 등 다양하게 지정할 수 있습니다.
2. 사용법
find 명령의 일반적인 형식
find <대상경로> <옵션> <검색 조건> <처리방법>
3. 검색옵션
-name filename : 파일 이름을 찾음
-atime +n access : 시간이 n일 이전인 파일을 찾음
-atime -n access : 시간이 n일 이내인 파일을 찾음
-mtime +n : n일 이전에 변경된 파일을 찾음
-mtime -n : n일 이내에 변경된 파일을 찾음
-perm nnn : 파일 권한이 nnn인 파일을 찾음
-type x : 파일 타입이 x인 파일들을 찾음
-size n : 사이즈가 n 이상인 파일들을 찾음
-links n : 링크된 개수가 n인 파일들을 찾음
-user username : user 이름으로 찾음
-group groupname : group 이름으로 찾음
-type filetype : 찾고자 하는 파일이나 디렉토리의 유형을 지정 해줄때 사용함
타입의 종류
1) -type b : 블록 특수 파일(block device)
2) -type c : 캐릭터 특수 파일 (character deice)
3) -type d : 디렉토리(directory)
4) -type f : 일반파일(file)
5) -type l : 심볼릭 링크(link)
6) -type p : 파이프 (pipe)
7) -type s : 소켓 (socket)
4. 처리 방법
찾은 파일을 어떻게 할 것인지 지정합니다.
-print : 찾은 파일의 절대 경로명은 화면에 출력
-exec cmd {}; : 찾은 파일들에 대해 cmd 명령어를 실행함
5. 사용예
자신의 홈 디렉토리에서 확장자가 '.txt'인 파일을 찾는 예
$ find -name "*.txt'' -print
현재 디렉토리 밑에서 test 이라는 이름을 가진 사용자 소유의 파일을 찾는 예
$ find . -user test -print
자신의 홈 디렉토리에서 최근 3일 동안 변경된 파일들을 찾는 예
$ find . -mtime -3 -print
현재 폴더에서 최근 5일 동안 변경되지 않은 파일들을 찾아서 삭제하는 경우
$ find . -mtime +5 -print -ok rm {} ;
현재 폴더에서 피션이 777인 파일을 찾아 리스트로 보여주는 예
$ find . -type f -perm 777 -exec ls -l {} ;
현재 디렉토리에서 가장 큰 파일을 찾기
$ find . -type f | xargs du -s | sort -n | tail -1
현재 디렉토리에서 확장자가 txt 이고 host 이란 문자열이 포함된 파일 검색
$ find / -name "*.txt" -print -exec grep host {}
txt 문서를 찾아서 그 문서들을 tar로 묶기
$ find . -name "*.txt" | xargs tar cvf txt.tar