Linux ETC

find 명령어-1

2012.03.30 03:21

호스트웨이 조회 수:14935

 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

번호 제목 글쓴이 날짜 조회 수
106 rsync / 파티션 전체 동기화 방법 호스트웨이 2012.12.14 2428
105 특정 파일이 소속된 rpm 패키지 찾기 호스트웨이 2012.12.14 1781
104 df 와 du의 출력 크기가 다르게 보이는 이유 호스트웨이 2012.12.14 4430
103 nl명령어를 사용해 파일내용 출력시 행번호 붙이기 file 호스트웨이 2012.12.20 3688
102 df 쉽게 보기 호스트웨이 2012.12.20 2835
101 쉘 프롬프트에서 바로 이전 디렉토리로 이동하기 호스트웨이 2012.12.20 2751
100 free -m 에서 free (남는 메모리 양) 최소량 제한하기 호스트웨이 2012.12.21 2147
99 [ERROR] ftp error 500 OOPS: cannot change directory:/home/ 호스트웨이 2012.12.21 4299
98 리눅스 캐시 메모리 비우기 file 호스트웨이 2012.12.26 5269
97 리눅스 free 명령어 호스트웨이 2012.12.26 1818
96 ls -l 출력 시 날짜형태 변경 호스트웨이 2012.12.27 6145
95 리눅스 uniq 명령어 file 호스트웨이 2012.12.27 7878
94 sftp 서비스 막기 호스트웨이 2012.12.27 1320
93 오늘 생성한 파일만 조회하기 호스트웨이 2012.12.27 6247
92 partprobe - 리부팅 없이 사용 중인 파티션 재인식 호스트웨이 2012.12.28 8344
91 samba 설치 file 호스트웨이 2014.04.14 3373
90 리눅스 커널 업데이트 및 커널 변경 부팅 방법 file 호스트웨이 2014.10.30 23424
89 SVN(subversion) 설치 및 셋팅 file 호스트웨이 2014.12.02 6425
88 epel-release 설치하기 file 호스트웨이 2014.12.22 14292
87 ngrinder를 이용한 부하 테스트 - 1) Controller 설치 file 호스트웨이 2015.04.08 4285