Warning: Parameter 1 to behaviorsPagesStatiques::addTplPath() expected to be a reference, value given in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php on line 304

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/public/lib.urlhandlers.php on line 85

Warning: Cannot modify header information - headers already sent by (output started at /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/core/class.dc.core.php:304) in /home/flyounet/dev.flyou.net/dotclear-2.2.3/inc/libs/clearbricks/common/lib.http.php on line 273
Tag - ssh - Flyou.net [Dev] : Développements

Aller au contenu | Aller au menu | Aller à la recherche

Flyou.net [Dev] : Développements

jeudi 27 mai 2010

Quel est le meilleur moyen pour savoir le nom d'un fichier pointé par un lien ?

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)...

dimanche 30 mars 2008

Améliorer son utilisation de SSH (client)

Comme beaucoup de monde, j'utilise énormément SSH et j'ai régulièrement quatre à cinq connexions vers la même machine. Que ce soit avec différents terminaux ou en utilisant GNU Screen le résultat est toujours le même plusieurs connexions réseau.

Lire la suite...