Modes de paiement Abuse

Suppression des liens sous Linux

10.04.2022, 01:05

Sous Linux, un lien est un fichier spécial qui renvoie à un autre fichier ou répertoire. De cette manière, un fichier peut être placé à plusieurs endroits à la fois. Lorsque le fichier original est supprimé, le lien est conservé. Cela peut entraîner des pannes et encombrer le système.

Comment supprimer un lien

Pour commencer, expliquons la méthode qui permet de vérifier que le fichier est bien un lien. Cela se fait facilement à l'aide de l'utilitaire ls. Ensuite, nous examinerons trois méthodes de suppression, chacune ayant ses propres particularités.

Vérifier qu'il s'agit bien d'un lien

L'utilitaire ls permet d'obtenir des informations sur le fichier. Pour utiliser l'utilitaire, donnez-lui l'option -l et spécifiez le chemin d'accès. Prenons par exemple le fichier ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Suppression des liens sous Linux

Vous pouvez vérifier la présence de liens dans un catalogue entier :

$ ls -l ~/symlin

Suppression des liens sous Linux

Un fichier dont on n'a pas besoin est marqué d'une flèche caractéristique après son nom.

Utilisation de Rm

La commande rm peut être utilisée pour supprimer n'importe quel fichier du système de fichiers Linux, y compris les liens. Elle convient donc à notre tâche. Il est important de mentionner ici que le fichier ou le répertoire d'origine ne sera pas affecté par la suppression du lien.

Dans le terminal, exécutez la commande :

$ rm ~/symlinks/link_1

Suppression des liens sous Linux

Pour obtenir des informations détaillées sur la procédure, ajoutez l'option -v à la commande :

$ rm -v ~/symlinks/link_1

Suppression des liens sous Linux

En outre, vous pouvez vérifier si le lien a disparu du répertoire. Pour ce faire, utilisez la commande ls décrite précédemment.

Suppression des liens sous Linux

Vous savez maintenant comment supprimer un lien symbolique Linux.

Utilisation de UNLINK

L'utilitaire unlink est conçu pour supprimer des fichiers du système de fichiers Linux. Il suffit de spécifier le chemin d'accès au lien :

$ unlink ~/symlinks/link_1

Suppression des liens sous Linux

Dans le cadre de la tâche à accomplir, rm et unlink fonctionnent presque de la même manière. Passons maintenant à la dernière méthode.

Utiliser Find

La commande find permet de rechercher et de supprimer des liens dans un répertoire donné. Cela signifie que vous n'avez pas besoin d'utiliser ls en plus.

Suppression des liens sous Linux

Contrairement aux deux options précédentes, elle dispose de fonctionnalités assez avancées, par exemple la définition de critères de recherche. Mais la syntaxe n'est pas si simple pour cette raison non plus.

Pour effectuer une recherche, vous devez spécifier un répertoire et quelques paramètres :

$ find ~/symlinks/ -type l -print

Suppression des liens sous Linux

Le paramètre -type l est nécessaire pour sélectionner uniquement les liens symboliques, -print pour afficher le nom complet. Et avec l'aide de -maxdepth vous pouvez spécifier la profondeur de la recherche par répertoires imbriqués. Si vous spécifiez 1, la recherche sera effectuée uniquement sur le répertoire lui-même, sans les pièces jointes :

$ find ~/symlinks/ -maxdepth 1 -type l -print

Suppression des liens sous Linux

Lorsque le répertoire contient de nombreux liens, vous pouvez spécifier un modèle de recherche pour la commande find. Prenons l'exemple d'une situation où nous voulons trouver uniquement les liens cachés dont la date de dernière modification ne remonte pas à plus de 30 jours :

$ find ~/data/ -type l -name ".*" -mtime -30 -print

Suppression des liens sous Linux

Deux critères ont été ajoutés :

  • -nom - recherche par nom.
  • -mtime - recherche par heure de modification.

Tous les liens trouvés peuvent être supprimés selon le modèle spécifié. Pour ce faire, -print est remplacé par -delete:

$ find ~/data/ -type l -name ".*" -mtime -30 -delete

Suppression des liens sous Linux

À la fin de l'instruction, nous allons nous occuper de la recherche et de la suppression des liens brisés qui ne mènent nulle part, par exemple, après avoir supprimé le fichier ou le répertoire d'origine. Le paramètre -xtype l convient à cet effet, et -print n'est pas nécessaire pour la sortie :

$ find ~/broken_links/ -xtype l

Suppression des liens sous Linux

Par conséquent, tous les liens brisés seront affichés dans le terminal. Pour les supprimer, ajoutez -delete à la fin de la commande :

$ find ~/broken_links/ -xtype l -delete

Suppression des liens sous Linux

Ceci complète les instructions pour la suppression d'un lien sous Linux.