Logo

rm 으로 안지워질때 find 명령으로 삭제방법

$ find . -name “b*” -exec rm -rf {} \;

현재 디렉토리(.) 하부에 b로 시작하는 파일은 모두 삭제하라

$ find . -name “*” -exec rm -rf {} \;

이렇게 하면 현재 폴더하부모든파일 및 폴더 삭제


-atime : 파일을 열어본 시간 또는 디렉토리에  cd 명령으로 접근한 시간
-mtime : 파일의 내용이 변경된 시간 ls -l 에서 나오는 시간
-ctime : 파일의 정보가 변경된 시간 chmod chown과 연관성이 있음 

우리가 보통 사용하는 단위는 ls로 보기때문에 mtime 이 맞다.



find . -mtime +15 -exec rm -rf {} \;

이건 어떻게 될까요?

15일이 지난 현재폴더하부 파일 및 폴더 모두 삭제
기준은 ls -al 했을때 시간을 기준으로 한다.



rm 으로 지울경우, 파일이 많아서 잘 안지워지는데 이렇게 하면 모두 삭제됩니다.


특히 /tmp 파일에 수천개가 존재하면

cd /tmp

$ find . -name “sess_*” -exec rm -rf {} \;


이런식으로 지우게 되죠




(주)웹호스트 http://www.webhost.co.kr
작성일 : 2008년 10월6일

Prev vi 에서 색깔 설정하기
Next 내 linux 가 32bit 인지 64bit 인지 확인방법

Leave a comment