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 [20/03/2015 22:22]
enicar [La sortie de ls -l]
utilisateurs:enicar:tutos:peregrination-autour-de-ls-l [21/03/2015 08:18]
enicar [Pérégrination autour de ls -l]
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]]
 +     * [[doc:​systeme:​chmod]]
 +     * [[doc:​systeme:​chown]]
 +     * [[doc:​systeme:​chgrp]]
  
 ===== Introduction ===== ===== Introduction =====
Ligne 15: Ligne 19:
 </​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 ;)+La plupart ​de ces notions sont aussi vraies pour d'​autres systèmes de fichiers unix, bien sûr ;)
  
 Donc je vais d'​abord exposer ces notions essentielles,​ et ensuite on va revenir sur des exemples Donc je vais d'​abord exposer ces notions essentielles,​ et ensuite on va revenir sur des exemples
Ligne 26: Ligne 30:
 </​code>​ </​code>​
  
-<​file ​bash Ce qui me donne>+<​file ​Ce qui me donne>
 -rw-r--r-- 1 enicar enicar 1436 avril 23  2014 /​home/​enicar/​.bashrc -rw-r--r-- 1 enicar enicar 1436 avril 23  2014 /​home/​enicar/​.bashrc
 </​file>​ </​file>​
Ligne 42: Ligne 46:
 |/​home/​enicar/​.bashrc| Le nom du fichier| |/​home/​enicar/​.bashrc| Le nom du fichier|
  
-Détaillons tout cela un peu plus. +<​note>​  
-=== Type de fichier et permissions ===+Deux options (entre autre) permettent de modifier l'​affichage de **ls -l** 
 +  * **-i** permet d'​afficher en plus le numéro d'​inode 
 +  * **-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 72:
 |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 80:
 <​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 103:
 |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 :
 <code user> <code user>
-ls -l bin/su+ls -l /bin/su
 </​code>​ </​code>​
-<​file ​bash Nous affiche>+<​file ​- Affiche>
 -rwsr-xr-x 1 root root 38868 nov.  19 22:03 /bin/su -rwsr-xr-x 1 root root 38868 nov.  19 22:03 /bin/su
 </​file>​ </​file>​
 Ici, nous voyons que la commande « su » a son bit setuid positionné. Ici, nous voyons que la commande « su » a son bit setuid positionné.
-Je reviendrais plus tard sur la signification et l'​usage des setuid et setgid.+<​note>​Je reviendrais plus tard sur la signification et l'​usage des setuid et setgid.</​note>​
  
 Pour terminer avec les droits, le champ « rwx » des autres (c'est à dire ceux qui ne sont ni le propriétaire,​ Pour terminer avec les droits, le champ « rwx » des autres (c'est à dire ceux qui ne sont ni le propriétaire,​
Ligne 114: Ligne 128:
 ls -ld /tmp ls -ld /tmp
 </​code>​ </​code>​
-<​file ​bash Nous affiche>+<​file ​- Affiche>
 drwxrwxrwt 9 root root 8192 mars  20 20:25 /tmp drwxrwxrwt 9 root root 8192 mars  20 20:25 /tmp
 </​file>​ </​file>​
 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 143:
 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 135: Ligne 149:
 ls -lh ~/.bashrc ls -lh ~/.bashrc
 </​code>​ </​code>​
-<​file ​bash Affiche>+<​file ​Affiche>
  ​-rw-r--r-- 1 enicar enicar 1,5K avril 23  2014 /​home/​enicar/​.bashrc  ​-rw-r--r-- 1 enicar enicar 1,5K avril 23  2014 /​home/​enicar/​.bashrc
 </​file>​ </​file>​
Ligne 144: Ligne 158:
 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 155: Ligne 169:
 stat ~/.bashrc stat ~/.bashrc
 </​code>​ </​code>​
-<​file ​bash Affiche>+<​file ​Affiche>
   Fichier : « /​home/​enicar/​.bashrc »   Fichier : « /​home/​enicar/​.bashrc »
    ​Taille :​ 1436        Blocs : 8          Blocs d'​E/​S :​ 4096   ​fichier    ​Taille :​ 1436        Blocs : 8          Blocs d'​E/​S :​ 4096   ​fichier
Ligne 166: Ligne 180:
 </​file>​ </​file>​
 On voit les trois différentes dates. ​ La date de dernière modification est changée lorsqu'​on modifie ​ On voit les trois différentes dates. ​ La date de dernière modification est changée lorsqu'​on modifie ​
-les données du fichier. La date de dernier ​« changement ​» indique la date du dernier changement ​de droitde propriétaire ​ou de groupe. La date de dernier accès est changé lors d'un accès en lecture et aussi quand l'une +les données du fichier. La date de dernier changement indique la date dernier changement ​des méta données concernant le fichier (c'est à direles informations,​ comme sa taille, son propriétaire, son groupe, ses droits, son nombre de liens,​…)FIXME. La date de dernier accès est changé lors d'un accès en lecture et aussi quand l'une des dates de modification ou de changement est changée. ​FIXME
-des dates de modification ou de changement est changée.+
  
 On peut obtenir les dates de derniers accès et de dernier changement avec « **ls -l** ». Une option On peut obtenir les dates de derniers accès et de dernier changement avec « **ls -l** ». Une option
Ligne 176: Ligne 189:
 |ctime ou status|-c|date de dernier changement| |ctime ou status|-c|date de dernier changement|
  
 +===== Nom du fichier =====
  
 +Nous avons ici :
 +<file bash>
 +/​home/​enicar/​.bashrc
 +</​file>​
 +**ls** n'​affiche pas le nom des fichiers avec le chemin en entier. C'est le shell qui a substitué le « **~** » en « /​home/​enicar ».
 +La même chose se passe quand on utilise un méta caractère du shell comme «** * **».
 +Pour vous en convaincre, comparez les sorties des deux commandes :
 +<code user>
 +ls *
 +echo *
 +</​code>​
 +Nous voyons que **ls** met en forme la sortie alors que **echo** fait juste un… écho !
  
  

Pied de page des forums

Propulsé par FluxBB