cp -rとcp -R(コピーコマンド)の違い

cp -rとcp -R(コピーコマンド)の違い

cp -rファイルを再帰的にコピーし、cp -Rディレクトリを再帰的にコピーすることを意味します。しかし、確認してみると、両方ともファイルとディレクトリをコピーしているようです。では、実際の違いは何ですか?

答え1

-Rposixは明確に定義されていますが、移植性-rはありません!

Linuxでは、実装はGNUとBusyBoxで同じcpです。-r-R

一方、できるだけPOSIXcpアクションのマニュアルページ-rは次のとおりです。実装定義

    * If  neither  the  -R  nor  -r  options were specified, cp shall take
      actions based on the type and contents of the file referenced by the
      symbolic link, and not by the symbolic link itself.

    * If the -R option was specified:

       * If  none  of  the  options  -H,  -L, nor -P were specified, it is
         unspecified which of -H, -L, or -P will be used as a default.

       * If the -H option was specified, cp shall take  actions based on
         the type and contents of the file referenced by any symbolic link
         specified as a source_file operand.

       * If the -L option was specified, cp shall take  actions based  on
         the type and contents of the file referenced by any symbolic link
         specified as a source_file operand or any symbolic links encoun-
         tered during traversal of a file hierarchy.

       * If  the  -P option was specified, cp shall copy any symbolic link
         specified as a source_file operand and any symbolic links encoun-
         tered  during traversal of a file hierarchy, and shall not follow
         any symbolic links.

    * If the -r option was  specified,  the  behavior  is implementation-
      defined.

答え2

小文字は-r4.1BSDで導入された古いオプションで、ディレクトリ以外のすべてのエントリをファイルにコピーします。つまり、デバイスまたはFIFOに会うと、それを開いて内容を読み取り、ターゲットに内容を含むファイルを作成します。

大文字は、デバイス、FIFO、またはその他の特殊ファイルが見つかったときにターゲットに同等の特殊ファイルを生成する-R標準化されたオプションです(4.4BSDでBSDに導入されましたが、以前のバージョンでは同義語として使用されました)。-r

多くの実装は依然としてこれらの区別を維持していますが、一部(一般的なLinuxのLinux版を含む)は同義語でのみ意味を提供し-Rます-r

答え3

違いは、1つは小文字の「R」を使用し、もう1つは大文字の「R」を使用することです。他に違いはありません。長いオプションを使用しても--recursive同様です。

答え4

私が見つけた違いの1つは、-rは隠しディレクトリをコピーしないのに対し、-Rは隠されたディレクトリをコピーすることです。

ターゲットディレクトリで.gitディレクトリをテストしたところ、上記の結論に達しました。私は現在CentOSを使用しています。

私は間違っているかもしれませんが、議論の余地があります。

関連情報