est-il possible de voir le contenu réel d'un lien symbolique?
Lorsque vous ne
cat some-symlink-to-some-real-file
il montre le contenu du fichier réel, pas ce qui est dans le lien symbolique lui-même. Est-il un moyen de voir ce qui est réellement en elle?
- Le langage de programmation qu'avez-vous été à vouloir faire cela?
- L'appel système sous-jacent est
readlink(2)
. Comme indiqué dans une des réponses, la commande à utiliser estreadlink(1)
sur certains systèmes (GNU et de la famille). Sur d'autres systèmes HP-UX, Solaris, AIX - la meilleure approche est susceptible d'êtrels -l
, mais être conscient des problèmes si le nom de chemin d'accès dans le lien contient des retours à la ligne ou d'autres caractères bizarres.
Vous devez vous connecter pour publier un commentaire.
La
ls -l
commande va vous montrer que:Ou la
readlink
commande:Donc, le lien symbolique
foo
points pour le chemin d'accès/etc/passwd
.ls
etreadlink
sont les deux applications distinctes.stat
ouls -di
.Vous pouvez appeler la
readlink(2)
fonction, qui aura lieu le reliées nom dans une mémoire tampon.À noter que le résultat a une longueur (stocké dans la valeur de retour) plutôt que d'être NUL terminée. Donc, si vous voulez l'utiliser comme une chaîne de caractères, ajouter un NUL de vous-même.
Plus de niveau supérieur/langages de script comme perl ou python, fournira un readlink wrapper qui convertit à l'habitude dans la langue appropriée type de chaîne, de sorte que vous ne serez pas dérangé par des détails tels que NUL de terminaison.
Quant à l'homme page http://man7.org/linux/man-pages/man7/symlink.7.html lien symbolique est un fichier régulier (avec drapeau spécial) avec le chemin d'accès à la cible de son contenu. De sorte que vous pouvez copier un lien symbolique pour les partitions FAT et lire du contenu.
Essayer