今天早上昏昏欲睡的我将文件夹从位置 A 移动到了 B
我目前在 B 目录中,.
我没有使用,而是使用了*
mv /home/user/temp/ *
在执行此操作之前,目录 B 有 4 个文件夹和一个文件。
现在目录 B 有一个文件夹。
我是不是不小心犯了什么错误?我需要再喝点咖啡,有什么办法可以纠正这个错误吗?
答案1
对你来说是个好消息!
您的所有文件和目录都位于唯一现有的目录下B/
,包括源目录/home/user/temp/
。
事情的经过:
当你
mv /home/user/temp/ *
在 时执行时B/
,shell 会扩展*
到目录上的所有文件和目录;这在运行B/
之前首先发生mv
幸运的是,目录最终按照路径名扩展的排序顺序出现,因此命令
mv
变成例如:mv /home/user/temp/ B/file1 B/file2 B/some_directory
由于最后一个参数是目录,因此
mv
将所有文件和目录移动到该目录中。如果最后一个是文件,mv
则会显示错误,即目标不是目录(因为涉及多个源)。