Espace des liens physiques

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

  1. 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
    1. Contributeur
      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
      1. 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
      2. Contributeur
        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
    2. 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
      1. Contributeur
        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
    3. [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
      1. Contributeur
        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