使用 SCP 保留 ctime

使用 SCP 保留 ctime

如何使用 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/ [email protected]:/

现在在远程服务器上,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

修改时间是mtime,而不是ctime。scp -p已经保存了mtime。

ctime 是索引节点改变时间,每次文件本身以任何方式被触碰时更新 - 重命名,移动,chmodded 等。

一般来说没有办法保留它,因为操作系统没有提供任何功能,即使有,设置 ctime 的行为本身也会导致 ctime 再次更新。

换句话说,ls -lc对于大多数目的来说它是无用的,所以不必担心。

相关内容