IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 168
    Points : 32 386
    Points
    32 386
    Par défaut Différence entre lien symbolique et lien direct
    Bonjour,

    Je ne comprend pas trop la différence entre un lien symbolique et un lien direct. Du coup que vaut mieux t'il utiliser ?

    Si quelqu'un peut m'expliquer ...

    J'ai constaté une différence de coloration dans le shell. L'appel à ln génère un fichier semblant identique à l'original, ln -s génère un fichier avec l'attribut "l" lors de l'appel à ls -l

    J'ai vu avec strace que les appels systèmes diffèrent respectivement link et symlink mais je ne comprend pas la signification provenant du man "create a new link" et donc les conséquences.

    Quel est le comportement avec tar par exemple (j'ai pas testé encore) pour une sauvegarde/restauration.



    Merci d'avance.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Expert éminent
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    juillet 2013
    Messages
    3 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : juillet 2013
    Messages : 3 860
    Points : 8 635
    Points
    8 635
    Par défaut
    C'est vrai que c'est chaud ces notions de liens surtout avec les limitations et sous Windows on t'en rajoute (Jonctions par exemple)

    Mais en gros:
    • Lien symbolique, c'est un raccourci. Lorsque le fichier est détruit, ton raccourci pointe sur rien.
    • Lien en dur, hardlink. Je le vois comme les "reference counting" en POO. C'est à dire que ton lien va pointer directement sur la structure "système de fichiers". Et tant qu'il existe un lien ou l'original, ton dossier/ fichier ne sera pas détruit.

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 196
    Points : 12 261
    Points
    12 261
    Par défaut
    une bonne façon de ne pas s'y perdre est le résumé ci dessous très succin mais très clair
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Hard link vs. Soft link in Linux or UNIX
     
        Hard links cannot link directories.
        Cannot cross file system boundaries.
     
    Soft or symbolic links are just like hard links. It allows to associate multiple filenames with a single file. However, symbolic links allows:
     
        To create links between directories.
        Can cross file system boundaries.
     
    These links behave differently when the source of the link is moved or removed.
     
        Symbolic links are not updated.
        Hard links always refer to the source, even if moved or removed.

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    4 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 4 673
    Points : 11 725
    Points
    11 725
    Par défaut
    Bonjour

    Quelle est la différence entre un lien physique et un fichier ?
    Est-il juste de dire que le fichier est le premier lien physique vers un inode où se trouve le fichier en mémoire? Et quand on croit créer un premier lien physique, on ne crée en fait qu'une deuxième référence vers ce même inode ? Contrairement au lien symbolique qui s'attache au nom de fichier et non à l'inode ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 168
    Points : 32 386
    Points
    32 386
    Par défaut
    Merci pour vos réponses.

    Et si je fais un tar : quid des liens symboliques ? Sont ils des liens relatifs ou absolus (en cas de restauration vers un autre chemin le lien reste il valide ?) ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  6. #6
    Membre expérimenté
    Homme Profil pro
    Recherche du travail
    Inscrit en
    août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : août 2004
    Messages : 561
    Points : 1 320
    Points
    1 320
    Par défaut
    Tout dépend du chemin choisie lors de la création du lien symbolique:

    Relatif
    Absolue:
    Le chemin sera conservé lors de la création du tar.
    Avoir un regard neutre sur notre vie dénuée de sens, c'est la voir tel un ignorant
    ------------------------------------------------------------------------------------------------------

  7. #7
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 168
    Points : 32 386
    Points
    32 386
    Par défaut
    Donc on a le choix. Ok

    Merci.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  8. #8
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 2 695
    Points : 7 880
    Points
    7 880
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Quelle est la différence entre un lien physique et un fichier ?
    Un fichier est, au sens large, tout ce qui est présent dans l'arborescence d'un système de fichier sous unix.
    Un fichier a un type indiqué par la première lettre affichée par "ls -l":

    d-> directory
    l-> lien symbolique
    c -> périphérique en mode caractère
    b -> périphérique en mode bloc
    p -> pipe nommé
    s -> socket
    - -> fichier "normal"
    Tous les fichier ont un numéro d'inode. Quand il s'agit de fichiers "normaux", ce numéro pointe vers une liste de blocs contenant les données des fichiers. Plusieurs fichiers peuvent avoir le même numéro d'inode, Dans ce cas, les plus récents ont été crées avec la commande ln.

    Est-il juste de dire que le fichier est le premier lien physique vers un inode où se trouve le fichier en mémoire?
    Non, il n'y a aucune différence entre tous les fichiers qui pointent vers le même inode, en dehors de leur noms différents.

    Et quand on croit créer un premier lien physique, on ne crée en fait qu'une deuxième référence vers ce même inode ?
    L'inode et le fichier sont crées simultanément et on crée la première référence vers l'inode, pas la deuxième.

    Contrairement au lien symbolique qui s'attache au nom de fichier et non à l'inode ?
    Oui, un lien symbolique pointe vers un nom de fichier, fichier qui n'a pas besoin d'exister d'ailleurs, contrairement à un lien physique qui ne peut être créé que vers un fichier existant.

    Citation Envoyé par chrtophe Voir le message
    Et si je fais un tar : quid des liens symboliques ? Sont ils des liens relatifs ou absolus (en cas de restauration vers un autre chemin le lien reste il valide ?) ?
    Par défaut, tar sauvegarde les liens symboliques tels quels, c'est à dire qu'il pointent toujours vers le même nom, à toi de t'assurer que ce nom existe sur la machine où tu extrait le tar.

    Tu peux aussi utiliser l'option -h de tar. Dans ce cas, le fichier réel est archivé et sera restauré comme un fichier normal.
    ɹǝsn *sıɹɐlos*

  9. #9
    Expert éminent
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix / Linux
    Inscrit en
    juillet 2012
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix / Linux

    Informations forums :
    Inscription : juillet 2012
    Messages : 1 013
    Points : 7 902
    Points
    7 902
    Par défaut
    Bonjour,

    je me permets d'attirer l'attention sur le comportement de la commande find à ce propos :
    Les options -H, -L et -P contrôlent le traitement des liens symboliques.
    http://man.developpez.com/man1/find (cf. 4.options)

    et de l'option - mount (cf. 5.1 Options)
    -mount Ne pas parcourir les répertoires situés sur d'autres systèmes de fichiers. Il s'agit d'une alternative à l'option -xdev, assurant la compatibilité avec d'anciennes versions de find.
    ... bien pratique quand il s'agit d'effectuer une recherche sur la racine ( "/") exclusivement par exemple.
    https://documentcyborg.com Convert webpage to Word, PDF, TXT, RTF, EPUB or ODT file format. Free and easy to use. no ads & no tracking
    http://bhami.com/rosetta.html A Sysadmin's Unixersal Translator (ROSETTA STONE)
    AIX A/UX DG/UX FreeBSD HP-UX IRIX Linux Mac OS X NCR Unix NetBSD OpenBSD Reliant SCO OpenServer Solaris SunOS 4 Tru64 Ultrix UNICOS

    Sur le site developpez :
    Balises BB basées sur HTML pour vos messages
    Les meilleurs cours et tutoriels sur la programmation et l'informatique professionnelle
    La Lettre Hebdomadaire des décideurs et professionnels en informatique la newsletter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre l'éditeur de lien et le préprocesseur?
    Par Pif_Paf_Pouf dans le forum Débuter
    Réponses: 8
    Dernier message: 12/11/2014, 08h51
  2. Réponses: 2
    Dernier message: 11/05/2010, 21h18
  3. Réponses: 6
    Dernier message: 14/01/2010, 08h33
  4. Lien symbolique entre Apache et Tomcat sous Debian
    Par rohstev dans le forum Administration système
    Réponses: 17
    Dernier message: 13/05/2008, 10h33
  5. Différences entre ASP et ASP.NET ? (lien vers une adresse mail)
    Par Paul Van Walleghem dans le forum ASP.NET
    Réponses: 4
    Dernier message: 07/11/2007, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo