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 :
- 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.
- 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.