GNU/Linux >> Linux Esercitazione >  >> Linux

Come copiare i collegamenti simbolici?

cp --preserve=links

Dalla pagina man:

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

Personalmente, utilizzo cp -av per la maggior parte delle mie copie pesanti. In questo modo, posso conservare tutto, anche in modo ricorsivo, e vedere l'output. Ovviamente si tratta solo di preferenze personali.

Per quanto riguarda il motivo per cui le tue altre opzioni non hanno funzionato come ti aspettavi, -s crea un collegamento invece di copiare e -L segue i collegamenti nella fonte per trovare il file da copiare invece di copiare i collegamenti stessi.


Proprio come dice la pagina man, usa -P . Questa impostazione dice:

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

Se i collegamenti contengono percorsi relativi, la copia del collegamento non modificherà il percorso relativo.Usa readlink , con l'opzione -f da seguire in modo ricorsivo, per ottenere il percorso assoluto del collegamento. Ad esempio:

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

Se preservare i percorsi relativi è quello che vuoi, allora l'opzione -P di cp , come ha detto Ignacio Vazquez-Abrams, è ciò di cui hai bisogno.


Linux
  1. Come aggiornare un collegamento simbolico Linux

  2. Come creare collegamenti rigidi e simbolici in Linux

  3. Come copiare un database MySQL

  4. Comportamento di cd/bash sui collegamenti simbolici

  5. Come creare collegamenti simbolici a tutti i file (classe di file) in una directory?

Come rimuovere i collegamenti simbolici su Linux

Come creare collegamenti simbolici su Linux

Come copiare la directory su Linux

Che cosa sono i collegamenti simbolici in Linux? Come creare collegamenti simbolici?

Come ottenere un elenco di collegamenti simbolici su Linux

Come copiare un file in File Manager