Linux:复制并创建目标目录,如果它不存在
我需要一个命令(或者可能是cp的一个选项)来创建目标目录(如果它不存在的话)。
示例:
cp -? file /path/to/copy/file/to/is/very/deep/there test -d "$d" || mkdir -p "$d" && cp file "$d"
(cp
没有这个选项)。
如果以下两个都是真的:
- 您正在使用
cp
的GNU版本(而不是Mac版本)和 -
您正在复制某些现有的目录结构,您只需要重新创建
即可
那么你可以用cp
的- parents
标记来做到这一点。从信息页面([ http://www.gnu.org
/software/coreutils/manual/html_node/cp-invocation.html#cp-invocation](http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html
#cp-invocation)或使用info cp
或man cp
):
>
--parents Form the name of each destination file by appending to the target directory a slash and the specified name of the source file. The last argument given to `cp' must be the name of an existing directory. For example, the command: cp --parents a/b/c existing_dir copies the file `a/b/c' to `existing_dir/a/b/c', creating any missing intermediate directories.
示例:
/tmp $ mkdir foo /tmp $ mkdir foo/foo /tmp $ touch foo/foo/foo.txt /tmp $ mkdir bar /tmp $ cp --parents foo/foo/foo.txt bar /tmp $ ls bar/foo/foo foo.txt
原文出处:tracholar -> http://www.tracholar.top/2018/07/31/linux-copy-and-create-destination-dir-if-it-does-not-exist/
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。