假设我有一个具有以下目录结构的源目录:
+-- rootfs
| +-- bin
| | +-- cat
| | +-- chmod
| | +-- cp
| | +-- ls
| | +-- echo
| | +-- grep
| +-- usr
| | +-- bin
| | | +-- a
| | | +-- b
| | | +-- c
| +-- lib
| | +-- libc.so.6
| | +-- libssl.so.0.9.8
| | +-- libcrypto.so.1.0.0
| +-- tmp
| +-- mnt第二级的所有文件都是目录(bin,usr,lib,mnt,tmp)
我需要把这个目录复制到我的目的地。所以,我知道:
cp -r /path/to/source/rootfs /path/to/destination/现在,假设我从其他地方将两个新文件复制到这个目录结构(目标中),所以现在看起来如下
+-- rootfs
| +-- bin
| | +-- cat
| | +-- chmod
| | +-- cp
| | +-- ls
| | +-- echo
| | +-- grep
| | +-- **mke2fs**
| | +-- **e2fsck**
| +-- usr
| | +-- bin
| | | +-- a
| | | +-- b
| | | +-- c
| +-- lib
| | +-- libc.so.6
| | +-- libssl.so.0.9.8
| | +-- libcrypto.so.1.0.0
| | +-- **libm.so.6**
| | +-- **librt.so.1**
| +-- tmp
| +-- mnt此时,如果我再次将源目录复制到目标目录,我在目标文件夹中创建的新文件将保持原样。
cp -r /path/to/source/rootfs /path/to/destination源目录中所有文件的修改时间已经更新到第二份副本的时间,这是有意义的。
bin目录的修改时间被更新到第二次复制的时间,而lib目录的修改时间不是,但我并没有真正得到,因为这两个目录都有新的文件。
这让我想知道linux复制命令是如何工作的,以及它如何更新文件夹的修改时间?
发布于 2020-05-26 02:56:20
cp -r更改目录mtime的唯一原因是目标目录中缺少源目录中的文件。
你可以检查发生了什么
cp -ruv /path/to/source/rootfs/. /path/to/destinationhttps://unix.stackexchange.com/questions/588949
复制相似问题