web-dev-qa-db-ja.com

cp -rとcp -aの違い

cp -rcp -aの違いを探しています。フォルダからファイルをコピーすることに関して「再帰的」とはどういう意味ですか?

197
Randy

再帰的とは、cpがディレクトリの内容をコピーし、ディレクトリにサブディレクトリがある場合は、それらも(再帰的に)コピーされることを意味します。 -Rがない場合、cpコマンドはディレクトリをスキップします。 Linuxの-r-Rと同じですが、他の一部のUNIXバリアントではEdgeのケースが異なります。

デフォルトでは、cpは、古いファイルと同じコンテンツと同じ権限を持つ新しいファイルを作成しますが、 mask によって制限されます。コピーは、コピーの日付から日付が付けられ、コピーを実行するユーザーに属します。 -pオプションを使用すると、コピーは元のファイルと同じ変更時間、同じアクセス時間、同じ権限を持ちます。また、コピーを行うユーザーがそのようなファイルを作成する権限を持っている場合は、オリジナルと同じ所有者とグループを持っています。

-aオプションは、-R-pに加えて、その他のいくつかの保存オプションを意味します。同じディレクトリツリー、同じファイルタイプ、同じコンテンツ、同じメタデータ(時間、権限、拡張属性など)で、できるだけオリジナルに近いコピーを作成しようとします。

「再帰的」の-rまたは-Rオプションは、サブフォルダー内のファイルを含むすべてのファイルをコピーすることを意味します。

リストされている-aオプションは、-dRと同じです。つまり、リンクを保持し、サブディレクトリの内容をコピーします。リンクを保持するとは、再帰的にコピーしているためリンクをたどらないということです。

21
Joe