Un lien symbolique, également appelé lien symbolique, est un type spécial de fichier qui pointe vers un autre fichier ou répertoire. C'est quelque chose comme un raccourci dans Windows. Un lien symbolique peut pointer vers un fichier ou un répertoire sur le même système de fichiers ou sur une autre partition.
Dans ce guide, nous allons vous montrer comment supprimer (supprimer) des liens symboliques dans les systèmes Linux/UNIX en utilisant le rm , unlink , et find commandes.
Avant de commencer #
Pour supprimer un lien symbolique, vous devez disposer des droits d'écriture sur le répertoire contenant le lien symbolique. Sinon, vous obtiendrez l'erreur "Opération non autorisée".
Lorsque vous supprimez un lien symbolique, le fichier vers lequel il pointe n'est pas affecté.
Utilisez le ls -l commande pour vérifier si un fichier donné est un lien symbolique et pour trouver le fichier ou le répertoire vers lequel pointe le lien symbolique.
ls -l /usr/bin/python lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7
Le premier caractère "l" indique que le fichier est un lien symbolique. Le symbole "->" indique le fichier vers lequel pointe le lien symbolique.
Supprimer les liens symboliques avec rm #
Le rm La commande supprime les fichiers et répertoires donnés.
Pour supprimer un lien symbolique, invoquez le rm commande suivie du nom du lien symbolique en argument :
rm symlink_name En cas de succès, la commande se termine avec zéro et n'affiche aucune sortie.
Avec rm vous pouvez supprimer plusieurs liens symboliques à la fois. Pour ce faire, passez les noms des liens symboliques en arguments, séparés par un espace :
rm symlink1 symlink2
Pour être invité avant de supprimer le lien symbolique, utilisez le -i choix :
rm -i symlink_name
Pour confirmer tapez y et appuyez sur Enter .
rm: remove symbolic link 'symlink_name'?
Si le lien symbolique pointe vers un répertoire, ne pas ajouter le / barre oblique à la fin. Sinon, vous obtiendrez une erreur :
rm symlink_to_dir/ rm: cannot remove 'symlink_to_dir/': Is a directory
Si le nom de l'argument se termine par / , le rm La commande suppose que le fichier est un répertoire. L'erreur se produit car, lorsqu'il est utilisé sans le -d ou -r option, rm ne peut pas supprimer les répertoires.
Par mesure de sécurité, ne jamais -r option lors de la suppression des liens symboliques avec rm . Par exemple, si vous tapez :
rm -f symlink_to_dir/ Le contenu du répertoire cible sera supprimé.
Supprimer les liens symboliques avec unlink #
Le unlink La commande supprime un fichier donné. Contrairement à rm , unlink n'accepte qu'un seul argument.
Pour supprimer un lien symbolique, exécutez la commande unlink commande suivie du nom du lien symbolique comme argument :
unlink symlink_name Si la commande s'exécute avec succès, elle n'affiche aucune sortie.
Ne pas ajouter le / barre oblique à la fin du nom du lien symbolique car unlink ne peut pas supprimer les répertoires.
Rechercher et supprimer les liens symboliques brisés #
Si vous supprimez ou déplacez le fichier source vers un autre emplacement, le fichier symbolique restera en suspens (cassé).
Pour trouver tous les liens symboliques rompus sous un répertoire donné, exécutez la commande suivante :
find /path/to/directory -xtype l /path/to/directory/symlink1
/path/to/directory/subdir/symlink2
La commande listera tous les liens rompus sous le répertoire et ses sous-répertoires.
Si vous souhaitez exclure les liens symboliques contenus dans les sous-répertoires, passez le -maxdepth 1 option pour find :
find /path/to/directory -maxdepth 1 -xtype l /path/to/directory/symlink1
Une fois que vous avez trouvé les liens symboliques cassés, vous pouvez soit les supprimer manuellement avec rm ou unlink ou utilisez le -delete option de find commande :
find /path/to/directory -xtype l -delete Conclusion #
Pour supprimer un lien symbolique, utilisez soit le rm ou unlink commande suivie du nom du lien symbolique comme argument. Lorsque vous supprimez un lien symbolique pointant vers un répertoire, n'ajoutez pas de barre oblique à la fin du nom du lien symbolique.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.