Espace des liens physiques

lacoste -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

puisque le fichier source et son lien physique occupent le même espace dans le disque dur,
et si on modifie le fichier source ou son lien, les deux fichiers vont avoir une taille différente sur le disque dur, donc c'est un espace différent, non?
par d'autre terme:
taille fichier source = 1 Mo
taille lien physique = 1 Mo
total sue disque dur = 1 Mo ou 2 Mo ?

merci.
A voir également:

4 réponses

laoshu Messages postés 1231 Date d'inscription   Statut Membre Dernière intervention   351
 
Bonjour,

si nous sommes d'accord pour dire que le lien physique est celui que l'on créer avec une commande de type :

ln fichier lien_vers_le_fichier

Alors les deux fichiers partagent le même contenu, si le contenu est modifié sur un fichier, il le sera aussi sur l'autre et de la même manière

En clair, la réponse serrait donc 1Mo.

Mais fais des essais pour vérifier...
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

les deux fichiers vont avoir une taille différente sur le disque dur, donc c'est un espace différent, non?
Non, ils auront toujours la même taille.


taille fichier source = 1 Mo
taille lien physique = 1 Mo
total sur disque dur = 1 Mo ou 2 Mo ?

1Mo

La preuve :

# Création d'1 fichier 1 Mo
$ dd if=/dev/zero of=fichier_source bs=1k count=1000
1000+0 enregistrements lus                          
1000+0 enregistrements écrits                       
1024000 octets (1,0 MB) copiés, 0,00742742 s, 138 MB/s

# Taille affichée du fichier
$ ls -lh                                              
total 1008K                                           
-rw-rw-r-- 1 zipe zipe 1000K 2011-06-07 13:29 fichier_source

# Taille réelle sur le disque
$ du -sh                                                    
1008K   .   

#Création d'un lien physique                                              
$ ln fichier_source fichier_cible  

# Taille affichée des fichiers                     
$ ls -lh                                                    
total 2,0M                                                  
-rw-rw-r-- 2 zipe zipe 1000K 2011-06-07 13:29 fichier_cible 
-rw-rw-r-- 2 zipe zipe 1000K 2011-06-07 13:29 fichier_source

# Taille réelle sur le disque 
$ du -sh                                                    
1008K   .                                                   

# Création d'1 autre fichier 1 Mo 
$ dd if=/dev/zero of=plop bs=1k count=1000
1000+0 enregistrements lus
1000+0 enregistrements écrits
1024000 octets (1,0 MB) copiés, 0,0173669 s, 59,0 MB/s

# Taille affichée des fichiers 
$ ls -lh
total 3,0M
-rw-rw-r-- 2 zipe zipe 1000K 2011-06-07 13:29 fichier_cible
-rw-rw-r-- 2 zipe zipe 1000K 2011-06-07 13:29 fichier_source
-rw-rw-r-- 1 zipe zipe 1000K 2011-06-07 13:32 plop

# On ajoute le contenu de plop à fichier_source 
$ cat plop >> fichier_source

# Taille affichée des fichiers 
$ ls -lh
total 5,0M
-rw-rw-r-- 2 zipe zipe  2,0M 2011-06-07 13:33 fichier_cible
-rw-rw-r-- 2 zipe zipe  2,0M 2011-06-07 13:33 fichier_source
-rw-rw-r-- 1 zipe zipe 1000K 2011-06-07 13:32 plop

# On ajoute le contenu de plop à fichier_cible 
$ cat plop >> fichier_cible

# Taille affichée des fichiers 
$ ls -lh
total 6,9M
-rw-rw-r-- 2 zipe zipe  3,0M 2011-06-07 13:33 fichier_cible
-rw-rw-r-- 2 zipe zipe  3,0M 2011-06-07 13:33 fichier_source
-rw-rw-r-- 1 zipe zipe 1000K 2011-06-07 13:32 plop

# Taille réelle sur le disque 
$ du -sh
4,0M    .

$
0
lacoste
 
bizarre,

j'ai j'ai créé un fichier de 700 Ko, et deux liens physique,
j'ai modifier le premier lien, le fichier source et le 2ème lien n'ont pas été modifiés, et j'ai modifier le fichier source, les deux liens n'ont pas été modifiés.

donc ce sont des espaces différents sur le disque dur !!!!!!!!!!!!!!
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
On peut voir exactement ce que tu as tapé comme commande ainsi que le contenu de ton répertoire, s'il te plaît merci ?
0
lacoste
 
1- touch fichier-source.txt
2- gedit fichier-source.txt (pour écrire du texte 7 Ko)
3- ln fichier-source.txt lien-ph.txt
4- ln fichier-source.txt /mnt/lien-ph2.txt
5- gedit /mnt/lien-ph2.txt (pour supprimer le texte 1 Ko)

mais le fichie fichier-source.txt 7 Ko n'est pas modifier !
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Et le résultat de visu dans un terminal ça donne quoi ?

Essayes ça :

$ echo "Bonjour" > f1

$ ln f1 f2           

$ ls -lhi            
total 8,0K                            
1510089 -rw-r--r-- 2 jp jp 8 2011-06-07 16:12 f1
1510089 -rw-r--r-- 2 jp jp 8 2011-06-07 16:12 f2

$ echo "Juste un petit mot" >> f1         

$ ls -lhi
total 8,0K                
1510089 -rw-r--r-- 2 jp jp 27 2011-06-07 16:13 f1
1510089 -rw-r--r-- 2 jp jp 27 2011-06-07 16:13 f2

$ ln f1 f3

$ ls -lhi
total 12K                 
1510089 -rw-r--r-- 3 jp jp 27 2011-06-07 16:13 f1
1510089 -rw-r--r-- 3 jp jp 27 2011-06-07 16:13 f2
1510089 -rw-r--r-- 3 jp jp 27 2011-06-07 16:13 f3

$ echo "Juste un petit mot de plus dans f3" >> f3

$ ls -lhi
total 12K
1510089 -rw-r--r-- 3 jp jp 62 2011-06-07 17:13 f1
1510089 -rw-r--r-- 3 jp jp 62 2011-06-07 17:13 f2
1510089 -rw-r--r-- 3 jp jp 62 2011-06-07 17:13 f3

Et copies/colles les manips et le résultat ici ;-\
0
lacoste
 
[root@localhost d]# echo "Bonjour" > f1
[root@localhost d]# ln f1 f2
[root@localhost d]# ls -lhi
total 8.0K
118207 -rw-r--r-- 2 root root 8 jun 7 16:42 f1
118207 -rw-r--r-- 2 root root 8 jun 7 16:42 f2
[root@localhost d]#
[root@localhost d]# echo "Juste un petit mot" >> f1
[root@localhost d]#
[root@localhost d]# ls -lhi
total 8.0K
118207 -rw-r--r-- 2 root root 27 jun 7 16:42 f1
118207 -rw-r--r-- 2 root root 27 jun 7 16:42 f2
[root@localhost d]#
[root@localhost d]# ln f1 f3
[root@localhost d]#
[root@localhost d]# ls -lhi
total 12K
118207 -rw-r--r-- 3 root root 27 jun 7 16:42 f1
118207 -rw-r--r-- 3 root root 27 jun 7 16:42 f2
118207 -rw-r--r-- 3 root root 27 jun 7 16:42 f3
[root@localhost d]#
[root@localhost d]# echo "Juste un petit mot de plus dans f3" >> f3
[root@localhost d]#
[root@localhost d]# ls -lhi
total 12K
118207 -rw-r--r-- 3 root root 62 jun 7 16:43 f1
118207 -rw-r--r-- 3 root root 62 jun 7 16:43 f2
118207 -rw-r--r-- 3 root root 62 jun 7 16:43 f3
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Ben tu vois bien que les liens sont liés et que tout ce répercute ;-\

Et concernant tes propres tests qui ne marchaient pas ? On peut les voir ?
0