源文件 :~/SCRIPTS/script
目标目录:~/TMP/LAB
命令应该是这样的:<command> <option> ~/SCRIPTS/script ~/TMP/LAB
命令后的期望结果:~/TMP/LAB/SCRIPTS/script
做没有意义
<command> <option> ~/SCRIPTS/script ~/TMP/LAB/SCRIPTS/
因为每次更改源文件时都必须编辑命令。基本上我希望命令根据它在源中找到的结构创建目录,而不是基于我想要创建的目标。
该命令应:
- 创建 ~/TMP/LAB/SCRIPTS/
- 复制 ~/SCRIPTS/script 到它。
cp --parents
这样做,但仅在复制目录时
不知道install
能不能帮到我?或者也许rsync
?
cp --parents
如果你有 GNU应该可以使用cp
。您建议使用
rsync
,如果您使用它的-R
(--relative
) 选项,您可以这样做:请注意,在这两种变体中,使用绝对路径
~/SCRIPTS/script
作为源而不是相对路径SCRIPTS/script
将创建与目标处的绝对路径相对应的目录,并且您最终会得到类似TMP/LAB/home/myself/SCRIPTS/script
.您可以通过首先将目录更改为包含该
SCRIPTS
目录的目录来避免这种情况。事实证明,
cp --parents
即使源是文件,也可以创建父级。