我想复制整个/usr/share/zoneinfo/目录进入 /var/www/clients/client1/web5/./usr/share/zoneinfo/。 (/./
为了清晰和格式化目的而添加)
目录 /var/www/clients/client1/web5/ 存在,但底层usr/共享/zoneinfo目录没有。
有没有办法用一个命令来做到这一点,还是我必须mkdir -p
先打电话?
我以为cp --parents
会这样做,但似乎它只在复制单个文件时有效,而不是整个目录。
答案1
由于您指定的是 的目标位置/var/www/clients/client1/web5/./usr/share/zoneinfo/
,因此cp
将首先查看以确保存在用于写入文件的目录。所以是的,您需要首先创建目录。但是,如果/var/www/clients/client1/web5/./usr/share/
已经存在,您应该能够:
cp -pr /usr/share/zoneinfo /var/www/clients/client1/web5/./usr/share/zoneinfo
因为存在要写入目录的目标目录zoneinfo
。
答案2
rsync -a --relative
成功了。
rsync -a --relative /usr/share/zoneinfo/ /var/www/clients/client1/web5/
信用去往unix_ninja在这条推文