所以我一起去和移动一堆文件在mv命令的到底是什么星号做
mv /source /dest &
mv /source/* /dest/dest/ &
...
...
的话,我让不小心和
mv /source/filena* /dest/dest/ *
OMG! ^c^c^c^c
[终端命令没有回应] 这里究竟发生了什么?
当我在命令的末尾放置*
(星号)而不是&
(与符号)时会发生什么?
所以我一起去和移动一堆文件在mv命令的到底是什么星号做
mv /source /dest &
mv /source/* /dest/dest/ &
...
...
的话,我让不小心和
mv /source/filena* /dest/dest/ *
OMG! ^c^c^c^c
[终端命令没有回应] 这里究竟发生了什么?
当我在命令的末尾放置*
(星号)而不是&
(与符号)时会发生什么?
该shell扩展通配符*
。 mv
命令从不会看到通配符,只会看到扩展的结果。
通配符*
按字典顺序展开到当前目录中的文件列表。如果最后一个文件是一个目录,则所有前面的文件(/source.filenafoo
,/source/filenabar
,/dest/dest
,hello
)都将移至该子目录。如果最后一个文件不是一个目录,mv
抱怨“目标a.png
不是目录”(或其他文字)。
有关更多详细示例,请参阅What does mv ./*
without specifying destination do?。
命令行末尾的星号与星号上任意位置的星号一样 - 它是匹配零个或多个字符的通配符。具体而言,在这种情况下,的mv /source/filena* /dest/dest/ *
被替换为当前目录中每个文件和文件夹的每个文件和文件夹的名称(除了那些以点开头的文件和文件夹),并且发生在此列表中的最后一个字符是mv
要去的地方尝试把一切。
提示:'别名mv ='mv -i''确保您在打开文件之前必须说好 – SheetJS