본문 바로가기

linux/centOS

find를 잘 활용하자.


파일과 디렉토리를 검색하는 명령어, grep 과 find 를 잘 활용하여 찾고자 하는 파일을 쉽게 찾자. 



옵션 

- name filename : 찾고자 하는 파일명을 검색  ( 사용예 : -name *.txt )

- atime +n : access time 이 n 일 이전인 파일을 찾는다. 

- atime -n : access time 이 n 일 이내의 파일을 찾는다. 

- mtime +n : n일 이전에 변경된 파일을 찾는다. 

- mtime -n : n일 이내에 변경된 파일을 찾는다. 

- type x : f - 파일 , d - 디렉토리 

- maxdepth n : 지정된 디렉토리에서 n개 하위 디렉토리까지 검색 



처리방법 

- print : 찾은 파일의 절대 경로를 화면에 출력

- exec cmd {} \; 명령어 구분자로 ; 을 사용하기 때문에 \; 를 항상 붙여주어야 한다. 






[ example ]


1. 파일명이 *.log 이고 수정일이 3일 이전 파일을 삭제

    find . -name "*.log" -a -mtime +3 -exec rm {} \;


2. 수정된지 7일 이상된 파일을 삭제한다. 

   find /home/log -type f -mtime +7 -exec rm -f {} \;


3. 수정된지 600일 이상된 파일을 ./backup 디렉토리로 이동한다.

   find . -name "local*" -mtime +600 -type f -exec mv {} ./backup \;


4. 하위 2개 디렉토리까지 검색한다. maxdepth = 1 이면 현재 디렉토리만 검색

   find . -name "local*" -mtime +590 -type f -maxdepth 2


5. crontab 등록

    $ crontab -e 

    # /usr/apache/log경로의 7일 이상된 로그 파일 삭제

    10 1 * * * find /usr/apache/log -type f -mtime +7 -exec rm -f {} \;

'linux > centOS' 카테고리의 다른 글

CentOS6 - GitLab 설치  (0) 2014.12.28
taskkill process  (0) 2014.09.17
[centOS6] apache 설치  (0) 2013.05.22
postfix 설치 - centOS 6  (0) 2013.04.28
centOS 6 rabbitMQ 설치  (0) 2013.04.27