Linux ETC

find 명령어-1

2012.03.30 03:21

호스트웨이 조회 수:14215

 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

번호 제목 글쓴이 날짜 조회 수
226 리눅스 로그인 메시지 출력 file 호스트웨이 2012.07.06 16872
225 CentOS 5/6 에 VMware Tools 설치 방법 호스트웨이 2012.08.31 16817
224 리눅스에서 iso 이미지 활용하기 호스트웨이 2012.04.13 16712
223 OSI 7 Layer 의 이해 file 호스트웨이 2012.03.23 16685
222 lsof를 이용한 시스템에서 Open된 Port 검색 호스트웨이 2012.06.08 16672
221 리눅스 uptime 명령어 file 호스트웨이 2012.08.24 16646
220 SED 명령어 사용법 호스트웨이 2012.07.20 16639
219 Ubuntu 12.04: Ubuntu 11.10 또는 Ubuntu 10.04 LTS 에서 Ubuntu 12.04 로 업그레이드하기 호스트웨이 2012.05.04 16560
218 Ping 요청 막는 방법 호스트웨이 2012.05.04 16512
217 CentOS 4.x – yum mirror 사이트 변경 호스트웨이 2012.05.25 16486
216 cal 명령어로 달력 보기 호스트웨이 2012.08.23 16467
215 Debian upgrade, lenny apt source list 호스트웨이 2012.05.25 16456
214 RPM 관련 옵션들-1 호스트웨이 2012.07.27 16427
213 grep 명령어 사용하기 file 호스트웨이 2012.03.16 16372
212 리눅스 부트로더란? 호스트웨이 2012.07.27 16257
211 ssh port 번호 변경하기 호스트웨이 2012.10.05 16239
210 SSH 패스워드 없이 자동 로그인 하는 방법 호스트웨이 2012.03.09 16229
209 리눅스 압축 명령어 tar 호스트웨이 2012.06.29 16200
208 ALERT! /dev/disk/xxxx Does not exist. Dropping to a shell 문제 해결 호스트웨이 2012.07.06 16196
207 Disk I/O 줄이기 호스트웨이 2012.10.18 16053