Quand tu fais
cat some-symlink-to-some-real-file
il montre le contenu du vrai fichier, pas ce qui se trouve dans le lien symbolique lui-même. Existe-t-il un moyen de voir ce qu'il contient réellement?
Le ls -l
la commande vous montrera que:
$ ls -l foo
lrwxrwxrwx 1 user group 11 2010-12-31 19:49 foo -> /etc/passwd
Ou la commande readlink
:
$ readlink foo
/etc/passwd
Ainsi, le lien symbolique foo
pointe vers le chemin /etc/passwd
.
Vous pouvez appeler la fonction readlink(2)
, qui placera le nom lié dans un tampon.
Notez que le résultat a une longueur (stocké dans la valeur de retour) plutôt que d'être terminé par NUL. Donc, si vous souhaitez l'utiliser comme chaîne, ajoutez vous-même un NUL.
La plupart des langages de script/niveau supérieur, tels que Perl ou python, fourniront un wrapper de lien de lecture qui se convertit au type de chaîne approprié au langage, de sorte que vous ne serez pas dérangé par des détails tels que la terminaison NUL.
En ce qui concerne la page de manuel http://man7.org/linux/man-pages/man7/symlink.7.html le lien symbolique est un fichier normal (avec un drapeau spécial) avec un chemin vers la cible dans son contenu. Vous pouvez donc copier le lien symbolique vers la partition FAT et y lire le contenu.
Essayer
find . -type l -exec ls -la {} \;