与SCP保持时间


14

如何在保存ctime(修改时间)的同时使用SCP复制文件?

我有我的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/

Answers:


20

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

ctime是inode更改时间,每次以任何方式(重命名,移动,chmodded等)触摸文件本身时都会更新。

通常,没有办法保留它,因为OS并没有为此提供任何功能,即使它提供了功能,设置ctime的行为实际上也是一项更改,它将导致ctime再次更新。

换句话说,ls -lc对于大多数用途而言,它是无用的,并且不应该为此担心。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.