-ctime +0을 사용하여 테스트할 명령을 찾으세요.

-ctime +0을 사용하여 테스트할 명령을 찾으세요.

다음 명령은 100일이 지난 디렉터리와 하위 디렉터리를 삭제합니다.

find /var/tmp -type d -ctime +100 -exec rm -rf {} \;

하지만 실제로는 명령이 모든 디렉터리를 삭제하는지 확인하기 위해 테스트를 수행하고 싶습니다.

-ctime +0그래서 (0일보다 오래된 디렉토리를 삭제하기 위해) 설정했습니다 .

find /var/tmp -type d -ctime +0 -exec rm -rf {} \;

그러나 find 명령은 디렉토리를 삭제하지 않았습니다.

-ctime테스트를 실행하려면 어떻게 변경해야 하나요 ?

답변1

man페이지 find내용은 다음과 같습니다 -ctime.

-ctime n
       File's status was last changed n*24 hours ago.  See the comments
       for -atime to understand how rounding affects the interpretation
       of file status change times.

내용은 다음과 같습니다 -atime.

-atime n
       File was last accessed n*24 hours ago.  When  find  figures  out
       how  many  24-hour  periods  ago the file was last accessed, any
       fractional part is ignored, so to match -atime +1, a file has to
       have been accessed at least two days ago.

-ctime 1따라서 1일 이상 전에 변경된 파일은 반올림 기준으로 삭제할 것으로 예상하고 , -ctime +-1원하는 효과를 얻으려면 이를 설정해야 합니다.

자신이 삭제되는 것을 방지하려면 /var/tmp실험할 때 먼저 작업할 디렉터리를 지정하고 항상 인쇄하세요 -mindepth 1.find

 find /var/tmp -mindepth 1 -type d -ctime +-1  -print

파괴적인 작업을 수행하기 전에:

  find /var/tmp -mindepth 1 -type d -ctime +-1 -exec rm -rf {} +

+( 대신 rm을 여러 번 호출할 필요가 없도록 을 사용합니다 . (또는 using 대신 \;using을 볼 수도 있지만 이 경우에는 이 디렉터리 아래의 파일을 삭제하고 바로 아래에 남겨 두어야 합니다 )-delete-exec rm....find/var/tmp

답변2

이 명령은 마지막 날에 생성된 디렉터리를 삭제합니다.

find /var/tmp -type d -ctime -1 -exec rm -rf {} \;

관련 정보