我在 处安装了一个磁盘/data
。目前它是空的。
我需要rsync
执行mkdir -p
比mkdir
因为我需要处于第 4 级的文件,即/data/dir_1/dir_2/dir_3/filename
当dir_1
,dir_2
和dir_3
不存在时。
如果我手动创建所需的子目录,我可以使用以下命令执行 rsync:
rsync -avz source_diretory/ /data/dir_1/dir_2/dir_3
但是如果我不创建子目录,此命令将引发错误:
mkdir: cannot create directory ‘/data/dir_1/dir_2/dir_3/’: No such file or directory
我尝试使用 Google 搜索,阅读 rsync 的手册页,尝试使用-r
-R
,但无法使其工作。
可以rsync
执行类似的操作mkdir -p
还是超出其范围?
答案1
答案2
在 Linux 中创建 rsync 目标路径的更简便方法是使用 '$_' 特殊变量。(我认为,但无法确认,在 OSX 中也是一样)。
'$_' 保存前一个执行命令的最后一个参数的值。因此,这个问题可以这样回答:
mkdir -p /data/dir_1/dir_2/dir_3 && rsync -avz source_directory/ $_