J'essaie de bien comprendre les diff=E9rents syst=E8mes qui lient deu x
fichiers.
1/ Si je fais un lien ln a b
alors a et b se comportent de la m=EAme fa=E7on vis-=E0-vis de ce que
contenait l'espace disque sur lequel pointait a.
On n'a plus acc=E8s =E0 ce contenu =E0 partir du moment o=F9 j'aurai
effac=E9 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=E8s au fichier.
Si j'efface b, a donne toujours acc=E8s aux m=EAmes informations.
MAIS :
3/ si a est un r=E9pertoire,
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 =E9voqu=E9 en 1/, ni de celui =E9voqu=E9 en 2/,
puisque
le comportement d'effacement est celui de 1/ (si je fais un rm ~/a/fa
ou ~/b/fa, l'acc=E8s =E0 fa est impossible),
mais le total de l'inode de ~/a/fa, ou de ~/b/fa, est de 1 ...alors
qu'avec la m=E9thode 1, cela devrait donner 2.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Matthieu Moy
"Dan" writes:
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/,
C'est tout simplement le même fichier. Ton lien b pointe sur a, donc quand tu fais « cd b », c'est pareil que de faire « cd a ».
A noter que si tu as
/xxx/yyy/a/ /zzz/ttt/b -> /xxx/yyy/a/
alors, le répertoire parent (..) de /zzz/ttt/b/ est /xxx/yyy/. A moins que ton shell n'ai un comportement particulier, faire « cd /zzz/ttt/b/ ; cd .. » t'ammenera dans /xxx/yyy/.
Autre complément : /zzz/ttt/b désigne le lien symbolique, et /zzz/ttt/b/ (avec un '/' à la fin) désigne le répertoire pointé. Donc, « rm -rf b » supprime le lien (et le -r ne sert à rien), alors que « rm -fr b/ » supprime le contenu de répertoire.
-- Matthieu
"Dan" <environ314@gmail.com> writes:
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/,
C'est tout simplement le même fichier. Ton lien b pointe sur a, donc
quand tu fais « cd b », c'est pareil que de faire « cd a ».
A noter que si tu as
/xxx/yyy/a/
/zzz/ttt/b -> /xxx/yyy/a/
alors, le répertoire parent (..) de /zzz/ttt/b/ est /xxx/yyy/. A moins
que ton shell n'ai un comportement particulier, faire « cd
/zzz/ttt/b/ ; cd .. » t'ammenera dans /xxx/yyy/.
Autre complément : /zzz/ttt/b désigne le lien symbolique, et
/zzz/ttt/b/ (avec un '/' à la fin) désigne le répertoire pointé. Donc,
« rm -rf b » supprime le lien (et le -r ne sert à rien), alors que
« rm -fr b/ » supprime le contenu de répertoire.
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/,
C'est tout simplement le même fichier. Ton lien b pointe sur a, donc quand tu fais « cd b », c'est pareil que de faire « cd a ».
A noter que si tu as
/xxx/yyy/a/ /zzz/ttt/b -> /xxx/yyy/a/
alors, le répertoire parent (..) de /zzz/ttt/b/ est /xxx/yyy/. A moins que ton shell n'ai un comportement particulier, faire « cd /zzz/ttt/b/ ; cd .. » t'ammenera dans /xxx/yyy/.
Autre complément : /zzz/ttt/b désigne le lien symbolique, et /zzz/ttt/b/ (avec un '/' à la fin) désigne le répertoire pointé. Donc, « rm -rf b » supprime le lien (et le -r ne sert à rien), alors que « rm -fr b/ » supprime le contenu de répertoire.