如何使用 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
对于大多数目的来说它是无用的,所以不必担心。