Liens symboliques/physiques et alias

To the non-french speaker, note that you can translate the articles using the Google Trad widget situated at the bottom of all pages.


Qui n’a jamais connu les galères de devoir entrer des lignes de commande à rallonge, de se tromper sur un mot clé et de devoir tout recommencer ? Moi ça m’arrive souvent du coup j’en ai eu marre et c’est à ce moment là que j’ai découvert les liens et les alias !

Du coup dans cet article on verra comment créer des liens entre les fichiers et comment utiliser les alias pour nous faciliter la vie.

I/ Les liens

Sous Linux et Unix chaque fichier est associé à un nom ainsi qu’à un inode. Un inode c’est en fait une structure de données contenant des informations sur un fichier. Chaque fichier est donc lié à un inode tout comme chaque français est lié à un numéro d’identification nationale.

Ces inodes, selon les distributions, peuvent aussi contenir d’autres informations telles que le nom du créateur du fichier ou encore les droits attribués au fichier.

Si vous voulez afficher l’inode d’un fichier il suffit de lancer cette commande :

ls -i "votrefichier"

inode

Cet inode est unique dans le système de fichier et il va avoir toute son importance avec les liens ! Il existe deux types de lien : physique et symbolique. Ces deux types de lien font la même chose mais pas de la même façon 😏 !

  • Lien physique :

Le premier type de lien c’est le lien physique. Quand on crée un lien physique en fait on va juste créer un fichier doublon qui pointe sur le même inode (et donc qui a le même propriétaire et les mêmes droits).

physique.png

Pour créer un lien physique, c’est tout simple :

sudo ln "monfichier" "nomdulien"

lienhysique.png

Maintenant si je regarde les inodes de mon lien et de mon fichier on retrouvera la même valeur :

memeinode.png

Du coup si on supprime le fichier d’origine bah c’est pas grave puisqu’on pourra toujours accéder à son contenu grâce au lien. C’est la seule utilité du lien physique et je ne vais pas vous mentir : j’ai jamais vu quelqu’un s’en servir… 🤣

  • Lien symbolique :

Les liens symboliques, eux, fonctionnent différemment dans le sens où ils ne vont pas pointer sur l’inode mais directement sur le fichier dont on veut créer le lien :

lien symbolique.png

Problème, si on supprime le fichier bah le lien pointera sur rien du tout. On dit que le lien est cassé et par conséquent inutilisable.

Pour créer un lien symbolique on utilise la commande suivante :

sudo ln -s "nomdufichier" "nomdulien"

Le lien symbolique et le fichier n’ont pas le même inode :

liensinode.png

Et pour les plus curieux, sachez qu’en fait dans un fichier de type lien symbolique on trouve seulement le nom du fichier sur lequel pointe le lien ainsi qu’un petit flag qui indique au système qu’il ne doit pas ouvrir le lien mais le fichier pointé par le lien.

Passons aux alias qui, pour le coup, sont beaucoup plus intéressants !

II/ Les alias

L’alias va nous permettre de créer une commande qui exécutera une autre commande plus longue et pénible à retenir. Imaginez que vous voulez lister l’ensemble des comptes utilisateurs sur votre machine. Une des commandes qui vous permettra d’afficher cette liste est :

cat /etc/passwd | cut -f1 -d:

Ca fonctionnera bien mais c’est long à taper ! Ca serait intéressant de pouvoir raccourcir cette commande. Et c’est là que l’alias intervient. Si j’exécute cette commande :

alias lusers="cat /etc/passwd | cut -f1 -d:"

Et qu’ensuite j’exécute la commande lusers, j’obtiendrai ceci :

alias.png

C’est donc vachement pratique puisque ça permet de stocker des commandes longues et compliquer dans d’autres commandes beaucoup plus simple à retenir !

Pour lister l’ensemble des alias que vous avez crée il suffit d’entrer la commande « alias » :

aliasliste.png

Et pour supprimer un alias il suffit d’entrer cette commande :

unalias "nomdevotralias"

unalias.png

Attention cependant, les alias ne seront plus utilisables quand vous relancerez votre terminal. Pour que les alias soient permanents, il faut les stocker dans le fichier de configuration de votre terminal. Pour ma part j’utilise bash, donc il faudra que j’édite le fichier .bashrc situé à la racine de mon home.

Notez que vous pourrez aussi créer le fichier bash_aliases et stocker vos alias dedans :

exemple.png


Ce court est article est terminé j’espère qu’il vous aura été utile. SI vous avez des questions je vous invite à me contacter et à like ma page Facebook sur laquelle vous trouverez toute mon actualité (nouveaux articles, veille technologique etc…)

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s