Linuxでリンクとそのターゲットを含むディレクトリをコピーする

Linuxでリンクとそのターゲットを含むディレクトリをコピーする

私はディレクトリを持っています:

/home/username1/dir_1

このディレクトリには、フォルダ_1とフォルダ_2という2つのフォルダがあります。フォルダ_2には、フォルダ_1にあるファイルへのリンクがあります。

これで、dir_1を/home/username2/dir_2にコピーし、新しいフォルダ_2のリンクが新しいフォルダ_1のファイルを指す必要があります。したがって、新しいディレクトリ/home/username1/dir_1は、古いディレクトリ/home/username2/dir_2から完全に独立しています。

それは可能ですか?

答え1

はい、あなたの質問に実際に依存関係が何であるかについての混合情報があると仮定すると(最後にdir_1とdir_2を混在させたと仮定します)、rsync(1)はそれを行います。

rsync -r -l /home/username1/dir_1/ /home/username1/dir_2/

対応するスイッチは

-l, --links                 copy symlinks as symlinks
-r, --recursive             recurse into directories

または、次-aの方法を使用して最も簡単なオプションを選択できます。-l-r

rsync -a /home/username1/dir_1/ /home/username1/dir_2/

関連情報