Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Retrouver le nom du fichier vers lequel point un lien symbolique

7 réponses
Avatar
doug713705
Bonjour à toutes, tous,

Existe t-il une commande shell (bash ou sh) qui permette de retrouver le nom
du fichier pointé par un lien symbolique ?

man ln ou ls ne m'a rien appris à ce sujet.

Aujourd'hui je fais ceci :
ls -l mon_lien_symbolique | awk -F " -> " '{print $2}'

Mais ça ne me semble pas très propre et je subodore l'existence d'une
commande plus simple.

Merci pour vos éclairages et/ou liens.
--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -

7 réponses

Avatar
Nicolas George
doug713705 wrote in message :
Existe t-il une commande shell (bash ou sh) qui permette de retrouver le nom
du fichier pointé par un lien symbolique ?


L'appel système correspondant s'appelle readlink. Il devrait normalement y
avoir une commande de même nom pour faire la même chose, mais il semblerait
que cette évidence soit passée au dessus de la tête des normalisateurs. Elle
est cependant disponible dans les GNU Coreutils.

Avatar
doug713705
Le dimanche 4 novembre 2007 21:22, Nicolas George s'est exprimé de la sorte
sur fr.comp.os.unix :

doug713705 wrote in message :
Existe t-il une commande shell (bash ou sh) qui permette de retrouver le
nom du fichier pointé par un lien symbolique ?


L'appel système correspondant s'appelle readlink. Il devrait normalement y
avoir une commande de même nom pour faire la même chose, mais il
semblerait que cette évidence soit passée au dessus de la tête des
normalisateurs. Elle est cependant disponible dans les GNU Coreutils.


Merci beaucoup.
--
[ Plus ou moins avec une chance de peut-être ]
- Pour me contacter, enlever nospam (2X) -


Avatar
Stephane Chazelas
2007-11-04, 20:22(+00), Nicolas George:
doug713705 wrote in message :
Existe t-il une commande shell (bash ou sh) qui permette de retrouver le nom
du fichier pointé par un lien symbolique ?


L'appel système correspondant s'appelle readlink. Il devrait normalement y
avoir une commande de même nom pour faire la même chose, mais il semblerait
que cette évidence soit passée au dessus de la tête des normalisateurs. Elle
est cependant disponible dans les GNU Coreutils.


Oui,

Sinon, beaucoup de systemes ont une commande "stat" qui permet
de faire ca, mais la syntaxe varie selon les systemes.

Il y a le zstat (anciennement stat) de zsh.

Il y a GNU find avec son -printf.

Sinon, ya toujours perl.

--
Stéphane


Avatar
Eric Jacoboni
Nicolas George <nicolas$ writes:

Elle est cependant disponible dans les GNU Coreutils.


Et dans les commandes BSD, et dans les principaux langages de script.

Avatar
YBM
Bonjour à toutes, tous,

Existe t-il une commande shell (bash ou sh) qui permette de retrouver le nom
du fichier pointé par un lien symbolique ?

man ln ou ls ne m'a rien appris à ce sujet.

Aujourd'hui je fais ceci :
ls -l mon_lien_symbolique | awk -F " -> " '{print $2}'

Mais ça ne me semble pas très propre et je subodore l'existence d'une
commande plus simple.


readlink mon_lien_symbolique

Avatar
Jacques «Grand-Cagnotte» Lavignotte
On 2007-11-07, YBM wrote:

Existe t-il une commande shell (bash ou sh) qui permette de retrouver le nom
du fichier pointé par un lien symbolique ?



:~$ touch destination
:~$ ln -s destination lien

:~$ readlink lien
destination

:~$ rm destination

:~$ readlink lien
destination

:~$ file lien
lien: broken symbolic link to `destination'


Jacques


Avatar
YBM
:~$ readlink lien
destination

:~$ file lien
lien: broken symbolic link to `destination'


bien sûr, et ?