172 votes

Comment voir le chemin absolu complet d'un lien symbolique ?

Quand j'utilise ls -la symlinkName o stat symlinkName tout le chemin n'est pas affiché (par exemple ../../../one/two/file.txt )

Quelle est la commande linux qui révèle le chemin complet ?

294voto

sigmavirus24 Points 4768

realpath n'est pas disponible sur toutes les versions de linux, mais readlink devrait être.

readlink -f symlinkName

Ce qui précède devrait faire l'affaire.

Sinon, si vous n'avez pas installé l'un ou l'autre des éléments ci-dessus, vous pouvez procéder comme suit si vous avez installé python 2.6 (ou une version ultérieure)

python -c 'import os.path; print(os.path.realpath("symlinkName"))'

39voto

JosephH Points 3668

realpath <path to the symlink file> devrait faire l'affaire.

11voto

Rupam Points 143

Saveurs unix -> ll symLinkName

OSX -> readlink symLinkName

La différence est que la première méthode affiche le chemin du lien sym de manière clignotante et que la deuxième méthode ne fait que l'afficher sur la console.

4voto

user3467349 Points 1344

Vous pouvez utiliser awk avec un system appelez readlink pour obtenir l'équivalent d'un ls avec les chemins complets des liens symboliques. Par exemple :

ls | awk '{printf("%s ->", $1); system("readlink -f " $1)}'

Affichera par exemple

thin_repair ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_restore ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_rmap ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_trim ->/home/user/workspace/boot/usr/bin/pdata_tools
touch ->/home/user/workspace/boot/usr/bin/busybox
true ->/home/user/workspace/boot/usr/bin/busybox

4voto

Une autre façon de voir l'information est stat qui affichera plus d'informations. Commande stat ~/.ssh sur l'écran de ma machine

File: ‘/home/sumon/.ssh’ -> ‘/home/sumon/ssh-keys/.ssh.personal’
  Size: 34          Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d  Inode: 25297409    Links: 1
Access: (0777/lrwxrwxrwx)  Uid: ( 1000/   sumon)   Gid: ( 1000/   sumon)
Access: 2017-09-26 16:41:18.985423932 +0600
Modify: 2017-09-25 15:48:07.880104043 +0600
Change: 2017-09-25 15:48:07.880104043 +0600
 Birth: -

J'espère que cela pourra aider quelqu'un.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X