![내가 있는 디렉토리의 파일을 어떻게 삭제할 수 없나요?](https://linux55.com/image/154655/%EB%82%B4%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%82%AD%EC%A0%9C%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%82%98%EC%9A%94%3F.png)
30일이 지난 디렉터리의 파일을 삭제하고 싶지만 내 디렉터리의 파일은 삭제하고 싶지 않습니다.
답변1
파일을 삭제하기 전에 나열하려면:
find . -maxdepth 1 -mtime +30 -type f -ls
파일을 삭제하려면:
find . -maxdepth 1 -mtime +30 -type f -exec rm {} +
그리고
.
현재 디렉터리 지정-maxdepth 1
디렉토리의 1레벨까지 내려갑니다.-mtime +30
마지막으로 수정된 날짜가 30일을 초과한 파일만-type f
일반 파일만
답변2
zsh 쉘에는특수 와일드카드 확장 기능그게 도움이 될 거예요.
현재 디렉터리에서 30일이 지난 파일을 나열합니다.
ls -d -- *(.m+30)
현재 디렉터리에서 30일이 지난 파일을 삭제합니다.
rm -- *(.m+30)
zsh 구문은 *(.m+30)
와일드카드입니다. 즉, 다음을 의미합니다.
*
-- 임의의 파일 이름( ... )
-- 예선은....
-- 일반 파일(디렉토리 등이 아님)m+30
--수정 시간이 30일 이상 전입니다.