cp -r
の違いを探していますcp -a
。フォルダからファイルをコピーするときに「再帰的」とはどういう意味ですか?
答え1
再帰とは、cp
ディレクトリの内容をコピーすることを意味し、ディレクトリにサブディレクトリがある場合、そのサブディレクトリも(再帰的に)コピーされます。そうでない場合、コマンド-R
はcp
ディレクトリをスキップします。-r
Linuxと同じです-R
が、他のUNIXバリアントの一部では異なります。
デフォルトでは、cp
新しいファイルは古いファイルと同じ内容と権限で作成されますが、次のことが適用されます。マスク;コピーはコピーした時点から作成され、コピーを作成したユーザーに属します。この-p
オプションを使用すると、コピーは元のものと同じ変更時間、アクセス時間、および権限を持ちます。コピーを実行しているユーザーにそのファイルを作成する権限がある場合、そのファイルも元のファイルと同じ所有者とグループを持ちます。
この-a
オプションは-R
、-p
その他の保存オプションを意味します。同じディレクトリツリー、同じファイルタイプ、同じコンテンツ、同じメタデータ(時間、権限、拡張属性など)など、できるだけ元に近いコピーを作成しようとしています。
答え2
「再帰的」-rまたは-Rオプションは、サブフォルダ内のファイルを含むすべてのファイルをコピーすることを意味します。
リストされている -a オプションは -dR と同じです。これはリンクを保存し、サブディレクトリの内容をコピーすることを意味します。リンクを維持することは、再帰的にコピーしてもリンクに従わないという意味です。
答え3
-r=-R
-a=-dR --preserve=all
-d=--no-dereference --preserve=links
それから:
-r=-R
-a=-R --no-dereference --preserve=links --preserve=all