所以,如果我在我的主目录中,我想移动foo.c到~/bar/baz/foo.但是这些目录不存在,有没有办法自动创建这些目录,这样你就只需要输入
mv foo.c ~/bar/baz/
一切都会好起来吗?看起来你可以将mv别名为一个简单的bash脚本,该脚本将判断这些目录是否存在,如果不存在,将调用mkdir,然后调用mv,但我想我会判断一下是否有人有更好的 idea .
所以,如果我在我的主目录中,我想移动foo.c到~/bar/baz/foo.但是这些目录不存在,有没有办法自动创建这些目录,这样你就只需要输入
mv foo.c ~/bar/baz/
一切都会好起来吗?看起来你可以将mv别名为一个简单的bash脚本,该脚本将判断这些目录是否存在,如果不存在,将调用mkdir,然后调用mv,但我想我会判断一下是否有人有更好的 idea .
这一行怎么样(在bash中):
mkdir --parents ./some/path/; mv yourfile.txt $_
分解一下:
mkdir --parents ./some/path
# if it doesn't work; try
mkdir -p ./some/path
创建目录(包括所有中间目录),然后:
mv yourfile.txt $_
将文件移动到该目录($扩展到传递给上一个shell命令的最后一个参数,即:新创建的目录).
我不确定这在其他shell中能起到多大的作用,但它可能会给你一些关于寻找什么的 idea .
下面是一个使用这种技术的示例:
$ > ls
$ > touch yourfile.txt
$ > ls
yourfile.txt
$ > mkdir --parents ./some/path/; mv yourfile.txt $_
$ > ls -F
some/
$ > ls some/path/
yourfile.txt