GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un lien symbolique sous Linux à l'aide de la commande Ln

Le lien symbolique est communément appelé lien symbolique ou lien symbolique , qui est un type de fichier spécial qui fait référence à un autre fichier ou répertoire.

Dans ce guide, vous apprendrez à créer un lien symbolique sous Linux à l'aide de la commande ln pour créer des liens entre les fichiers.

Types de liens

Sous Linux, nous avons 2 types de liens :les liens souples et les liens durs.

Liens physiques : Un lien physique est une réplique d'un fichier original. Il donne accès aux données du fichier cible. Un utilisateur ne peut pas créer de lien physique pour un répertoire, uniquement pour un fichier. De plus, les fichiers liés en dur ont un numéro d'inode commun. Lorsque le fichier d'origine est supprimé ou supprimé, le lien physique continuera de fonctionner et contiendra le contenu du fichier supprimé. Il est également important de noter que les liens physiques ne s'étendent pas sur différents systèmes de fichiers.

Liens souples : Contrairement à un lien physique, un lien symbolique est simplement un pointeur vers un nom de fichier et ne contient pas le contenu d'un autre fichier ou du fichier cible référencé. Si le fichier cible est supprimé ou supprimé, le lien symbolique cesse d'exister. L'avantage des liens symboliques est qu'ils peuvent être utilisés pour créer un lien vers un fichier ou un répertoire et qu'ils peuvent s'étendre sur différents systèmes de fichiers.

Comment utiliser la commande ln

La commande ln est utilisée pour créer des liens entre les fichiers. La commande, par défaut, crée un lien physique. Pour créer un lien symbolique, ajoutez simplement le -s option ( --symbolique ).

Syntaxe :

ln [OPTION] TARGET LINK_NAME

Pour éviter toute confusion, utilisez le chemin absolu (chemin relatif) des fichiers source et cible lors de la création d'un lien symbolique.

Comment créer un lien symbolique vers un fichier

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

$ ln -s { OPTIONS } file symlink

Lorsque le fichier et le lien symbolique sont définis, la commande ln crée un lien à partir du fichier qui est le premier argument du fichier défini dans le second argument symlink .

Par exemple, pour créer un lien symbolique vers un fichier, utilisez la syntaxe,

$ ln -s  original_file symlink

Remarque :ln ne renvoie aucune sortie en cas de succès.

Dans la commande, remplacez le original_file avec le fichier existant pour lequel vous souhaitez créer le lien symbolique et le lien symbolique avec le lien symbolique.

Prenons un exemple concret :

$ ln -s  file1.txt   sample_link.txt

La commande ci-dessus crée un lien symbolique appelé 'sample_link.txt' vers le fichier existant 'file1.txt' dans le répertoire courant.

Pour vérifier la création du lien, utilisez simplement la commande ls comme indiqué :

$ ls -l sample_link.txt

Votre sortie devrait ressembler à ce que j'ai ci-dessous :

lrwxrwxrwx 1 winnie  winnie 9 Jul 12 23:43 sample_link.txt -> file1.txt

Dans les permissions, le l flag indique qu'il s'agit d'un lien symbolique, et le caractère - > indique que le lien symbolique pointe vers le fichier file1.txt .

Parfois, les liens symboliques ne fonctionnent pas à cause des problèmes de chemin, nous vous suggérons d'utiliser le chemin complet :

# absolute (full path)
ln -s /path/to/originals/originalfile1.txt backup/copy.txt

# relative
cd backup
ln -s ../originals/originalfile1.txt copy.txt

Comment créer des liens symboliques vers un répertoire

Créer un lien symbolique vers un répertoire est aussi simple que d'en créer un vers un fichier. La syntaxe reste sensiblement la même. Le premier argument prend le nom du répertoire tandis que le lien symbolique est spécifié comme deuxième argument.

La syntaxe ci-dessous est un exemple de la façon dont vous procéderiez :

$ ln -s  /path/to/directory  ~/directory

Par exemple, pour créer un lien symbolique depuis le répertoire /Downloads/music/ à ~/ma_musique exécutez la commande :

$ ln -s  /Downloads/music  ~/my_music

Comment écraser un lien symbolique

Écraser les liens symboliques en appelant simplement la commande ln sans aucun argument supplémentaire vous donnera toujours une erreur comme indiqué :

Par exemple, si vous essayez à nouveau d'exécuter la commande suivante :

$ ln -s  file1.txt   sample_link.txt

Vous obtiendrez l'erreur affichée :

ln: failed to create symbolic link 'sample_link.txt': File exists

Une solution de contournement à ce problème consiste à introduire une autre option -f ou --forcer pour écraser le chemin de destination du lien symbolique comme indiqué :

$ ln -sf  file1.txt   sample_link.txt

Cette fois, écraser le lien symbolique ne produira aucune erreur.

Comment supprimer les liens symboliques

Pour vous débarrasser des liens symboliques Linux ou des liens symboliques, vous pouvez soit utiliser la commande rm soit la commande unlink commande. Et c'est assez facile. Pour dissocier commande, utilisez la syntaxe ci-dessous pour supprimer les liens symboliques :

$ unlink symlink_to_be_removed

La suppression d'un lien symbolique à l'aide de la commande rm est identique à la suppression ou à la suppression d'un fichier normal :

$ rm symlink_to_be_removed

Les liens symboliques sont-ils importants ?

C'est généralement une bonne idée de créer un lien symbolique vers un fichier si vous souhaitez réaliser l'une des actions suivantes :

  1. Avoir accès à un ou plusieurs fichiers à partir de plusieurs emplacements sans créer de copies en double qui peuvent nécessairement occuper beaucoup d'espace disque.
  2. Si vous souhaitez conserver les versions originales du fichier et vous assurer que le lien pointe vers la dernière version du fichier. Cela fonctionne car le lien symbolique restera actif même après avoir remplacé le fichier par un autre fichier portant le même nom de fichier.

Les programmes Linux utilisent des liens symboliques, sous forme d'alias, afin que les utilisateurs n'aient pas à connaître la version du code utilisée.

# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2

Conclusion

Les liens symboliques et les raccourcis standards sont similaires mais il existe quelques différences entre les deux.

Un raccourci standard, comme celui que vous trouverez dans Windows, est simplement un fichier normal qui pointe vers un certain répertoire, fichier ou application. Ce raccourci apparaît généralement sous la forme d'une icône qui peut être créée à n'importe quel endroit, et lorsque vous cliquez dessus, vous ouvrez le fichier, le répertoire ou l'application d'origine.

Un lien symbolique représente en fait le fichier d'origine dans un sens fonctionnel. C'est un substitut direct à un objet tel qu'un fichier. Votre système Linux lit le lien symbolique Linux comme s'il s'agissait de l'objet cible. Un raccourci ordinaire fait simplement référence à un fichier ou à un répertoire, et ne fait rien d'autre.

C'est tout sur la façon de créer un lien symbolique sous Linux et pour plus d'informations, reportez-vous à man. J'espère que vous avez apprécié la lecture et n'hésitez pas à laisser vos commentaires et suggestions.


Linux
  1. Comment créer des liens matériels et symboliques sous Linux

  2. Comment créer un script d'une commande Linux

  3. Comment diviser un iso ou un fichier à l'aide de la commande 'split' sous Linux

  4. Comment créer des fichiers fragmentés sous Linux à l'aide de la commande "dd"

  5. Comment joindre un fichier en utilisant la commande mail sous Linux ?

Comment créer un alias sous Linux

Linux ln - Comment créer un lien symbolique sous Linux [Exemple de commande Bash]

Comment créer un fichier sous Linux à l'aide de Terminal

Comment verrouiller un fichier texte sous Linux à l'aide de la commande flock

Comment créer un fichier dans Ubuntu Linux à l'aide de la commande et de l'interface graphique

Qu'est-ce que les liens symboliques sous Linux ? Comment créer des liens symboliques ?