Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
lien_physique_et_symbolique [Le 09/01/2019, 18:47] – [Syntaxe des liens physiques ou symboliques] 78.240.54.2 | lien_physique_et_symbolique [Le 03/06/2020, 10:58] (Version actuelle) – polobuntu | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Syntaxe des liens physiques ou symboliques ====== | ||
+ | |||
+ | <note warning> | ||
+ | I. Lien symbolique entre répertoires | ||
+ | |||
+ | De manière générale, voici comment utiliser la commande « ln » pour créer un lien symbolique : ln -s dossier_cible nom_du_lien. | ||
+ | |||
+ | Dans cet exemple, nous souhaitons qu’en allant sur le répertoire /opt/jdk, nous atterrissions en réalité sur / | ||
+ | |||
+ | Nous allons commencer par créer un lien symbolique entre deux répertoires. Nous utiliserons pour cela la commande « ln » (links) : | ||
+ | |||
+ | ln –s / | ||
+ | |||
+ | Le lien symbolique « /opt/jdk » sera alors créé. | ||
+ | ===== Définitions ===== | ||
+ | |||
+ | Il existe deux types de liens qui permettent de rediriger un fichier vers un autre : les **liens physiques** (ou matériels) et les **liens symboliques**. | ||
+ | |||
+ | Avec un lien physique, les données du disque sont pointées par plusieurs entrées de répertoire, | ||
+ | |||
+ | Un lien matériel (ou physique) est l' | ||
+ | |||
+ | Un lien symbolique est un fichier qui pointe vers un autre fichier ; si vous supprimez le fichier cible, les liens symboliques pointeront vers un fichier inexistant. | ||
+ | |||
+ | Mais, d' | ||
+ | |||
+ | * **Lien physique** : permet de donner plusieurs noms/chemin d' | ||
+ | |||
+ | Voici le résultat obtenu en entrant la commande **ls** avec l' | ||
+ | |||
+ | < | ||
+ | 5954521 ~/ | ||
+ | </ | ||
+ | |||
+ | Comme dit plus haut, les différents liens physiques pointent vers un **même** numéro d' | ||
+ | |||
+ | |||
+ | * **Lien symbolique** : permet d' | ||
+ | |||
+ | Voici le résultat obtenu en entrant la même commande **ls -i** : | ||
+ | |||
+ | < | ||
+ | 5954521 ~/ | ||
+ | </ | ||
+ | |||
+ | On voit que les deux fichiers pointent vers deux numéros d' | ||
+ | |||
+ | <note help> | ||
+ | |||
+ | Réponse partielle 1 : dans les environnements graphiques (Dolphin, etc.), on ne trouve pas l' | ||
+ | |||
+ | Réponse partielle 2 : les liens symboliques permettent une meilleure maintenance de l' | ||
+ | |||
+ | Réponse partielle 3 : dans le cas où le lien doit pointer vers un autre système de fichiers (autre partition ou autre support de stockage), seul le lien symbolique est possible. | ||
+ | |||
+ | Réponse partielle 4 : dans la gestion des sauvegardes, | ||
+ | |||
+ | Réponse partielle 5 : inversement, | ||
+ | |||
+ | Réponse partielle 6 : le système de sauvegarde " | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Explication graphique ===== | ||
+ | === situation de départ === | ||
+ | fichier source : [source]--> | ||
+ | === situation après création des liens === | ||
+ | lien physique/ | ||
+ | |||
+ | lien symbolique : [lien_symb]--> | ||
+ | |||
+ | === situation après effacement du fichier source === | ||
+ | |||
+ | lien physique/ | ||
+ | |||
+ | lien symbolique : [lien_symb]-->? | ||
+ | |||
+ | === situation après renommage ou déplacement du fichier source === | ||
+ | |||
+ | lien physique/ | ||
+ | |||
+ | lien symbolique : [lien_symb]-->? | ||
+ | |||
+ | <note important> | ||
+ | ===== Prérequis pour l' | ||
+ | |||
+ | On montrera cela par un exemple simple : | ||
+ | |||
+ | On crée un document texte (ici la liste des paquets installés) dans le répertoire home : | ||
+ | |||
+ | dpkg -l> | ||
+ | |||
+ | ===== Exemple de lien physique ===== | ||
+ | |||
+ | On crée un lien physique (que l'on nomme lien_dur) : | ||
+ | ln source lien_dur | ||
+ | |||
+ | À présent, on peut également lire le document source à partir de lien_dur : | ||
+ | gedit lien_dur | ||
+ | |||
+ | Il est possible de connaître le nombre de liens qui amènent au même fichier : | ||
+ | ls -l source | ||
+ | ls -l lien_dur | ||
+ | Si on souhaite effacer le fichier source, le document existera toujours : | ||
+ | rm source | ||
+ | gedit lien_dur | ||
+ | |||
+ | ===== Exemple de lien symbolique ===== | ||
+ | |||
+ | Pour créer un lien symbolique, on utilise aussi la commande ln, en ajoutant toutefois l' | ||
+ | |||
+ | On crée un lien symbolique (que l'on nomme ici lien_symb) : | ||
+ | ln -s source lien_symb | ||
+ | |||
+ | On pourra toujours lire source depuis lien_symb : | ||
+ | gedit lien_symb | ||
+ | |||
+ | À la différence du lien physique, après la destruction de source, le fichier ne sera plus accessible ! | ||
+ | rm source | ||
+ | gedit lien_symb | ||
+ | |||
+ | On peut repérer les liens symboliques avec ls -F, ils apparaissent avec un @ à la fin. | ||
+ | ls -F | ||
+ | |||
+ | ===== Autres documentations disponibles ===== | ||
+ | * [[http:// | ||
+ | |||
+ | ===== En dual-boot Windows ===== | ||
+ | Sur un ordinateur en double amorçage (dual-boot) avec Windows, il peut être intéressant de savoir quels liens symboliques ou physiques fonctionnent, | ||
+ | Bien sûr, comme MS Windows ne peut pas lire les partitions ext4 et antérieures, | ||
+ | |||
+ | Par contre, Linux lit nativement les partitions NTFS, donc tant Linux que Windows peuvent créer des liens sur des partitions NTFS. | ||
+ | Empiriquement (d' | ||
+ | * aucun lien symbolique créé sous Linux n'est compris sous Windows ; | ||
+ | * les liens symboliques créés sous Windows (commande //MkLink /D//) fonctionnent sous Linux si la cible et le lien sont sur la même partition NTFS, mais pas s'ils sont sur des partitions différentes. | ||
+ | ---- | ||
+ | |||
+ | // |