На этот вопрос уже есть ответ здесь:
Я нашел старый архив, заполненный старыми папками на моем компьютере. Я хотел бы чтобы знать, как сделать копию этого архива, но сохранить все в целости, включая дату создания
Читать man cp
, и, в дополнение к --recursive
переключитесь используют один из:
-p same as --preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,ownership,timestamps), if possible
additional attributes: context, links, xattr, all
Как обозначено в других ответах, необходимо использовать терминал, если Вы хотите сохранить каждый атрибут файла. Однако я предложил бы использовать -a
(--archive
) опция с cp
команда, которая конкретно нацелена на создание идентичной архивной копии.
cp -a <source> <destination>
То же может быть достигнуто с rsync
утилита, локальный и удаленный инструмент копии файла, который может работать быстрее, чем cp
. Это также использует опцию -a
для той же цели.
rsync -a <source> <destination>
Например, для копирования папки Archive в домашней папке к внешней Карте памяти, смонтированной под /media/$USER/USB_drive
:
cp -a /home/$USER/Archive /media/$USER/USB_drive/
или
rsync -a /home/$USER/Archive /media/$USER/USB_drive/
Archive
содержа все Ваши подпапки и файлы в существующей папке назначения /media/$USER/USB_drive/
.mount | grep /media
$USER
на месте, если это для Вашего текущего пользователя. Этой переменной автоматически заменяет Ваше имя для входа в систему.sudo cp -rp /home/my_home /media/backup/my_home
Или
sudo cp -a /home/my_home /media/backup/my_home
Это должно сделать это.
-r
является рекурсивным
-p
сохранять-режим
Нет никакого простого способа получить или установить время создания файла в Linux. Если это абсолютно должно быть сохранено, для которого я не вижу много точки, можно фальсифицировать системное время (использование, например, точно именованный faketime
команда) при копировании файлов, но необходимо было бы скопировать каждую запись индивидуально, так, чтобы время могло быть установлено для каждого файла правильно. Даже затем могла бы быть некоторая погрешность. Начиная с получения самого времени создания тяжелая работа, и так как время может фальсифицироваться довольно легко, но вероятно не точно, действительно нет большого количества точки к выполнению так, как бы то ни было.
просто копирование архивного файла не изменит созданные даты файлов/папок в архиве
В то время как другие ответы корректны, можно хотеть добавить файл к архиву .zip (возможно, в дополнение к простой копии, если это не будет огромно), поскольку это сохранит метки времени лучше в долгосрочной перспективе (учитывая достаточное количество времени, Вы, то данные будут скопированы вокруг в различные носители, восстановленные от резервных копий, помещенных в и от облака и т.д., и метаданные файла как метки времени будут в конечном счете потеряны. Быть в архиве ZIP защитит его.)