j'ai un dossier avec des liens symboliques:
marek@marek$ ls -al /usr/share/solr/
razem 36
drwxr-xr-x 5 root root 4096 2010-11-30 08:25 .
drwxr-xr-x 358 root root 12288 2010-11-26 12:25 ..
drwxr-xr-x 3 root root 4096 2010-11-24 14:29 admin
lrwxrwxrwx 1 root root 14 2010-11-24 14:29 conf -> /etc/solr/conf
je veux le copier dans ~/solrTest mais je veux aussi copier des fichiers de symlink
quand j'essaie de cp -r /usr/share/solr/ ~/solrTest
je vais avoir un lien symbolique ici:
marek@marek$ ls -al ~/solrTest
razem 36
drwxr-xr-x 5 root root 4096 2010-11-30 08:25 .
drwxr-xr-x 358 root root 12288 2010-11-26 12:25 ..
drwxr-xr-x 3 root root 4096 2010-11-24 14:29 admin
lrwxrwxrwx 1 root root 14 2010-11-24 14:29 conf -> /etc/solr/conf
cp -Lr /usr/share/solr/ ~/solrTest
Consultez la page man
pour les commandes unix avec man cp
-L, --dereference
always follow symbolic links in SOURCE
De la page de manuel:
‘-L’, ‘- déréférence’ - Suivez les liens symboliques lors de leur copie. Avec cette option, cp ne peut pas créer de lien symbolique. Par exemple, un lien symbolique (vers un fichier normal) dans l'arborescence source sera copié dans un fichier normal dans l'arborescence de destination.
C'est donc l'option que vous devriez essayer.
cp -r -L /usr/share/solr/ ~/solrTest
Depuis la page de manuel cp(1)
:
-L, --dereference always follow symbolic links in SOURCE
Une solution rapide consiste à:
$ mkdir dest_dir
$ cp symlink_dir/* dest_dir/
l'inconvénient est que vous devez d'abord créer le répertoire de destination