12

Как я могу скопировать файл, используя SCP, сохранив ctime (время модификации)?

У меня есть папка на моем Mac (OS 10.8), и результаты ls -l и ls -lc одинаковы.

$ ls -l
total 0
drwxr-xr-x  9 elliott  staff  306 Mar 24 21:24 Day1b
$ ls -lc
total 0
drwxr-xr-x  9 elliott  staff  306 Mar 24 21:24 Day1b

Затем я копирую его на удаленный сервер (Linux) с -p чтобы сохранить метки времени.

$ scp -pr Day1b/ elliott@server.com:/

Теперь на удаленном сервере ctime изменяется на текущую дату.

# ls -l
total 00
drwxr-xr-x  3 elliott elliott 4096 Mar 24 23:24 Day1b/
# ls -lc
total 0
drwxr-xr-x  3 elliott elliott 4096 Mar 28 14:08 Day1b/

1 ответ1

18

Время модификации mtime, а не ctime. scp -p уже сохраняет mtime.

ctime - это время изменения inode , обновляемое каждый раз, когда к файлу прикасается каким-либо образом - переименовывается, перемещается, chmodded и т. д.

Как правило, нет способа сохранить его, поскольку ОС не предоставляет никакой функции для этого, и даже если бы он это сделал, сам процесс установки ctime был бы изменением, которое привело бы к повторному обновлению ctime.

Другими словами, ls -lc бесполезен для большинства целей, и не стоит об этом беспокоиться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .