用Bash跨目录移动文件失败报错,求解决方法
解决Bash移动文件的路径错误问题
你遇到的问题核心是目标路径写错了:你在Downloads目录下执行mv dog.jpg images/,Bash会默认在当前的Downloads目录里找images/子目录,但这个目录根本不存在,所以才会提示“Not a directory”。
正确的操作分两种方式:
1. 使用绝对路径(最稳妥)
直接写出目标目录的完整路径,用~代替你的用户主目录(等同于/home/你的用户名/),命令如下:
mv dog.jpg ~/Desktop/odin-links-and-images/images/
2. 使用相对路径
从Downloads目录往上退一级到主目录,再进入Desktop对应的路径,用../表示上一级目录:
mv dog.jpg ../Desktop/odin-links-and-images/images/
额外注意:如果目标目录不存在
先执行下面的命令创建目录(-p参数会自动创建所有不存在的父目录):
mkdir -p ../Desktop/odin-links-and-images/images/
再执行移动命令就不会报错了。
内容的提问来源于stack exchange,提问作者janw53
相关产品推荐
相关产品推荐

