Retrouver le nom du fichier vers lequel point un lien symbolique

Le
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) -
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #115376
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.

doug713705
Le #115375
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) -


Stephane Chazelas
Le #115373
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


Eric Jacoboni
Le #115372
Nicolas George
Elle est cependant disponible dans les GNU Coreutils.


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

YBM
Le #117922
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

Jacques «Grand-Cagnotte» Lavignotte
Le #117920
On 2007-11-07, YBM
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


YBM
Le #117173
:~$ readlink lien
destination

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


bien sûr, et ?

Publicité
Poster une réponse
Anonyme