Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
A propos des liens, symboliques ou non
Envoyé par: Dan

Bonjour,

J'essaie de bien comprendre les différents systèmes qui lient deu x
fichiers.

1/ Si je fais un lien ln a b
alors a et b se comportent de la même façon vis-à-vis de ce que
contenait l'espace disque sur lequel pointait a.
On n'a plus accès à ce contenu à partir du moment où j'aurai
effacé et a, et b

2/ Si je fais un lien symbolique ln -s a b
alors b pointe simplement vers a.
Si j'efface a, b pointe dans le vide. Je n'ai plus accès au fichier.
Si j'efface b, a donne toujours accès aux mêmes informations.

MAIS :
3/ si a est un répertoire,
et que je fais un ln -s a b
et que a contient un fichier fa
Lorsque je fais un cd b, et que je liste les fichiers, je vois fa dans
la liste.
Le lien qui existe entre ~/a/fa et ~/b/fa n'est pas clair pour moi. Il
ne s'agit ni du lien évoqué en 1/, ni de celui évoqué en 2/,
puisque
le comportement d'effacement est celui de 1/ (si je fais un rm ~/a/fa
ou ~/b/fa, l'accès à fa est impossible),
mais le total de l'inode de ~/a/fa, ou de ~/b/fa, est de 1 ...alors
qu'avec la méthode 1, cela devrait donner 2.

Qu'est-ce que j'ai mal compris ?

Merci pour vos explications.

Poste le Sunday 5 February 2006 13:38:07
Répondre     Citer    
Re: À propos des liens, symboliques ou non
Envoyé par: nicola

Le lien non symbolique vers un répertoire est interdit, à ce que je sais. De plus, le lien symbolique est le seul moyen de créer un lien vers un fichier, quel qu’il soit, sur une autre partition.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Sunday 5 February 2006 15:00:53
Répondre     Citer    
Re: À propos des liens, symboliques ou non
Envoyé par: abgech

Citation
nicola
Le lien non symbolique vers un répertoire est interdit, à ce que je sais.

Navré de te contredire, les liens symboliques vers un répertoire sont au contraire très utilisés, par exemple, pour appliquer un nom d'arborescence auquel on est habitué sur une arborescence qui porte un autre nom. Cela favorise grandement la portabilité des applications.

Poste le Sunday 5 February 2006 16:33:55
Répondre     Citer    
Re: À propos des liens, symboliques ou non
Envoyé par: nicola

Tut tut, j’ai écrit non symbolique.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Sunday 5 February 2006 18:12:03
Répondre     Citer    
Re: À propos des liens, symboliques ou non
Envoyé par: abgech

Excuses-moi, je lis plus vite que mon ombre, mais il y a des ratés !

Poste le Sunday 5 February 2006 18:18:02
Répondre     Citer    
Re: À propos des liens, symboliques ou non
Envoyé par: P Hoquet

Dans le premier cas on a un lien en dur c'est-à-dire 2 entrées différentes dans le où les répertoires pour le même fichier (même inode).
Dans le 3ième cas on est en fait dans le même répertoire donc il n'y a qu'une entrée et on perd l'accès au fichier si on supprime cette unique entrée.

Poste le Sunday 5 February 2006 21:55:32
Répondre     Citer    
Re: À propos des liens, symboliques ou non
Envoyé par: tg(y)

Un lien physique n'est rien d'autre qu'un autre nom pour le même inode (nœud du système de fichier, dans lequel se trouvent notamment les données du fichier), si je ne m'abuse. C'est à dire que, si le fichier est lié dans deux répertoires, chacun de ces répertoires contient une entrée pointant vers l'inode en question.
Les liens durs ne peuvent donc par sortir d'un même système de fichier.

Un lien symbolique est un tout petit fichier qui contient des données qui expliquent que c'est un lien qui pointe vers une cible. Cette cible est un chemin d'accès dans l'arborescence Linux. C'est pourquoi, si le fichier cible est déplacé, où si on démarre sur un live-CD qui n'aura pas la même arborescence, le lien se retrouve brisé. En revanche, un lien symbolique peut pointer vers un fichier situé dans un autre système de fichiers.
Un lien symbolique est comparable à un « raccourci » de Windows, en mieux, car il peut être manipulé comme s'il s'agissait du fichier d'origine. Dans le cas d'un répertoire, on peut rentrer dedans comme s'il s'agissait du vrai répertoire, sachant que certains logiciels déréférencient les liens symbolique, comme Zsh (réglé pour le faire) ou Konqueror. Dans ce cas, on peut rentrer dans le lien, mais le logiciel n'est pas dupe et nous envoie dans le vrai répertoire.

Sous Linux, il est à ma connaissance interdit de lier physiquement des répertoires, mais il s'agit là d'une restriction supplémentaire non imposée par POSIX, et non d'une incapacité.

Poste le Sunday 5 February 2006 22:18:08
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
A propos des liens, symboliques ou non
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons