tar-эквивалент zip -o (-latest-time)?

Утилита Zip позволяет нам

Установите «последнее измененное» время zip-архива на самое последнее (самое старое) «последнее измененное» время, найденное среди записей в zip-архиве

с

zip -o [...] 

или

 zip --latest-time [...] 

Какой самый простой способ сделать то же самое с TAR?

2 Solutions collect form web for “tar-эквивалент zip -o (-latest-time)?”

 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 , dir / в приведенной выше команде

Это

  • находит все файлы в каталоге dir / (то же самое, что и tarred)
  • получает свою последнюю временную метку изменения за считанные секунды с эпохи
  • сортирует численно и захватывает нижний (самый последний)
  • touch использует этот файл в качестве ссылки при настройке timestamp foo.tar.gz.

Вероятно, нет ни одного слота (в POSIX, во всяком случае). Я использую скрипт ( touch-dirs ), чтобы установить временные метки каталога, чтобы соответствовать самой последней временной отметке файлов в каталоге, а затем использовать эту метку времени для полученного архива.

Этот последний шаг можно сделать, используя опцию -r (reference) touch . На самом деле я тоже этого не использую, но вместо этого утилита ( cpd ).

  • Ошибка распаковки, возможно ли восстановление?
  • как распаковать файл с другим именем
  • У вас возникли проблемы с распаковкой нескольких файлов
  • file-roller: произошла ошибка при загрузке архива (Zip / 7z)
  • Замещать содержимое папки без включения самой папки
  • Распаковка с помощью tar: - слишком жадничать: как исключить только файл на уровне корневого уровня?
  • Как я могу переупаковать zip в 7zip?
  • Как я могу перечислить все * .doc файлы в Zip-архиве, включая файлы в подкаталогах?
  • Файлы ZIP с ограничением по размеру
  • Как я могу сделать zip, указав каталог?
  • распаковать каталог в unix
  • Linux и Unix - лучшая ОС в мире.