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 →
Ci-dessous, les différences entre deux révisions de la page.
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 06:36] enicar [La sortie de ls -l] |
utilisateurs:enicar:tutos:peregrination-autour-de-ls-l [21/03/2015 08:09] enicar [Type de fichier et permissions] |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* [[doc:systeme:ls|commande ls]] | * [[doc:systeme:ls|commande ls]] | ||
+ | * [[doc:systeme:ln|commande ln]] | ||
* [[doc:systeme:droits-unix|droit unix]] | * [[doc:systeme:droits-unix|droit unix]] | ||
Ligne 15: | Ligne 16: | ||
</code> | </code> | ||
Ceci permettra d'aborder les droits sur les fichiers, les notions de propriétaires et de groupe et | Ceci permettra d'aborder les droits sur les fichiers, les notions de propriétaires et de groupe et | ||
- | les divers type de fichiers qui existent sur un système de fichier linux (ext2/ext3/ext4/btrfs). | + | les divers type de fichiers qui existent sur un système de fichier linux (ext2/ext3/ext4). |
Certaines de ces notions sont aussi vraies pour d'autres systèmes de fichiers unix, bien sûr ;) | Certaines de ces notions sont aussi vraies pour d'autres systèmes de fichiers unix, bien sûr ;) | ||
Ligne 42: | Ligne 43: | ||
|/home/enicar/.bashrc| Le nom du fichier| | |/home/enicar/.bashrc| Le nom du fichier| | ||
- | Détaillons tout cela un peu plus. | + | <note> L'option **-i** permet d'afficher en plus le numéro d'inode.</note> |
- | === Type de fichier et permissions === | + | <note> L'option **-g** est identique à **-l**, mis à part qu'elle n'affiche pas le nom du propriétaire.</note> |
+ | ===== Type de fichier et permissions ===== | ||
Détaillons, le champ : | Détaillons, le champ : | ||
<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 | + | * **-** : C'est une 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 | ||
* **r--** : Permission pour les autres (ceux qui ne sont ni le propriétaire, ni le groupe). | * **r--** : Permission pour les autres (ceux qui ne sont ni le propriétaire, ni le groupe). | ||
- | == Type de fichier == | + | ==== Type de fichier ==== |
Dans un système de fichier de type unix, il existe plusieurs types de fichiers. La commande « ls -l » | Dans un système de fichier de type unix, il existe plusieurs types de fichiers. La commande « ls -l » | ||
utilise un caractère pour nous informer sur ce type : | utilise un caractère pour nous informer sur ce type : | ||
Ligne 64: | Ligne 66: | ||
|c|Périphérique avec accès de type **c**aractère| | |c|Périphérique avec accès de type **c**aractère| | ||
- | == Permissions == | + | ==== Permissions ==== |
Les permissions sont stockés dans le premier inode (au moins) du fichier sous la forme | Les permissions sont stockés dans le premier inode (au moins) du fichier sous la forme | ||
d'un entier. Cet entier un vecteur de bits. C'est à dire que chaque bit de cet entier | d'un entier. Cet entier un vecteur de bits. C'est à dire que chaque bit de cet entier | ||
Ligne 72: | Ligne 74: | ||
<note>J'expliquerai plus tard ce que sont les inodes</note> | <note>J'expliquerai plus tard ce que sont les inodes</note> | ||
- | Signification pour les trois champs des lettres « **rwx** » sont : | + | Le champ des permissions est organisé en trois groupes qui correspondent aux permissions pour |
+ | le propriétaire, pour le groupe et pour les autres. Pour chacun de ces groupes, trois attributs | ||
+ | peuvent être positionné ou non. | ||
+ | |||
+ | La signification pour les trois groupe des attributs « **rwx** » est : | ||
^Code^Signification^ | ^Code^Signification^ | ||
|r|Accès en lecture autorisé| | |r|Accès en lecture autorisé| | ||
|w|Accès en écriture autorisé| | |w|Accès en écriture autorisé| | ||
|x|Droits d'exécution ou droit de faire un « cd »| | |x|Droits d'exécution ou droit de faire un « cd »| | ||
- | |-|Aucun droit| | + | |-|L'attribut n'est pas positionné| |
- | Les droits sont toujours dans le même ordre : lecture, écriture, exécution. | ||
Quelques exemples éclaircirons les choses : | Quelques exemples éclaircirons les choses : | ||
^Code^Signification^ | ^Code^Signification^ | ||
Ligne 92: | Ligne 97: | ||
|S|Le bit setuid ou setgid est positionné, mais pas le droit en exécution| | |S|Le bit setuid ou setgid est positionné, mais pas le droit en exécution| | ||
|s|Le bit setuid ou setgid est positionné ainsi que le droit en exécution| | |s|Le bit setuid ou setgid est positionné ainsi que le droit en exécution| | ||
+ | |||
+ | On parle de setuid pour c'est l'attribut du propriétaire qui est positionné, et de setgid | ||
+ | quand c'est l'attribut du groupe. | ||
Par exemple : | Par exemple : | ||
Ligne 119: | Ligne 127: | ||
Nous voyons bien que le bit **t** est positionné. | Nous voyons bien que le bit **t** est positionné. | ||
- | === Propriétaire et groupe === | + | ===== Propriétaire et groupe ===== |
Dans un système unix chaque fichier appartient à un utilisateur (que l'on appelle son propriétaire) et à | Dans un système unix chaque fichier appartient à un utilisateur (que l'on appelle son propriétaire) et à | ||
un groupe. Chaque utilisateur fait aussi partie d'un groupe au moins (Voyez ce qu'affiche la commande « **groups** » | un groupe. Chaque utilisateur fait aussi partie d'un groupe au moins (Voyez ce qu'affiche la commande « **groups** » | ||
Ligne 129: | Ligne 137: | ||
sur les systèmes qui sont vraiment utilisés par plusieurs personnes. | sur les systèmes qui sont vraiment utilisés par plusieurs personnes. | ||
- | === Taille du fichier === | + | ===== Taille du fichier ===== |
Par défaut « **ls -l** » affiche la taille en octets. On peut obtenir un affichage plus parlant avec l'option | Par défaut « **ls -l** » affiche la taille en octets. On peut obtenir un affichage plus parlant avec l'option | ||
« **-h** » (comme **h**uman readable, c'est à dire lisible pour un humain): | « **-h** » (comme **h**uman readable, c'est à dire lisible pour un humain): | ||
Ligne 144: | Ligne 152: | ||
alors que un méga = 1000 * 1000.</note> | alors que un méga = 1000 * 1000.</note> | ||
- | === Date de dernière modification === | + | ===== Date de dernière modification ===== |
Par défaut « **ls -l** » affiche la date de dernière modification. Chaque fichiers, possèdent | Par défaut « **ls -l** » affiche la date de dernière modification. Chaque fichiers, possèdent | ||
plusieurs horodatages. Il en existe 3 : | plusieurs horodatages. Il en existe 3 : | ||
Ligne 175: | Ligne 183: | ||
|ctime ou status|-c|date de dernier changement| | |ctime ou status|-c|date de dernier changement| | ||
- | === Nom du fichier === | + | ===== Nom du fichier ===== |
Nous avons ici : | Nous avons ici : |