如果目录不存在,有没有办法让mv创建要移动到的目录?

那么,如果我在我的主目录中,我想将foo.c移动到~/bar/baz/foo.c,但这些目录不存在,有没有办法自动创建这些目录,这样您只需键入

mv foo.c~/bar/baz/

一切都会好起来吗?看起来您可以将mv别名为一个简单的bash脚本,该脚本将检查这些目录是否存在,如果不存在,将调用mkdir,然后调用mv,但我想我会检查是否有人有更好的想法

这一行怎么样(在bash中):

mkdir——父母/some/path/;mv yourfile.txt$_

分解如下:

mkdir--parents./some/path
#如果它不起作用;尝试
mkdir-p./some/path

创建目录(包括所有中间目录),然后:

mv yourfile.txt$_

将文件移动到该目录($扩展到传递给上一个shell命令的最后一个参数,即:新创建的目录)

我不确定这在其他shell中能起到多大的作用,但它可能会给您一些关于寻找什么的想法

以下是使用此技术的示例:

$>ls
$>触摸yourfile.txt
$>ls
yourfile.txt
$>mkdir——父级。/some/path/;mv yourfile.txt$_
$>ls-F
一些/
$>这是一些/路径/
yourfile.txt

发表评论