%EC%99%80%20%EB%8F%99%EC%9D%BC%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
Zip 유틸리티를 사용하면 다음을 수행할 수 있습니다.
zip 아카이브의 "마지막 수정" 시간을 zip 아카이브의 항목 중에서 발견된 최신(가장 오래된) "마지막 수정" 시간으로 설정합니다.
~와 함께
zip -o [...]
또는
zip --latest-time [...]
TAR로 동일한 작업을 수행하는 가장 쉬운 방법은 무엇입니까?
답변1
new_file="$(find dir/ -type f -exec stat --printf='%n\0%Y\n' {} + | sort -k2,2 -nt '\0' | tail -n1 | cut -d '' -f1)"; tar -zcf foo.tar.gz dir/; touch -r "$new_file" foo.tar.gz
무슨 일이 일어나는지에 대한 예
tar -zcf foo.tar.gz dir/; touch -r fileX foo.tar.gz
당신은 변화해야foo.tar.gz,디렉토리/위 명령에서
그것
- 에서 모든 파일을 찾습니다디렉토리/(타르도 마찬가지)
- epoch 이후 초 단위로 마지막 수정 타임스탬프를 가져옵니다.
- 숫자순으로 정렬하고 맨 아래 항목(가장 최신 항목)을 가져옵니다.
- touch는 foo.tar.gz 타임스탬프를 조정할 때 해당 파일을 참조로 사용합니다.