리눅스/Other commands

리눅스에서 오래된 파일만 삭제하기

G. Hong 2022. 5. 26. 11:50
728x90
반응형

인터넷에서 검색만하면 쉽게 찾을 수 있는 커맨드 이지만 자주 사용하게 되는 커맨드이기에 기록하여 둡니다.

 

X일 이상 된 파일들 모두 삭제

우선 일수 기준으로 삭제를 하는 법입니다. 3가지 중에 한개만 사용하면 됩니다.

 

# find 디렉토리 -name 파일 -mtime +일수 -delete
##예시: /root/test 디렉토리의 5일 이상된 모든 파일 삭제
# find /root/test -name '*' -mtime +5 -delete

## 그 외에도 아래의 커맨드들도 동일하게 사용가능
# find 디렉토리 -name 파일 -mtime +일수 -exec rm -f {} \;
# find 디렉토리 -name 파일 -mtime +일수 | xargs rm -f

 

XX년(또는 X월 또는 X월X일)에 생성된 파일 모두 삭제

# cd 디렉토리
# ll --time-style full-iso | awk '{print $6" "$9}' | grep 20xx-xx-xx | awk '{print $2}' | xargs rm -f

## 예시1: /test/ 디렉토리에서 2021년에 생성된 파일 모두 삭제
# cd /test
# ll --time-style full-iso | awk '{print $6" "$9}' | grep 2022 | awk '{print $2}' | xargs rm -f

## 예시2: /test/ 디렉토리에서 2022년5월에 생성된 파일 모두 삭제
# cd /test
# ll --time-style full-iso | awk '{print $6" "$9}' | grep 2022-05 | awk '{print $2}' | xargs rm -f

## 예시3: /test/ 디렉토리에서 2022년5월26일에 생성된 파일 모두 삭제
# cd /test
# ll --time-style full-iso | awk '{print $6" "$9}' | grep 2022-05-26 | awk '{print $2}' | xargs rm -f

* 주의!: 파일명에 날짜형식이 포함될 경우 오작동 할 수도 있으니 # ll --time-style full-iso | awk '{print $6" "$9}' | grep 20xx-xx-xx 커맨드로 삭제될 파일들을 먼저 확인 한 뒤에 진행하도록 한다.

728x90
반응형