GNU/Linux >> Linux の 問題 >  >> Linux

シンボリックリンクをコピーするには?

cp --preserve=links

マニュアルページから:

   --preserve[=ATTR_LIST]
          preserve  the   specified   attributes   (default:   mode,owner-
          ship,timestamps),  if  possible  additional attributes: context,
          links, xattr, all

個人的には cp -av を使っています 私の重いコピーのほとんどのために。そうすれば、再帰的にもすべてを保存して、出力を確認できます。もちろん、それは個人的な好みです.

他のオプションが期待どおりに機能しなかった理由については、 -s 代わりにリンクを作成します コピーと -L の リンク自体をコピーする代わりに、ソース内のリンクをたどってコピーするファイルを見つけます。


マニュアルページにあるように、 -P を使用してください .この設定の内容:

-P, --no-dereference
       never follow symbolic links in SOURCE

リンクに相対パスが含まれている場合、リンクをコピーしても相対パスは調整されません。readlink を使用してください。 、スイッチ -f を使用 リンクの絶対パスを取得するために、再帰的にたどります。例:

ln -s $(readlink -f old/dir/oldlink) new/dir/newlink

相対パスを保持したい場合は、オプション -P よりも cp の 、Ignacio Vazquez-Abrams が言ったように、必要なものです。


Linux
  1. MySQLデータベースをコピーする方法

  2. ディレクトリ内のすべてのファイル (ファイルのクラス) へのシンボリック リンクを作成する方法は?

  3. シンボリック リンクのレベルが多すぎます

  1. Linuxシンボリックリンクを更新する方法

  2. ファイルをトランザクション的にコピーする方法は?

  3. シンボリック リンクをコピーせずに rsync のアーカイブ フラグを使用する

  1. Linuxでハードリンクとシンボリックリンクを作成する方法

  2. シンボリック リンクでの cd/bash の動作

  3. シンボリックリンクから所有権を変更するには?