Maison  >  Article  >  Tutoriel système  >  Comment supprimer les liens symboliques dans le système Linux

Comment supprimer les liens symboliques dans le système Linux

WBOY
WBOYavant
2024-02-11 15:00:14920parcourir

Dans les systèmes Linux, les liens symboliques (liens symboliques, ou liens symboliques en abrégé) sont également appelés liens symboliques. Il s'agit d'un type spécial de fichier utilisé comme raccourci vers un autre fichier.

Nous pouvons utiliser la commande ln pour créer des liens symboliques. Alors comment le supprimer ? Il n'existe pas de commande spécifiquement pour supprimer les liens symboliques dans les systèmes Linux, mais nous pouvons utiliser la commande rm pour le supprimer. La commande rm est principalement utilisée pour supprimer des fichiers et des répertoires.

rm symbolic_link_name

Bien sûr, vous pouvez également utiliser la commande Unlink, mais n'utilisez pas directement le nom du lien symbolique, car il n'est pas seulement utilisé pour supprimer le lien, mais supprime également le fichier.

unlink symbolic_link_name

Regardons de plus près ci-dessous.

Utilisez la commande rm pour supprimer les liens symboliques

Fournissez le nom du chemin du lien après la commande rm :

rm name_or_path_of_link

Regardons un exemple spécifique. La commande suivante répertorie les fichiers dans le chemin actuel :

$ ls -l
total 4708
-rw-rw-r-- 1 abhishek abhishek 4794657 Sep 27 20:36 export.json
-rw-rw-r-- 1 abhishek abhishek     311 Sep 22 12:19 line.txt
lrwxrwxrwx 1 abhishek abhishek      26 Oct 17 11:24 mylink -> ./Documents/sample-mark.md
-rw-rw-r-- 1 abhishek abhishek     106 Sep 27 20:39 redirects.json
-rw-r--r-- 1 abhishek abhishek   12817 Sep 22 12:28 sample.txt

Mon lien dans la liste ci-dessus est un lien symbolique. Vous pouvez voir qu'il commence par l (indiquant un lien) et que le nom indique le fichier vers lequel il pointe.

Nous utilisons rm pour le supprimer et vérifier :

$ rm mylink 
$ ls -l
total 4708
-rw-rw-r-- 1 abhishek abhishek 4794657 Sep 27 20:36 export.json
-rw-rw-r-- 1 abhishek abhishek     311 Sep 22 12:19 line.txt
-rw-rw-r-- 1 abhishek abhishek     106 Sep 27 20:39 redirects.json
-rw-r--r-- 1 abhishek abhishek   12817 Sep 22 12:28 sample.txt

Comme le montre l'image ci-dessous, le fichier source existe toujours :

Linux 系统中如何删除软连接

Supprimer plusieurs liens

Vous pouvez utiliser la commande rm pour supprimer plusieurs liens symboliques à la fois :

rm symlink1 symlink2 symlink3

Utilisez la commande Unlink pour supprimer les liens symboliques

Une autre façon de supprimer les liens symboliques consiste à utiliser la commande Unlink. Cette commande peut sembler utilisée uniquement pour supprimer des liens, mais elle peut également supprimer des fichiers. Comment utiliser :

unlink name_or_path_of_link

Nous utilisons l'exemple ci-dessus, comme indiqué ci-dessous :

Linux 系统中如何删除软连接

unlink ne peut pas supprimer plusieurs liens à la fois.

Supprimer les liens symboliques vers les répertoires

Nous pouvons créer des liens symboliques vers des fichiers, et nous pouvons également créer des liens symboliques vers des répertoires. La suppression d'un répertoire nécessite l'option -r, mais la suppression d'un lien vers un répertoire ne nécessite pas l'option -r.

L'utilisation revient à supprimer des liens de fichiers :

rm name_or_path_to_link_to_dir

Lors de la suppression d'un lien symbolique pointant vers un répertoire, n'ajoutez pas de barre oblique à la fin du répertoire, sinon une erreur sera signalée :

$ rm link_to_dir/
rm: cannot remove 'link_to_dir/': Is a directory

L'image ci-dessous est un exemple de suppression d'un lien logiciel d'annuaire :

Linux 系统中如何删除软连接

Remarque, essayez de ne pas utiliser l'option -f pour forcer la suppression des liens vers des répertoires, car cela supprimerait le contenu du répertoire. Comme le montre l'image ci-dessous :

Linux 系统中如何删除软连接

Supprimer le lien physique

Contrairement aux liens symboliques, les liens physiques sont presque impossibles à distinguer du fichier original, vous ne pouvez le remarquer que par le numéro d'inode.

Regardez l'exemple ci-dessous :

$ ls -li
total 4716
 544057 -rw-rw-r-- 1 abhishek abhishek 4794657 Sep 27 20:36 export.json
 544884 -rw-rw-r-- 2 abhishek abhishek     311 Sep 22 12:19 hard_link
 544884 -rw-rw-r-- 2 abhishek abhishek     311 Sep 22 12:19 line.txt
1181365 drwxrwxr-x 2 abhishek abhishek    4096 Oct 17 12:33 my_dir
 546419 -rw-rw-r-- 1 abhishek abhishek     106 Sep 27 20:39 redirects.json

Supprimer un lien physique équivaut à supprimer un fichier :

rm path_or_name_of_hard_link

Que se passe-t-il si vous supprimez le fichier lié ?

En fait, il n'existe presque aucun scénario ni exigence pour supprimer le fichier d'origine lors de la suppression du lien logiciel. Bien sûr, s'il y en a un, vous pouvez retrouver le fichier original via le lien symbolique et le supprimer.

rm "$(readlink '/path/to/link')" /path/to/link

Notez que si vous supprimez le fichier source mais ne supprimez pas le lien symbolique, le lien deviendra un lien rompu ou suspendu.

Bien que la commande unlink existe, je recommande d'utiliser la commande rm pour supprimer les liens symboliques. Comme il s’agit d’une commande que nous connaissons tous, nous l’utilisons souvent pour supprimer des fichiers. Bien entendu, elle peut également être utilisée pour supprimer des liens symboliques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer