Que signifie le symbole @ à la fin d’un object partagé?

J’utilise Ubuntu et quand je liste les bibliothèques sous / usr / lib /, je vois que certaines d’entre elles ont des chiffres et / ou un symbole @ à la fin. Par exemple libgc.so.1 @ ou libgettextlib.so @ Quelqu’un sait-il ce que cela signifie?

La commande ls essaie de vous donner des indications sur la nature des noms qu’elle liste, en fonction de la version de ls et des options que vous lui donnez.

Par exemple, un trailing / est parfois ajouté pour signifier que l’object est un répertoire. Un @ signifie que c’est un lien symbolique. ls -l vous montrera le fichier référencé.

Qu’est-ce qu’un lien symbolique? Un lien symbolique est un fichier dont le contenu n’est pas des données que vous pouvez utiliser librement, mais le nom d’un autre fichier. Ainsi, lorsque vous essayez de manipuler le lien symbolique, le système manipule le fichier auquel il fait référence. Ceci est une indirection. Il existe également des liens légèrement plus intégrés et invisibles pour vous, un peu comme un alias.

Voici comment expérimenter

 $ touch foo $ ln -s foo bar $ ls -l foo bar lrwxr-xr-x 1 yunes wheel 3 16 jan 10:45 bar -> foo -rw-r--r-- 1 yunes wheel 0 16 jan 10:45 foo 

Cela signifie que foo est un fichier (vide en fait), et que bar n’est pas un fichier normal mais un nom qui pointe vers foo . À présent:

 $ echo "hello" >> foo $ cat foo hello $ cat bar hello $ 

Cela pour vous montrer que l’utilisation de foo ou bar est presque la même chose …