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 ?
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 ?
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"))'
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
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 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.