Espace des liens physiques

Fermé
lacoste - 7 juin 2011 à 13:18
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 7 juin 2011 à 17:52
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.

4 réponses

laoshu Messages postés 1231 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 24 mai 2015 350
7 juin 2011 à 13:34
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
7 juin 2011 à 13:52
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
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
7 juin 2011 à 16:24
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
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
7 juin 2011 à 17:15
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
[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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
7 juin 2011 à 17:52
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