Commande ln Linux avec des exemples pratiques

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez découvrir la commande Linux ln et ses applications pratiques pour créer des liens durs et des liens symboliques. Le laboratoire couvre le but de la commande ln, la manière de créer des liens durs et la manière de créer des liens symboliques. Vous allez comprendre les différences entre ces deux types de liens et leurs cas d'utilisation. Le laboratoire fournit des instructions étape par étape et des exemples pour vous aider à maîtriser la commande ln et ses capacités de gestion de fichiers et de répertoires sous Linux.

Linux Commands Cheat Sheet


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/BasicFileOperationsGroup -.-> linux/ln("Link Creating") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/ls -.-> lab-422760{{"Commande ln Linux avec des exemples pratiques"}} linux/rm -.-> lab-422760{{"Commande ln Linux avec des exemples pratiques"}} linux/ln -.-> lab-422760{{"Commande ln Linux avec des exemples pratiques"}} linux/cat -.-> lab-422760{{"Commande ln Linux avec des exemples pratiques"}} end

Comprendre le but de la commande ln

Dans cette étape, vous allez découvrir le but de la commande ln sous Linux. La commande ln est utilisée pour créer des liens, qui sont des fichiers spéciaux qui pointent vers d'autres fichiers ou répertoires. Il existe deux types de liens : les liens durs et les liens symboliques (mous).

Les liens durs sont créés en utilisant la commande ln sans aucune option supplémentaire. Les liens durs sont essentiellement des copies du fichier original, mais ils partagent le même inode (métadonnées du fichier) et le même emplacement de stockage physique. Cela signifie que les modifications apportées au contenu du fichier seront réfléchies dans tous les liens durs.

Pour créer un lien dur, exécutez la commande suivante :

ln original_file hard_link_name

Sortie d'exemple :

$ ln file1.txt file1_hardlink.txt

Les liens symboliques, également appelés liens mous, sont créés en utilisant l'option -s avec la commande ln. Les liens symboliques sont des pointeurs vers le fichier ou le répertoire original, et ils contiennent le chemin vers la cible. Contrairement aux liens durs, les liens symboliques peuvent pointer vers des fichiers ou des répertoires à travers les limites du système de fichiers.

Pour créer un lien symbolique, exécutez la commande suivante :

ln -s original_file symbolic_link_name

Sortie d'exemple :

$ ln -s file1.txt file1_symlink.txt

La principale différence entre les liens durs et les liens symboliques est que les liens durs sont étroitement liés au fichier original, tandis que les liens symboliques sont plus flexibles et peuvent pointer vers des fichiers ou des répertoires à travers le système de fichiers.

Création de liens durs à l'aide de la commande ln

Dans cette étape, vous allez apprendre à créer des liens durs à l'aide de la commande ln.

Tout d'abord, créons un fichier d'échantillonnage que nous utiliserons pour créer des liens durs :

touch file1.txt
echo "This is the original file." > file1.txt

Maintenant, créons un lien dur vers file1.txt à l'aide de la commande ln :

ln file1.txt file1_hardlink.txt

La commande ln sans aucune option crée un lien dur. Cela signifie que file1_hardlink.txt et file1.txt partagent désormais le même inode (métadonnées du fichier) et le même emplacement de stockage physique. Toute modification apportée à un fichier sera réfléchie dans l'autre.

Vérifions que le lien dur a été créé correctement :

ls -l file1.txt file1_hardlink.txt

Sortie d'exemple :

-rw-r--r-- 2 labex labex 25 Apr 12 12:34 file1.txt
-rw-r--r-- 2 labex labex 25 Apr 12 12:34 file1_hardlink.txt

Remarquez que les deux fichiers ont le même numéro d'inode (le "2" dans la deuxième colonne), ce qui indique qu'ils sont des liens durs vers le même fichier.

Maintenant, apportons une modification au fichier original et voyons comment cela affecte le lien dur :

echo "This is an updated file." > file1.txt
cat file1.txt file1_hardlink.txt

Sortie d'exemple :

This is an updated file.
This is an updated file.

Comme vous pouvez le voir, les modifications apportées à file1.txt sont réfléchies dans le lien dur file1_hardlink.txt.

Les liens durs sont utiles lorsque vous voulez créer plusieurs références vers le même fichier, sans consommer de place de stockage supplémentaire. Cependant, gardez à l'esprit que les liens durs ne peuvent pas franchir les limites du système de fichiers, et qu'ils ne peuvent pas être créés pour les répertoires.

Création de liens symboliques à l'aide de la commande ln

Dans cette étape, vous allez apprendre à créer des liens symboliques (mous) à l'aide de la commande ln.

Tout d'abord, créons un autre fichier d'échantillonnage que nous utiliserons pour créer des liens symboliques :

touch file2.txt
echo "This is the second file." > file2.txt

Maintenant, créons un lien symbolique vers file2.txt à l'aide de la commande ln avec l'option -s :

ln -s file2.txt file2_symlink.txt

L'option -s indique à la commande ln de créer un lien symbolique au lieu d'un lien dur.

Vérifions que le lien symbolique a été créé correctement :

ls -l file2.txt file2_symlink.txt

Sortie d'exemple :

-rw-r--r-- 1 labex labex 23 Apr 12 12:34 file2.txt
lrwxrwxrwx 1 labex labex  8 Apr 12 12:34 file2_symlink.txt -> file2.txt

Remarquez que le lien symbolique file2_symlink.txt a un "l" au début des permissions, ce qui indique qu'il s'agit d'un lien symbolique. La sortie montre également que file2_symlink.txt pointe vers file2.txt.

Contrairement aux liens durs, les liens symboliques peuvent pointer vers des fichiers ou des répertoires à travers les limites du système de fichiers. Demonstrons cela en créant un lien symbolique vers un répertoire :

mkdir dir1
ln -s dir1 dir1_symlink
ls -l dir1 dir1_symlink

Sortie d'exemple :

drwxr-xr-x 2 labex labex 4096 Apr 12 12:34 dir1
lrwxrwxrwx 1 labex labex    5 Apr 12 12:34 dir1_symlink -> dir1

Comme vous pouvez le voir, dir1_symlink est un lien symbolique qui pointe vers le répertoire dir1.

Les liens symboliques sont plus flexibles que les liens durs, car ils peuvent pointer vers des fichiers ou des répertoires à travers les limites du système de fichiers. Cependant, ils peuvent également être plus fragiles, car le lien se casser si le fichier ou le répertoire cible est déplacé ou supprimé.

Résumé

Dans ce laboratoire, vous avez appris le but de la commande ln sous Linux, qui est utilisée pour créer des liens qui pointent vers d'autres fichiers ou répertoires. Vous avez exploré les deux types de liens : les liens durs et les liens symboliques (mous). Les liens durs sont essentiellement des copies du fichier original qui partagent le même inode et le même emplacement de stockage physique, tandis que les liens symboliques sont des pointeurs vers le fichier ou le répertoire original et peuvent franchir les limites du système de fichiers. Vous avez également appris à créer des liens durs et des liens symboliques à l'aide de la commande ln.

Linux Commands Cheat Sheet