it-swarm-ja.tech

mvでフォルダを作成する

フォルダー名を大文字から小文字に変更したかったので、

mv FOLDER folder

新しいフォルダを作成する必要がないのはなぜですか?次のようなエラーが発生するべきではありません

folder does not exist

存在しないフォルダにコピーできないのに、なぜそのフォルダに移動できるのですか?

2
devin

違いがあります:

mv oldfolder/* newfolder

Newfolderが存在しない場合、および:

mv oldfolder newfolder

Newfolderが存在しない場合。

最初のものは:

mv: target `newfolder' is not a directory

2番目はoldfolderの名前をnewfolderに変更します。

12
Dominic Eidson

UNIX/Linuxでは、「mv」は次の2つのいずれかを実行します。

  1. ファイルまたはディレクトリを現在の場所(1つのディレクトリ内)から新しい場所(別のディレクトリ内)に移動します。
  2. 新しい場所に移動せずに、ファイルまたはディレクトリの名前を変更します。

2番目のケースでは、ディレクトリの名前を変更しても新しいディレクトリは作成されず、既存のディレクトリの名前が変更されるだけです。

実際、あなたの例は、「フォルダ」がディレクトリとしてすでに存在するかどうかに応じて、2つの異なることを行います。含まれている場合、mvは上記の最初のケースと同じように機能します。つまり、「FOLDER」を「folder」ディレクトリに移動するため、「folder/FOLDER」になります。一方、「フォルダ」がまだ存在しない場合は、FOLDERの名前を変更するだけです。

はい、かなり混乱する可能性があります!

10
TimB

UNIXでは、フォルダは特別なファイルです。

あなたが尋ねるときmv src dstmvファイルを取得srcそしてそれをdstに移動しようとします。現在、いくつかのルールが適用されます。それらは順番に取られ、最初に一致するものが適用されたものです:

  1. dstが存在しない場合は、宛先名になります(srcのタイプに関係なく)
  2. dstがすでに存在し、ディレクトリである場合、宛先名ではなくパスと見なされます。したがって、コマンドはmv src dst/srcおよびsrcが移動されますinsidedst(aの最終パスはdst/src
  3. dstがすでに存在し、ディレクトリではない場合、srcがディレクトリでない場合にのみ消去されます。
0
Steve Schnepp

mvも名前変更コマンドです。 1つのフォルダの名前を新しい名前に変更しています。

0
Rory