使用mv制作文件夹

所以我想把文件夹名从大写字母改成小写字母,所以我做了

mv FOLDER folder 

为什么我不需要创build一个新的文件夹? 我不应该得到像这样的错误

 folder does not exist 

你不能复制到一个不存在的文件夹,为什么你可以移动到一个?

之间有一个区别:

 mv oldfolder/* newfolder 

新文件夹不存在的地方,以及:

 mv oldfolder newfolder 

新文件夹不存在的地方

第一个给出:

 mv: target `newfolder' is not a directory 

而第二个会将旧文件夹重命名为新文件夹。

在UNIX / Linux中,“mv”执行以下两项操作之一:

  1. 将文件或目录从其当前位置(在一个目录中)移动到新位置(在不同的目录中)。
  2. 重命名文件或目录,而不将其移动到新的位置。

在第二种情况下,重命名一个目录不会创build一个新的目录,它只是改变已经存在的目录的名称。

事实上,你的例子有两个不同的东西,取决于“文件夹”是否已经作为一个目录存在。 如果是这样,mv就像上面第一种情况一样工作,即将“FOLDER”移动到“folder”目录,所以现在是“folder / FOLDER”。 另一方面,如果“文件夹”不存在,它只是重命名文件夹。

是的,这可能是相当混乱!

在UNIX中,文件夹是一个特殊的文件

当你问mv src dstmv接受src文件并尝试将其移动到dst 。 现在有几条规则适用。 他们是按顺序,第一个匹配的是应用的一个:

  1. 如果dst不存在,它将成为目标名称(不pipesrc的types如何)
  2. 如果dst已经存在,并且是一个目录,它将被视为一个path而不是目的地名称。 所以命令将被理解为mv src dst/src并且src dst (is dst/src的最后一个path)
  3. 如果dst已经存在,并且不是一个目录,只有当src不是目录时才会被删除。

mv也是一个重命名的命令。 您正在将一个文件夹重命名为新名称。