La commande ln est utilisée pour créer un lien vers un fichier. La liaison permet à un nom de fichier dans un répertoire (le lien) de pointer vers un fichier dans un autre répertoire (la cible). Un lien ne contient pas de données propres, uniquement une référence au fichier cible. Toute modification du lien sera répercutée dans le fichier cible. Si vous ne spécifiez pas le nom du lien, la commande ln créera le lien dans votre répertoire de travail actuel.
Syntaxe
La syntaxe de la commande ln est :
# ln [options] {target name} [link name]
Options de commande ln
La commande ln a plusieurs options. Certaines des options fréquemment utilisées sont indiquées dans le tableau suivant.
Option | Utilisé pour |
---|---|
–sauvegarde | Sauvegarder les fichiers de destination existants. |
-f | Supprimer les fichiers de destination existants. |
-s | Créez des liens symboliques au lieu de liens physiques. -i Invite à supprimer les fichiers de destination. |
-v | Imprimer le nom d'un fichier avant de le lier. |
Types de liens
À l'aide de la commande ln, vous pouvez créer deux types de liens :physiques et symboliques (soft). Les liens physiques et symboliques sont une caractéristique du système de fichiers et sont courants dans la plupart des systèmes de fichiers pris en charge par Linux. Les systèmes de fichiers ext2, ext3, ext4 et XFS prennent tous en charge les liens physiques et symboliques.
Liens physiques
Un lien physique est une référence à un autre fichier ; il permet aux données du fichier d'avoir plus d'un nom à différents endroits dans le même système de fichiers. Les applications traitent un lien physique comme un vrai fichier. Si le fichier d'origine est supprimé après la création d'un lien physique, tout son contenu sera toujours disponible dans le fichier lié. C'est parce que l'inode d'un lien physique est le même que sa cible; en d'autres termes, il pointe vers le même objet sur le système de fichiers. Les liens physiques ne peuvent pas être créés entre deux répertoires, ni entre deux fichiers dans des systèmes de fichiers différents.
Liens symboliques (Liens symboliques)
Un lien symbolique est une référence à un fichier ou à un répertoire qui peut s'étendre sur plusieurs systèmes de fichiers. Si le fichier ou le répertoire d'origine est supprimé après la création d'un lien symbolique, le contenu d'origine est perdu. C'est parce que l'inode d'un lien symbolique est différent de sa cible; en d'autres termes, il pointe vers un objet différent sur le système de fichiers. Un lien symbolique est également appelé lien symbolique.
Exemples de liens
Voici un exemple de création d'un lien physique à l'aide de la commande ln, où / backup/backup-report est la cible du lien et ~/backup-report est le lien lui-même :
$ ln /backup/backup-report ~/backup-report
Voici un exemple de la même chose, mais en créant un lien symbolique au lieu d'un lien physique :
$ ln -s /backup/backup-report ~/backup-report
Exemples de commandes ln
1. Pour créer un lien vers un fichier existant :
# ln file.txt file.ln
2. Pour créer un lien symbolique pour le fichier existant :
# ln -s file.txt file.ln
3. Pour faire une sauvegarde de chaque fichier de destination :
# ln --backup file.txt file.bk
4. Pour autoriser le super utilisateur à tenter de créer des répertoires liés en dur :
# ln -d
5. Pour créer les liens en supprimant les fichiers de destination existants :
# ln -f # ln --force
6. Pour demander si vous souhaitez supprimer le fichier de destination :
# ln -i # ln --interactive
7. Pour créer des liens physiques vers des références de liens symboliques :
# ln -L # ln --logical
8. Pour traiter le répertoire du lien symbolique de destination comme un fichier :
# ln -n # ln --no-dereference
9. Pour créer des liens physiques directement vers des liens symboliques :
# ln -P # ln --physical
10. Pour créer des liens symboliques au lieu de liens physiques :
# ln -s
11. Pour remplacer le suffixe de sauvegarde habituel :
# ln -S # ln --suffix=SUFFIX
12. Pour spécifier le répertoire dans lequel le répertoire doit être créé :
# ln -t # ln --target-directory=DIRECTORY
13. Pour traiter le nom du lien comme un fichier normal :
# ln -T # ln --no-target-directory
14. Pour imprimer le nom de chaque fichier lié :
# ln -v # ln --verbose
15. Pour obtenir de l'aide pour ln :
# ln --help
16. Pour obtenir les informations de version :
# ln --version