命令“sudo mv home / * *”有什么作用?

时间:2018-05-22 15:22:39

标签: linux terminal wildcard sudo mv

我知道这个命令的每一部分。

sudo mv home/* *
  • sudo:超级用户执行,以root权限执行。
  • mv:移动文件或目录。
  • home/*:mv命令的参数。它表示主目录的内容。星号*是一个通配符,以字典顺序扩展到当前目录中的文件列表。

下一个参数是命运文件夹。但是,我将星号指定为目标目录,如果执行该命令,则文件夹完全消失。那么,在这种情况下*是什么?

2 个答案:

答案 0 :(得分:0)

假设您有/home/userA/home/userB/home/userC。让我们进一步说你在包含1.txt2.txt和目录3.d的目录中运行它。

在这种情况下,这会扩展为:

sudo mv /home/userA /home/userB /home/userC 1.txt 2.txt 3.d

也就是说,两个glob都被扩展了 - 第一个到/home中的条目列表,它是当前工作目录中文件列表的主题 - 结果就是所有被移动的内容进入目录3.d

已标记的社区Wiki,因为这是一个非主题问题的答案。

答案 1 :(得分:-1)

以上解释是对你的问题的一个很好的答案 - "什么是......意思是"。这是试图回答你没有问的问题!看起来你正试图从一个子目录" home"到当前目录。如果这是正确的,您需要的语法是:

sudo mv home/* ./

./表示进入当前文件夹。