Je veux faire un lien ( ln -s
) tous les fichiers qui sont dans /mnt/usr/lib/
en /usr/lib/
Il y a beaucoup de fichiers, comment faire rapidement ? :)
Je veux faire un lien ( ln -s
) tous les fichiers qui sont dans /mnt/usr/lib/
en /usr/lib/
Il y a beaucoup de fichiers, comment faire rapidement ? :)
GNU cp
a une option pour créer des liens symboliques au lieu de copier.
cp -rs /mnt/usr/lib /usr/
Notez qu'il s'agit d'une extension GNU non trouvée dans POSIX cp
.
Les solutions affichées ne lieront aucun fichier caché. Pour les inclure, essayez ceci :
cd /usr/lib
find /mnt/usr/lib -maxdepth 1 -print "%P\n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done
Si vous souhaitez créer récursivement les répertoires et ne lier que les fichiers (de sorte que si vous créez un fichier dans un répertoire, il se trouve réellement dans le répertoire /usr/lib
no /mnt/usr/lib
), vous pourriez faire ceci :
cd /usr/lib
find /mnt/usr/lib -mindepth 1 -depth -type d -printf "%P\n" | while read dir; do mkdir -p "$dir"; done
find /mnt/usr/lib -type f -printf "%P\n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.