为什么命令mv删除所有文件?

时间:2016-11-02 08:07:19

标签: linux shell

我想将git.sh复制到/ root下面的ever文件中 然后我用这个 mv git.sh /root/ 是一个mirecle,下面/ root下面的所有文件都被删除了。

你能解释一下命令后会发生什么吗? mv git.sh /root/*是什么意思? 你能否给我正确的命令将文件复制到/ root /?

下面的文件

enter image description here

1 个答案:

答案 0 :(得分:1)

命令mv移动文件。当目标文件存在时,它将被替换。复制文件的正确命令是cp。它的使用方式与mv相同。

命令mv git.sh /root/*将使用目录中包含的所有名称替换通配符char *。然后有几个案例:

  1. / root包含多个文件或目录:命令将失败
  2. / root包含一个文件:将移动git.sh并替换目录/ root
  3. 中的文件
  4. / root为空:git.sh将作为git.sh移动到/ root
  5. mv会移除来源,cp会保留它。

    最好使用带有文件名的目标路径,例如mv git.sh /root/git.sh。移动多个文件时,只使用目标路径到没有文件名或通配符字符的目录,例如mv dir/* /root/。如果要移动带子目录的目录,请添加-R参数。

    使用man mvman cp了解详情。