GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kopiere ich symbolische Links?

cp --preserve=links

Aus der Manpage:

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

Ich persönlich verwende cp -av für die meisten meiner schweren Kopien. Auf diese Weise kann ich alles erhalten - sogar rekursiv - und die Ausgabe sehen. Das ist natürlich nur eine persönliche Präferenz.

Warum Ihre anderen Optionen nicht das getan haben, was Sie erwartet haben, -s macht stattdessen einen Link des Kopierens und -L folgt den Links in der Quelle, um die zu kopierende Datei zu finden, anstatt die Links selbst zu kopieren.


Verwenden Sie, wie in der Manpage angegeben, -P . Diese Einstellung sagt:

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

Wenn die Links relative Pfade enthalten, wird das Kopieren des Links den relativen Pfad nicht anpassen. Verwenden Sie readlink , mit dem Schalter -f rekursiv folgen, um den absoluten Pfad des Links zu erhalten. Zum Beispiel:

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

Wenn Sie die relativen Pfade beibehalten möchten, verwenden Sie die Option -P von cp , wie Ignacio Vazquez-Abrams sagte, ist das, was Sie brauchen.


Linux
  1. So aktualisieren Sie einen Linux-Symlink

  2. Verhalten von cd/bash bei symbolischen Links

  3. Wie erstellt man symbolische Links zu allen Dateien (Dateiklassen) in einem Verzeichnis?

  4. Wie kann man den Besitz von symbolischen Links ändern?

  5. Verwenden des Archiv-Flags von rsync, ohne symbolische Links zu kopieren

So entfernen Sie symbolische Links unter Linux

So erstellen Sie symbolische Links unter Linux

So kopieren Sie das Verzeichnis unter Linux

Was sind symbolische Links in Linux? Wie erstellt man symbolische Links?

So erhalten Sie eine Liste symbolischer Links unter Linux

So kopieren Sie eine Datei im Dateimanager