为什么在命令行中使用'mv'无法正确移动文件

时间:2015-11-21 11:17:14

标签: bash

我试图移动一些文件。

版本1(失败):

FDSM_lhn@Nirvana:~/Downloads$ mv "Problem\ Set*" ../Desktop/Econ3101/
mv: rename Problem\ Set* to ../Desktop/Econ3101/Problem\ Set*: No such file or directory

第2版(成功):

FDSM_lhn@Nirvana:~/Downloads$ mv Problem\ Set* ../Desktop/Econ3101/

但为什么会这样呢?

谢谢!

1 个答案:

答案 0 :(得分:2)

当你使用双引号时,你实际上是在尝试移动一个名为“问题集*”的文件,该文件不存在。

通过一个简单的例子可能更容易理解:

$> touch foo{1,2,3,4,5,*}.txt
$> ls
foo1.txt  foo2.txt  foo3.txt  foo4.txt  foo5.txt  foo*.txt
$> ls foo*.txt
foo1.txt  foo2.txt  foo3.txt  foo4.txt  foo5.txt  foo*.txt
$> ls "foo*.txt"
foo*.txt