Liens symboliques

Sommaire

Index

Introduction

Le lien symbolique est un raccourci au niveau du système de fichier.

Il permet de définir un fichier fictif pointant vers un fichier situé dans un autre emplacement du système de fichiers.

Gestion des liens symboliques

Création

La création se fait via la commande ln -s.

ln -s cibleDuLien [nomDuLien]

Le nom du lien, s’il est omis, sera le nom du fichier :

Exemples

Création dans le même répertoire

echo Je suis la cible > cible
ln -s cible lien

Affichage du lien avec la commande ls -l :

$ ls -l
total 4
-rw-r--r-- 1 laurent laurent 17 janv. 20 14:29 cible
lrwxrwxrwx 1 laurent laurent  5 janv. 20 14:29 lien -> cible

L’affichage du contenu du lien sera le même que le contenu du fichier :

$ cat lien
Je suis la cible

Création dans un dossier différent

echo Je suis la cible > cible
mkdir sous-dossier
cd sous-dossier
# Ici, on peut omettre le nom du lien
ln -s ../cible

Affichage du lien avec la commande ls -l :

$ ls -l
total 0
lrwxrwxrwx 1 laurent laurent 8 janv. 20 14:29 cible -> ../cible

L’affichage du contenu du lien sera le même que le contenu du fichier :

$ cat cible
Je suis la cible

Avec les dossiers

Création

Il est possible de créer un lien symbolique vers un dossier :

mkdir dossierCible
echo Je suis un fichier dans le dossier cible > dossierCible/information.txt
ln -s dossierCible lienVersLeDossier

Utilisation

Affichage du lien avec la commande ls -l lienVersLeDossier :

$ ls -l lienVersLeDossier
lrwxrwxrwx 1 laurent laurent 12 janv. 20 14:33 lienVersLeDossier -> dossierCible

La même commande, mais avec un / à la fin, affiche le contenu du dossier cible :

$ ls -l lienVersLeDossier/
total 4
-rw-r--r-- 1 laurent laurent 41 janv. 20 14:33 information.txt

Il est désormais possible de se déplacer dans le lien symbolique comme si c’était un dossier:

$ cd lienVersLeDossier
$ ls -l
total 4
-rw-r--r-- 1 laurent laurent 41 janv. 20 14:33 information.txt

Exercices

  1. créer un dossier nommé unix
  2. se déplacer dans ce dossier et créer le fichier contenu.txt. Y placer le texte "Je suis le contenu de contenu.txt"
  3. créer un lien symbolique vers contenu.txt nommé lienVersContenu.txt
  4. afficher le contenu de ce lien
  5. créer un dossier nommé linux
  6. créer un fichier dans linux nommé os.txt (y mettre un contenu sous forme de texte)
  7. dans le dossier unix: créer un dossier nommé data et se déplacer dans ce dossier
  8. créer un lien symbolique dans data vers le dossier linux nommé infolinux. Afficher son contenu
  9. créer un lien symbolique dans data vers le fichier contenu.txt. Vérifier son contenu.
  10. se déplacer dans infolinux, afficher le contenu du dossier courant