다음 명령을 사용하여 30 일이 지난 파일 및 디렉토리의 디렉토리를 지우고 아무도 파일을 다시 요청하지 않으면 몇 주 후에 삭제할 수있는 아카이브 디렉토리로 이동합니다. 대상 디렉토리에는 사용자 이름별로 하위 디렉토리가 있으므로 아카이브 디렉토리도 마찬가지입니다.
이것이 내가 사용하는 명령입니다.
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
내가 우분투를 물어의 질문에 대답이의 수정 된 버전을 제안, 다른 사용자가 행의 끝을 변경할 수있는 코드 편집 \;
을 위해 +
이 빠르다로 (더 정확한을?). 여길 봐
그러나 명령이 있지만 실제로 사용 +
하는 -exec
명령이 ls -lh
아닌 경우이 방법으로 사용 하면 작동합니다 . 내가 시도 +
하면 오류 메시지가 나타납니다.
find: missing argument to '-exec'
왜 이런 식으로 작동하는지 또는 올바른 명령이 무엇인지 이해하지 못합니다. 그냥 명령 수정을 게시하지 말고 맹목적으로 제안을 따르는 것이 아니라 이해하고 싶습니다.
+
동일한 명령에 여러 인수를 제공하지만 그에 mv
대처할 수는 없습니다!