Espace des liens physiques

lacoste -  
zipe31 Messages postés 34620 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.

4 réponses

  1. laoshu Messages postés 1251 Statut Membre 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
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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. 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
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
  3. 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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
  4. 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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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