Aller au contenu principal

Liens symboliques

Les liens symboliques sous Linux

Notions théoriques

Les liens symboliques, ou "symlinks", sont des fichiers spéciaux qui pointent vers un autre fichier ou répertoire.

astuce

Les liens symboliques fonctionnent un peu comme des raccourcis sous Windows.

Pour créer un lien symbolique, nous utilisons la commande ln avec l'option -s :

ln -s cible lien
Exemple

ln -s /chemin/vers/fichier.txt lien.txt

crée un lien symbolique nommé lien.txt qui pointe vers fichier.txt.


attention
  • Supprimer un lien symbolique n'affecte pas le fichier cible.

  • Si la cible d'un lien symbolique est supprimée ou déplacée, le lien devient "cassé" et ne fonctionne plus.

Liens symboliques par défaut sous Debian

Voici 4 exemples de liens symboliques présents par défaut sur une installation Debian :

  1. /usr/bin/python -> /usr/bin/python3

    • Ce lien symbolique pointe vers la version par défaut de Python installée.
  2. /bin -> /usr/bin

    • Ce lien symbolique est utilisé pour simplifier l'arborescence des binaires.
  3. /lib -> /usr/lib

    • Ce lien symbolique est utilisé pour maintenir la compatibilité avec les anciennes conventions de répertoires.
  4. /etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf

    • Utilisé pour la configuration DNS.

Exemple pratique

Imaginons que vous ayez un fichier nommé original.txt dans /home/sio/ecole/.

Vous souhaitez créer un lien symbolique nommé lien.txt, dans /home/sio/, qui pointe vers ce fichier.

Voici comment procéder :

ln -s /home/sio/ecole/original.txt /home/sio/lien.txt

Ensuite, vous pouvez vérifier que lien.txt pointe vers original.txt en utilisant la commande ls -l :

ls -l /home/sio/lien.txt

L'affichage devrait indiquer que lien.txt pointe vers original.txt.



Test de mémorisation/compréhension


Quelle commande permet de créer un lien symbolique sous Linux ?


Que se passe-t-il si la cible d'un lien symbolique est supprimée ?


Comment vérifier vers quoi pointe un lien symbolique ?


Quelle est la différence entre un lien symbolique et un lien physique ?



TP pour réfléchir et résoudre des problèmes

Dans ce TP, vous allez créer un fichier nommé doc-portfolio.txt et un lien symbolique nommé doc-portfolio.txt qui pointe vers ce fichier.

Tout d'abord, placez vous dans votre répertoire personnel, créez un répertoire partage et placez vous dedans.

  1. Créez le fichier doc-portfolio.txt.

  2. Créez un lien symbolique nommé doc-portfolio.txt dans le répertoire /tmp qui pointe vers doc-portfolio.txt.

  3. Vérifiez vers quoi pointe doc-portfolio.txt.

  4. Supprimez le fichier doc-portfolio.txt.

  5. Vérifiez l'état du lien symbolique doc-portfolio.txt.

Une solution