web-dev-qa-db-ja.com

シンボリックリンクをコピーするにはどうすればよいですか?

1つのディレクトリにあるファイルへのシンボリックリンクがあります。同じリンクを別のディレクトリに配置したいのですが。シンボリックリンクをコピーするにはどうすればよいですか?

シンボリックリンクをcpしようとしましたが、これにより、シンボリックリンク自体ではなく、それが指すファイルがコピーされます。

45
User

cp -P(大文字のP)を使用して、シンボリックリンクをトラバースせず、代わりにシンボリックリンクをコピーします。

これを-Rなどの他のオプションと組み合わせて、ディレクトリ階層をコピーできます。cp -RLはすべてのシンボリックリンクをディレクトリに移動し、cp -RPはすべてのシンボリックリンクをコピーします。 cp -Rは、UNIXのバリアントに応じて、どちらか一方を実行する場合があります。 GNU cp(CentOSで検出)のデフォルトは-Pです。

-Pを使用しても、末尾に/を追加することで、シンボリックリンクのターゲットをコマンドラインでディレクトリにコピーできます。cp -RP foo/ barは、ディレクトリツリーをコピーしてfoo に指差す。

GNU cpには、-a-R-Pなどを組み合わせた便利な-pオプションがあります。ソースの正確なコピーを(可能な限り)作成し、ディレクトリ階層、シンボリックリンク、アクセス許可、変更時間、およびその他のメタデータを保持します。

この回答を確認してください https://superuser.com/a/315757/5359 特にCentOSが問題を引き受けているかどうか。質問全体が役立つかもしれませんが、一番下のビットは具体的にはCentOSです。

1
Simon Hoare