0 votes

Supprimer le lien symbolique

Dans le terminal, j'ai fait un lien symbolique comme les suivantes :

ln -s ../../../../ jni/prod

Il symbolise les liens prod répertoire (qui est 4 niveaux au-dessus de l'emplacement actuel) à jni/prod .

J'aimerais insister sur le fait que ce symbole lie une répertoire PAS un fichier .

Maintenant, je veux supprimer ce lien symbolique, comment faire ?

2voto

Oskar Points 1242

Si vous ne savez pas où se trouve réellement un fichier, allez dans le répertoire attendu et utilisez la commande rm -i et s'abstenir d'ajouter un chemin - supprimer le fichier dans le répertoire actuel. De plus, sous Unix, tout est un fichier, y compris un répertoire. Vous avez la grâce d'essayer de supprimer un fichier qui ressemble à un répertoire, ce qui mettra en pause, à moins que vous ne supprimiez des fichiers de manière récursive.

Dans le pire des cas, vous pouvez utiliser ls -lai pour inspecter les numéros d'inodes afin de s'assurer qu'un fichier est réellement lié par symétrie et non par liaison dure.

Si cela ne vous aide pas, créez un répertoire temporaire et jouez avec les liens :

touch foo
ln foo bar       # hard link
ln -s foo baz    # sym link
ls -lai
rm foo
ls -lai

À ce stade, il vous reste le lien dur du fichier bar et un lien sym vers le fichier "foo" manquant. Puisque dans votre cas, le lien est dans un répertoire différent de celui de la cible, vous ne devriez pas avoir trop de problème à supprimer l'élément que vous souhaitez.

0voto

Giacomo1968 Points 5021

Un lien symbolique est un fichier même si le lien est vers un répertoire. Ainsi, si vous avez simplement fait un rm qui fera disparaître le lien :

rm jni/prod

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X