Quel est le meilleur moyen pour savoir le nom d'un fichier pointé par un lien ?
Par Flyounet le jeudi 27 mai 2010, 23:54 - Documentations - Lien permanent
Vaste question qui ne me semble reposer que sur 3 réponses :
- L'utilisation de
stat, - L'utilisation de
file, - L'utilisation de
readlink.
Utilisons stat :
fly@Capote:~/tmp$ stat /tmp/totoz File: `/tmp/totoz' -> `/tmp/pipo' Size: 40 Blocks: 0 IO Block: 4096 lien symbolique Device: 808h/2056d Inode: 3744 Links: 1 Access: (0777/lrwxrwxrwx) Uid: ( 1000/ fly) Gid: ( 1000/ fly) Access: 2010-05-27 23:42:00.590730266 +0200 Modify: 2010-05-26 23:34:46.978029853 +0200 Change: 2010-05-26 23:34:46.978029853 +0200
On constate que le nom du fichier pointé est indiqué en première ligne. Donc, la ligne suivante devrait suffire :
fly@Capote:~/tmp$ a="$(stat /tmp/totoz | head -1 | awk '{print $NF}')" ; echo ${a}
`/tmp/pipo'
C'est bien mais pas top avec les quotes, d'où l'astuce suivante :
fly@Capote:~/tmp$ i=${#a}; echo ${a:1:(($i-2))}
/tmp/pipo
Utilisons file :
fly@mst:~/tmp$ file /tmp/totoz /tmp/totoz: symbolic link to `/tmp/pipo'
On constate maintenant qu'une seule ligne est retournée, mais il y a toujours ce problème de quotes. Donc, on résout de la même manière :
fly@mst:~/tmp$ a="$(stat /tmp/totoz | awk '{print $NF}')" ; echo ${a}
`/tmp/pipo'
fly@mst:~/tmp$ i=${#a}; echo ${a:1:(($i-2))}
/tmp/pipo
Utilisons readlink :
fly@Capote:~/tmp$ readlink /tmp/totoz /tmp/pipo
Bon, ben voilà; finalement je le préfère ce petit readlink (et de loin)...
![[_DSC3572] 2008-07-19 12:57:43 Photo Flickr](http://farm4.static.flickr.com/3177/2694777269_2050cbf161_s.jpg)
![[_DSC3571] 2008-07-19 12:57:38 Photo Flickr](http://farm4.static.flickr.com/3219/2694774193_488a9e4231_s.jpg)
![[_DSC3570] 2008-07-19 12:57:36 Photo Flickr](http://farm4.static.flickr.com/3074/2694770993_94366f1328_s.jpg)
![[_DSC3569] 2008-07-19 12:57:35 Photo Flickr](http://farm4.static.flickr.com/3259/2694767807_b0580ae2f9_s.jpg)
![[_DSC3568] 2008-07-19 12:57:24 Photo Flickr](http://farm4.static.flickr.com/3054/2694764513_57c2dab87b_s.jpg)
![[_DSC3567] 2008-07-19 12:57:16 Photo Flickr](http://farm4.static.flickr.com/3182/2694760917_ba2c0ce457_s.jpg)
![[_DSC3566] 2008-07-19 12:57:11 Photo Flickr](http://farm4.static.flickr.com/3094/2695576302_7ba6787b98_s.jpg)
![[_DSC3565] 2008-07-19 12:57:04 Photo Flickr](http://farm4.static.flickr.com/3117/2695572594_0bf7757d27_s.jpg)
![[_DSC3564] 2008-07-19 12:56:55 Photo Flickr](http://farm4.static.flickr.com/3282/2694750469_4112585385_s.jpg)
![[_DSC3563] 2008-07-19 12:56:49 Photo Flickr](http://farm4.static.flickr.com/3257/2694747087_661ea293ec_s.jpg)