logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:enicar:tutos:peregrination-autour-de-ls-l [21/03/2015 08:58]
enicar
utilisateurs:enicar:tutos:peregrination-autour-de-ls-l [21/03/2015 19:01]
enicar [Type de fichier et permissions]
Ligne 10: Ligne 10:
      * [[doc:​systeme:​chmod|commande chmod]]      * [[doc:​systeme:​chmod|commande chmod]]
      * [[doc:​systeme:​chown|commande chown]]      * [[doc:​systeme:​chown|commande chown]]
 +     * [[doc:​systeme:​touch|commande touch]]
  
 ===== Introduction ===== ===== Introduction =====
Ligne 38: Ligne 39:
 ^ champ ^ signification^ ^ champ ^ signification^
 |-rw-r--r--| [[peregrination-autour-de-ls-l?&#​type-de-fichier-et-permissions|Type de fichier, et permissions]] (c'est à dire droits)| |-rw-r--r--| [[peregrination-autour-de-ls-l?&#​type-de-fichier-et-permissions|Type de fichier, et permissions]] (c'est à dire droits)|
-| 1|Le nombre de liens| +| 1|Le nombre de liens ([[peregrination-autour-de-ls-l?&#​liens-et-inodes|Liens et inodes]])
-|enicar|Le propriétaire du fichier [[peregrination-autour-de-ls-l?&#​proprietaire-et-groupe|Propriétaire et groupe]]| +|enicar|Le propriétaire du fichier ​([[peregrination-autour-de-ls-l?&#​proprietaire-et-groupe|Propriétaire et groupe]])
-|enicar|Le groupe à qui appartient le fichier [[peregrination-autour-de-ls-l?&#​proprietaire-et-groupe|Propriétaire et groupe]]|+|enicar|Le groupe à qui appartient le fichier ​([[peregrination-autour-de-ls-l?&#​proprietaire-et-groupe|Propriétaire et groupe]])|
 |1436|La [[peregrination-autour-de-ls-l?&#​taille-du-fichier|taille du fichier]] en octets| |1436|La [[peregrination-autour-de-ls-l?&#​taille-du-fichier|taille du fichier]] en octets|
 |avril 23 2014|[[peregrination-autour-de-ls-l?&#​date-de-derniere-modification|La date de dernière modification]]| |avril 23 2014|[[peregrination-autour-de-ls-l?&#​date-de-derniere-modification|La date de dernière modification]]|
Ligne 54: Ligne 55:
 <file bash>​-rw-r--r--</​file>​ <file bash>​-rw-r--r--</​file>​
 Il est composé de 4 sous champs. De la gauche vers la droite : Il est composé de 4 sous champs. De la gauche vers la droite :
-  * **-**   : C'​est ​une fichier normal (voir  Type de fichier ci-dessous)+  * **-**   : C'​est ​un fichier normal (voir  Type de fichier ci-dessous)
   * **rw-** : Permission pour le propriétaire du fichier   * **rw-** : Permission pour le propriétaire du fichier
   * **r--** : Permission pour le groupe auquel appartient le fichier   * **r--** : Permission pour le groupe auquel appartient le fichier
Ligne 64: Ligne 65:
 ^Code^ Type de fichier^ ^Code^ Type de fichier^
 |-|Fichier normal| |-|Fichier normal|
-|d|Répertoire (**d**irectory)|+|d|Répertoire (**d**irectory) ([[peregrination-autour-de-ls-l?&#​les-repertoires|Les répertoires]])|
 |l|Lien symbolique (symbolic **l**ink)| |l|Lien symbolique (symbolic **l**ink)|
 |p|Tube nommé (**p**ipe)| |p|Tube nommé (**p**ipe)|
-|s|Socket ​unix|+|s|**S**ocket ​unix|
 |b|Périphérique avec accès de type **b**loc| |b|Périphérique avec accès de type **b**loc|
 |c|Périphérique avec accès de type **c**aractère| |c|Périphérique avec accès de type **c**aractère|
Ligne 205: Ligne 206:
 ===== Liens et inodes ===== ===== Liens et inodes =====
  
-En réalité, les fichiers ​sont des liens sur des inodes. +Les données d'un fichier ​sont écrites ​sur le disque sous forme de blocs. 
-<​note>​ inode peut être traduit par i-nœud, c'est à dire nœud d'​information. J'ai préféré gardé +L'​information où se trouve ces blocs, est contenu dans un ensemble 
-le terme employé couramment par les « initiés ​».</​note>​+d'inodes ​(sous forme de numéro de bloc). 
 + 
 + 
 +<​note>​ inode peut être traduit par i-nœud, c'est à dire nœud 
 +d'​information. J'ai préféré gardé le terme employé couramment par les 
 +initiés. 
 +</​note>​ 
 + 
 + 
 +Cet ensemble d'​inodes a un premier inode qui sert à référencer le fichier. 
 +Un répertoire fait correspondre un chemin (le nom du fichier) avec ce 
 +premier inode. ​ De cet façon on peut avoir plusieurs noms pour le même 
 +fichier. Ces différents noms pointent sur le même premier inode. 
 + 
 + 
 +Le nombre d'​inodes utilisés par un fichier dépend évidemment de sa 
 +taille. Un seul inode ne suffit pas pour donner la liste de blocs, sauf 
 +pour les petits fichiers. 
 + 
 + 
 +Le premier inode contient aussi les métadonnées associées au fichier. 
 +C'est à dire, sa taille, son propriétaire,​ son groupe, les dates de 
 +derniers changements,​ accès et modification,​ le nombre de lien et les 
 +permissions. 
 + 
 + 
 +Supposons à présent, que l'on est deux noms de fichiers qui pointent sur 
 +le même inode. Donc, les données des « deux fichiers » sur le disque 
 +sont au même endroit. Et donc ils ont exactement les mêmes données. Leur  
 +métadonnées contenues dans le premier inode sont les mêmes également. ​  
 +On voit bien que les deux fichiers sont indiscernables. 
 + 
 + 
 + 
 +Nous allons faire quelques expérience pratique pour démontrer ce fonctionnement. 
 +J'ai dit plus [[peregrination-autour-de-ls-l?&#​la-sortie-de-ls--l|haut]] que l'​option **-i** permettait de 
 +connaître le numéro d'​inode. C'est cette option que nous allons utiliser. 
 +Mais avant, nous allons créer un répertoire de test afin d'​éviter de faire des 
 +bêtises… 
 +<code user> 
 +mkdir ~/​essai-de-liens 
 +cd ~/​essai-de-liens 
 +</​code>​ 
 + 
 +Vous devriez, à présent, vous trouvez dans le répertoire **essai-de-liens**. 
 +Créons un nouveau fichier que nous allons appelé **machin** 
 +<code user> 
 +touch machin 
 +</​code>​ 
 +Nous pouvons vérifier que machin existe bien : 
 +<code user> 
 +ls -l machin 
 +</​code>​ 
 +<file - Affiche>​ 
 +-rw-r--r-- 1 enicar enicar 0 mars  21 17:02 machin 
 +</​file>​ 
 +Donc le fichier existe, sa taille est nulle et son compteur de lien est &gale à 1. 
 +Bien, on va créer un lien sur **machin** avec la commande **ln** : 
 +<code user> 
 +ln machin bidule 
 +</​code>​ 
 +Regardons les numéros d'​inode de nos deux fichiers : 
 +<code user> 
 +ls -i machin bidule 
 +</​code>​ 
 +<file - Affiche>​ 
 +6488098 bidule ​ 6488098 machin 
 +</​file>​ 
 +Le numéro d'​inode sera différent chez vous, bien entendu. Mais ça devrait être le même 
 +numéro d'​inode. C'est ce qui est important. Ça démontre que les deux fichiers sont 
 +en fait les mêmes ! 
 +Essayons, de modifier **machin** : 
 +<code user> 
 +echo "je suis machin"​ >​machin 
 +cat machin 
 +</​code>​ 
 +<file - Affiche>​ 
 +je suis machin 
 +</​file>​ 
 +Voyons à présent ce qu'il y a dans **bidule** 
 +<code user> 
 +cat bidule 
 +</​code>​ 
 +<file - Affiche>​ 
 +je suis machin 
 +</​file>​ 
 +Voilà ! En modifiant, les données de **machin** nous avons modifié celle de **bidule**, car les deux 
 +fichiers ont les mêmes données sur le disque. Tenez, regardons le compteur de lien de nos deux fichiers : 
 +<code user> 
 +ls -l bidule machin 
 +</​code>​ 
 +<file - Affiche>​ 
 +-rw-r--r-- 2 enicar enicar 15 mars  21 17:11 bidule 
 +-rw-r--r-- 2 enicar enicar 15 mars  21 17:11 machin 
 +</​file>​ 
 +Oh ! Le compteur de lien de machin a été incrémenté de 1, celui de bidule est aussi de 2 ! 
 +On va aller plus loin, grâce à la commande **stat** : 
 +<code user> 
 +stat bidule machin 
 +</​code>​ 
 +<file - Affiche>​ 
 +   ​Fichier :​ « bidule » 
 +   ​Taille :​ 15          Blocs : 8          Blocs d'​E/​S :​ 4096   ​fichier 
 +Périphérique :​ fe05h/​65029d ​    ​Inœud :​ 6488098 ​    ​Liens :​ 2 
 +Accès : (0644/​-rw-r--r--) ​ UID : ( 1000/     ​enicar) ​  ​GID :​ ( 1000/     ​enicar) 
 + ​Accès :​ 2015-03-21 17:​11:​49.642004857 +0100 
 +Modif. : 2015-03-21 17:​11:​43.670004690 +0100 
 +Changt : 2015-03-21 17:​11:​43.670004690 +0100 
 +  Créé : - 
 +  Fichier : « machin » 
 +   ​Taille :​ 15          Blocs : 8          Blocs d'​E/​S :​ 4096   ​fichier 
 +Périphérique :​ fe05h/​65029d ​    ​Inœud :​ 6488098 ​    ​Liens :​ 2 
 +Accès : (0644/​-rw-r--r--) ​ UID : ( 1000/     ​enicar) ​  ​GID :​ ( 1000/     ​enicar) 
 + ​Accès :​ 2015-03-21 17:​11:​49.642004857 +0100 
 +Modif. : 2015-03-21 17:​11:​43.670004690 +0100 
 +Changt : 2015-03-21 17:​11:​43.670004690 +0100 
 +  Créé : - 
 +</​file>​ 
 +Vous pouvez vérifier que pour **bidule** et **machin** les dates de dernier accès sont les mêmes. Il en 
 +est de même pour les dates de changement et dernière modification. Les deux fichiers sont indiscernables,​ 
 +tant au niveau de leur données que de leur métadonnées. 
 + 
 +Supprimons **machin** : 
 +<code user> 
 +rm machin 
 +</​code>​ 
 +Voyons, ce qu'il y a dans **bidule** : 
 +<code user> 
 +cat bidule 
 +</​code>​ 
 +<file - Affiche>​ 
 +je suis machin 
 +</​file>​ 
 +Le fichier **bidule** existe toujours, ses données n'ont pas changé. 
 + 
 +===== Les répertoires ===== 
 +FIXME À SUIVRE...

Pied de page des forums

Propulsé par FluxBB