MANUEL DES MANUELS     Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Site de documentation Linux, GNU/linux, commandes, tutoriels.

Documentation protégée par licence copyleft - tous droits inversés (Voir détail en fin de document)


PRESENTATION RAPIDE DES COMMANDES LISTE DES TUTORIELS LISTE DES INDEX DES MOTS CLES DES MAN ANNEXES




 1 : INDEX COMMANDES SHELL   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce manuel est consacré à la description des commandes SHELL et LINUX .

Le contenu de ces chapitres est plutôt un index qui pointe sur les pages officielles obtenues à partir des 'man'.

Date de dernière mise à jour : 09/10/2008 Bash 3.2.39

Afin de faciliter la lecture du manuel les commandes ont été regroupées par grands groupes de commandes.

Le premier chapitre est consacré au SHELL et les chapitres suivants sont consacrés aux commandes standard regroupées par thème :

   ┌──────────────────────────────────────┐
   │ SHELL                                │
   │ COMMANDES ENVIRONNEMENT              │
   │ COMMANDES AFFICHAGE                  │
   │ ATTRIBUTS FICHIERS                   │
   │ CREATION/COPIE/EFFACEMENT FICHIERS   │
   │ MANIPULATIONS FICHIERS               │
   │ GESTION DISQUE                       │
   │ BACKUP COPIE                         │
   │ CONTROLE PROCESSUS                   │
   │ GESTION TERMINAL                     │
   │ COMMANDES A DISTANCE                 │
   │ COMMUNICATION ENTRE UTILISATEURS     │
   │ GESTION DU TEMPS                     │
   │ GESTION UTILISATEURS                 │
   └──────────────────────────────────────┘


Ce regroupement est un peu arbitraire.

Certaines commandes pourraient figurer dans plusieurs chapitres, mais sont décrites dans le chapitre qui correspond à l'usage principal.

Exemple : 'cat' fait partie du chapitre 'COMMANDES AFFICHAGES' mais dans le sous-chapitre consacré à 'cat' il sera mentionné qu'il est possible, avec 'cat', de faire de la copie de fichiers.

'cpio' fait partie du chapitre 'BACKUP' mais il y est mentionné que 'cpio' peut aussi copier des fichiers dans un répertoire destination.

La table des matières est en deux parties :

La première (au début du document) est par ordre logique La deuxième (en fin de docutemt) est par ordre alphabétique des mots-clés donc des noms de commande.




 2 : SHELL   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Le SHELL (coquille) désigne l'interpréteur de commandes du système Linux. Il est intitulé ainsi pour bien montrer l'interpénétration entre une session LINUX et les commandes LINUX.

Le SHELL est la première entité que l'utilisateur rencontre lors d'une connexion ou de l'ouverture d'un terminal.

On pourrait réduire le SHELL à un simple lanceur de commandes.

- L'utilisateur reçoit une invite (prompt).

- L'utilisateur compose une commande et la valide.

- Le SHELL exécute la commande.

- Puis en fin d'exécution, le SHELL affiche une nouvelle invite (prompt) pour la saisie de la commande suivante.

Le SHELL fait beaucoup plus que cela :

- Il s'agit d'un interpréteur puissant exécutant des script.

- Lors de l'exécution d'un script, il dispose des instructions (for do ... cône, if then ... ). En fait même en mode interactif (avec prompt) on pourra utiliser aussi ces instructions. En fait avec le SHELL on parle de commandes et il faut considérer 'for', 'if', ... comme des commandes.

De plus on parle souvent du SHELL, mais il existe plusieurs SHELL et un utilisateur pourra faire son choix entre différentes SHELLs (sh, ksh, bash, ...).

Sur de nombreux systèmes, c'est bash qui est le shell par défaut.

Dans les pages de ce manuel, vous trouverez un tutoriel consacré à bash.

Dès que vous maitriserez bash, nous vous invitons à essayer (voir adopter) l'un des autres.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ bash     ::= Bourne Again SHell                                     │
 │ chsh     ::= Modification du shell de login d'un utilisateur        │
 │ ksh      ::= Korn SHell                                             │
 │ tcsh     ::= Shell  C                                               │
 └─────────────────────────────────────────────────────────────────────┘




 3 : COMMANDES ENVIRONNEMENT   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre traitera des commandes ENVIRONNEMENT

 ┌───────────────────────────────────────────────────────────────────────┐ => Détails/Exemples
 │ cd         ::= Changement de répertoire courant                       │
 │ df         ::= Affichage espace libre dans les 'file-system'          │
 │ du         ::= Affichage occupation disque                            │
 │ env        ::= Affichage/Modification variables environnement         │
 │ file       ::=  Détermination de contenu logique d'un fichier.        │
 │ finger     ::= Informations sur les utilisateurs                      │
 │ groups     ::= Informations sur les groupes                           │
 │ hash       ::= Gestion de la table système 'hash'                     │
 │ id         ::= Informations sur l'utilisateur connecté                │
 │ find       ::= Recherche fichiers dans une arborescence               │ => findgate io       ::= Informations sur l'historique des connexions           │
 │ locale     ::= Information sur les spécificités culturelles d'un pays │
 │ locate     ::= Localisation fichier(s)  (voir updatedb)               │
 │ logname    ::= Informations sur l'utilisateur connecté                │
 │ ls         ::= Affichage contenu de répertoire(s)                     │ => lspwd        ::= Affichage répertoire courant                           │
 │ tty        ::= Informations sur le tty connecté                       │
 │ setxkbmap  ::= Modification du type de clavier sous X11 (terminal X)  │ => setxkbmaploadkeys   ::= Modification du type de clavier en mode texte          │ => loadkeystype       ::= Localisation et type commande (voir which)             │
 │ ulimit     ::= Gestion taille maximum fichiers                        │
 │ umask      ::= Masque mode création fichiers                          │ => umaskupdatedb   ::= Mise à jour de la base de données de locate            │
 │ uname      ::= Informations sur la machine où l'on est connecté       │
 │ which      ::= Affiche le chemin complet d'un exécutable (voir type)  │
 │ who        ::= Qui est connecté                                       │
 └───────────────────────────────────────────────────────────────────────┘




 4 : COMMANDES AFFICHAGE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre traitera des commandes AFFICHAGE

  ┌─────────────────────────────────────────────────────────────────────┐
  │ banner   ::=  Affichage en gros caractères de mots <10 car.         │
  │ bc       ::=  Langage de calculs (calculatrice).                    │
  │ cat      ::=  Affichage contenu fichier.                            │
  │ echo     ::=  Affichage arguments.                                  │
  │ hexdump  ::=  Dump hexadécimal (ou octal)                           │
  │ head     ::=  Affichage début fichier.                              │
  │ less     ::=  Affichage paginé d'un fichier.                        │
  │ more     ::=  Affichage paginé d'un fichier.                        │
  │ od       ::=  Dump octal/hexadécimal.                               │
  │ pr       ::=  Mise en page / Préparation impression.                │
  │ printf   ::=  Affichage formaté d'arguments.                        │
  │ strings  ::=  Affichage chaînes ASCII dans un exécutable.           │
  │ gateio login     ::=  Affichage fin de fichier.                             │
  │ tee      ::=  Dérivation sortie standard.                           │
  └─────────────────────────────────────────────────────────────────────┘




 5 : ATTRIBUTS FICHIERS   gateio app   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre traitera des commandes ATTRIBUTS FICHIERS

 ┌────────────────────────────────────────────────────────────────────────────────────────────┐
 │ chgrp  ::=  Changement du groupe d'un ou plusieurs fichiers.                               │
 │ chmod  ::=  Changement de mode d'un ou plusieurs fichiers.                                 │
 │ chown  ::=  Changement du propriétaire d'un ou plusieurs fichiers.                         │ => chmodfile   ::=  Détermination de contenu logique d'un fichier.                                 │
 │ touch  ::=  Modification date dernier accès/modification                                   │
 │ umask  ::=  Paramétrage des droits fichiers par défaut (pendant une création)              │ => umask
 └────────────────────────────────────────────────────────────────────────────────────────────┘




 6 : CREATION/COPIE/EFFACEMENT FICHIERS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre traitera des commandes CREATION/COPIE/EFFACEMENT

 ┌─────────────────────────────────────────────────────────────┐
 │ copy    ::=  Copie Répertoire => Répertoire                 │
 │ cp      ::=  Copie Fichier => Fichier/Répertoire            │
 │ ln      ::=  Création de liens physiques/symboliques        │
 │ mkdir   ::=  Création répertoire                            │
 │ mv      ::=  Déplacement/Changement de nom de fichiers      │
 │ rm      ::=  Destruction fichiers/répertoires               │
 │ rmdir   ::=  Destruction répertoires                        │
 │ rsync   ::=  Copie/Synchronisation répertoires              │
 └─────────────────────────────────────────────────────────────┘

La commande 'cpio' permet de copier des fichiers d'un répertoire dans un autre mais comme elle est utilisée principalement pour des copies de sécurité sur des supports magnétiques, elle est décrite dans le chapitre "BACKUP/COPIE".

La commande 'dd' permet aussi de faire des copies de fichiers (avec des possibilités de conversion et de 'skip' (saut de n blocs)). Elle est décrite dans le chapitre "BACKUP/COPIE"

La commande 'cat sce1 sce2 >dest' permet aussi de faire des copies de fichiers. Elle est décrite dans le chapitre "AFFICHAGE".




 7 : MANIPULATIONS FICHIER   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre traitera des commandes MANIPULATION

 ┌─────────────────────────────────────────────────────────────────────────┐
 │awk      Langage de recherche et manip. de chaînes de caractères         │
 │basename Extraction nom de fichier dans un path                          │
 │cmp      Comparaison entre fichiers                                      │
 │comm     Différences et points communs entre fichiers triés              │
 │csplit   Fractionnement de fichiers                                      │
 │cut      Fractionnement de champs dans une ligne                         │
 │diff     Différences entre deux fichiers textes                          │
 │dirname  Extraction nom de répertoire dans un path,voir basename         │
 │diff3    Différences entre trois fichiers textes                         │
 │egrep    Rech. Expressions Régulières Complètes dans des fichiers        │
 │fgrep    Recherche chaînes de caractères dans un ou des fichiers         │
 │fmt      Formatage simple d'un ou plusieurs texte(s)                     │
 │fold     Coupure lignes dans un ou plusieurs texte(s)                    │
 │gawk     Langage de recherche et manip. de chaînes de caractères         │
 │grep     Rech. Expressions Régulières Réduites dans des fichiers         │
 │iconv    Conversion fichier d'un codage à un autre codage                │
 │join     Réunion de 'relations' contenues dans des fichiers triés        │
 │nl       Numérotation de lignes                                          │
 │paste    Fusion de lignes identiques ou consécutives                     │
 │sdiff    Différence entre deux fichiers avec juxtaposition lignes        │
 │sort     Tri fichier(s)                                                  │
 │split    Découpage d'un fichier en plusieurs segments                    │
 │sum      Calcul d'un chiffre de contrôle (check-sum)                     │
 │tr       Transformation de caractères                                    │
 │uniq     Recherche lignes identiques dans un fichier                     │
 │wc       Comptage lignes, mots, caractères                               │
 └─────────────────────────────────────────────────────────────────────────┘

Des commandes comme 'grep', 'egrep' et 'fgrep' se ressemblent et doivent être choisies en fonction du cas à traiter.

'fgrep' ::= Recherche simple de sous-chaînes de caractères.

'grep' ::= Recherche d'expressions régulières réduites.

'egrep' ::= Recherche d'expressions régulières complètes.

Dans certains cas 'ed', 'sed' ou 'awk' sont plus adaptées que 'grep', 'egrep' ou 'fregp' à faire des traitements de chaînes.

'ed' ::= Editeur ligne à ligne : recherche/modification 'sed' ::= Editeur de flux : recherche/modification (E.R. complètes) 'awk' ::= Langage de traitement de contenu de fichiers (E.R. complètes)




 8 : GESTION DISQUE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre traitera des commandes de gestion du disque, des partitions, ...

ATTENTION : Certaines des commandes disques peuvent entraîner des pertes de données.

 ┌─────────────────────────────────────────────────────────────────────────┐
 │ fdisk     Affichage/Maintenance partitions disques                      │
 │ parted    Affichage/Maintenance partitions disques+type système fichiers│
 │ fsck      Vérification (Réparation) partitions disque                   │
 │ mkfs      Formattage partition                                          │
 │ mount     Montage d'une partition                                       │
 │ umount    Démontage d'une partition                                     │
 │ e2label   Affichage/Modification label disque                           │
 │ tune2fs   Affichage/Modification caractéristiques disque                │
 └─────────────────────────────────────────────────────────────────────────┘




 9 : BACKUP COPIE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre traitera des commandes BACKUP COPIE

 ┌─────────────────────────────────────────────────────────────────┐
 │ cpio      Utilitaire de Copie/Sauvegarde/Restauration fichiers  │
 │ dd        Utilitaire Copie/Conversion fichier                   │
 │ gzip      Compression Décompression                             │
 │ rsync     Utilitaire de Sauvegarde/Restauration fichiers        │
 │ tar       Utilitaire de Sauvegarde/Restauration fichiers        │
 │ zip       Archivage/compression                                 │
 │ unzip     Lecture archive zip                                   │
 └─────────────────────────────────────────────────────────────────┘




 10 : CONTROLE PROCESSUS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre sera consacré aux commandes permettant le contrôle des processus.

 ┌───────────────────────────────────────────────────────────────┐
 │ runlevel       Niveau de boot                                 │
 │ who            who -r Information sur le boot                 │
 │ who            who -b Information sur le boot                 │
 │ kill           Interruption d'un processus                    │
 │ nice           Lancement commande / gestion priorite          │
 │ nohup          Lancement commande protegee contre             │
 │ ps             Info sur l'etat des processus                  │
 │ wait           Attente fin execution processus lancés         │
 └───────────────────────────────────────────────────────────────┘




 11 : GESTION TERMINAL   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre sera consacré aux commandes permettant la gestion d'un terminal.

 ┌──────────────────────────────────────────────────────┐
 │ clear          Effacement contenu écran              │
 │ script         Trace affichage écran                 │
 │ stty           Parametrage d'un terminal             │
 │ tput           Gestion écran avec terminfo           │
 └──────────────────────────────────────────────────────┘




 12 : COMMANDES A DISTANCE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre sera consacré aux commandes permettant la gestion d'un terminal.

Le commandes anciennes ftp, telnet, rxxx ne devraient plus être utilisées que pour se connecter sur des hôtes anciens n'ayant pas de sshd.

 ┌─────────────   Commandes anciennes    ─────────────────────────┐
 │ telnet         Connexion à distance                            │
 │ ftp            Envoi/récup fichiers                            │
 │ rlogin         Connexion à distance / Exécution distante       │
 │ rcp            Copie fichiers/répert. à distance               │
 ├────────────   Commandes sécurisées    ─────────────────────────┤
 │ ssh            Connexion à distance / exécution distante       │
 │ scp            copie fichiers/répert. à distance               │
 │ sftp           Ftp via ssh (sécurisé)                          │
 │ rsync          Synchronisation répertoires via ssh             │
 └────────────────────────────────────────────────────────────────┘




 13 : COMMUNICATION ENTRE UTILISATEURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre sera consacré aux commandes permettant à des utilisateurs de communiquer entre eux.

 ┌─────────────────────────────────────────────────────────────┐
 │ mail           Gestion boite aux lettres                    │
 │ mesg           Autorisation réception message               │
 │ notify         Affichage immédiat arrivage                  │
 │ talk           conversation temps réel entre users          │
 │ write          Ecriture message => utilisateur              │
 └─────────────────────────────────────────────────────────────┘




 14 : GESTION DU TEMPS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre sera consacré aux commandes gérant :

- le lancement différé ou périodique de commandes et leur gestion.

- la date système et le calendrier - la mesure de durée d'une commande - la suspension d'exécution pendant une durée déterminée

 ┌───────────────────────────────────────────────────────────┐
 │ at        ENVOI COMMANDE(S) EN DIFFERE                    │
 │ atq       AFFICHAGE TACHES DIFFEREES                      │
 │ atrm      SUPPRESSION TACHES DIFFEREES                    │
 │ crontab   GESTION COMMANDE(S) REPETITIVES                 │
 │ cal       AFFICHAGE CALENDRIER                            │
 │ date      GESTION DATE SYSTEME                            │
 │ sleep     SUSPENSION EXECUTION                            │
 │ time      MESURE DUREE EXECUTION COMMANDE                 │
 │ times     DUREE UTILISATEUR/SYSTEME SESSION SHELL         │
 └───────────────────────────────────────────────────────────┘




 15 : GESTION UTILISATEURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre sera consacré aux commandes permettant la gestion des utilisateurs des groupes et des connexions.

 ┌─────────────────────────────────────────────────────┐
 │ groupadd    CREATION GROUPE                         │
 │ groupmod    MODIFICATION GROUPE                     │
 │ login       INITIALISATION SESSION                  │
 │ newgrp      CHANGEMENT DE GROUPE                    │
 │ passwd      GESTION MOT DE PASSE                    │
 │ pwconv      RECONSTRUCTION '/etc/shadow'            │
 │ su          SUBSTITUTION D'IDENTITE                 │
 │ sudo        SUBSTITUTION D'IDENTITE                 │
 │ useradd     CREATION UTILISATEUR                    │
 │ usermod     MODIFICATION UTILISATEUR                │
 │ userdel     SUPPRESSION UTILISATEUR                 │
 └─────────────────────────────────────────────────────┘




 32 : Compléments d'information   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil




 32.1 : setxkbmap et loadkeys Changement de clavier   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

La commande setxkbmap permet de modifier le type de clavier pendant une session X11 mais aussi des terminaux graphiques (gnome-terminal, konsole, ...).

La liste des claviers disponibles se trouve dans /usr/share/X11/xkb/keymap/xfree86 EXEMPLES :

  setxkbmap fr
  setxkbmap us

Pour chaque type de clavier on peut ajouter des variantes pour la gestions des caractères spéciaux (œ,¹,², ...)


La commande loadkeys permet de modifier le type de clavier pour une session texte (boot, init 1, init 3, ...) La liste des claviers disponibles se trouve dans /lib/kbd/keymaps.

EXEMPLES :

 loadkeys us
 loadkeys fr-latin9




 33 : Recettes de cuisine   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil




 33.1 : find Recherche de fichiers dans une arborescence   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce chapitre est consacré à des utilisations courantes de 'find'.

La variété des options de 'find' ne permet pas de les représenter toutes dans ces exemples simples. Seules les plus courantes seront présentées.

Il est important de savoir que pour la localisation, sur l'ensemble des partitions, d'un ou plusieurs fichiers avec des critères de recherches sur le nom, la commande locate, à partir d'une base de données ²updatedb² (mise à jour régulièrement par des cron), est beaucoup plus rapide.

Pour un utilisateur 'dupond' ayant un '$HOME' assigné à '/home/dupond', et positionné sur ce répertoire, on pourra, à partir de ce répertoire lancer les commandes suivantes :

  ┌───────────────┐
  │ find . -print │  Ce qui donnera un affichage des fichiers contenus dans le répertoire courant
  └───────────────┘    et tous les sous-répertoires à partir de ce répertoire.  

Cet affichage se fera en relatif.

              ┌─────────────────┐
              │ ./toto.c        │   L'ordre d'affichage correspond à l'ordre
              │ ./es.c          │     croissant des numéros d'I-node des
              │ ./bin           │     fichiers, et pas à l'ordre
              │ ./bin/ycat70    │     alphabétique.
              │ ./sce           │
              │ ./sce/ycat70.c  │
              │ ./.profile      │
              └─────────────────┘

  ┌──────────────────────────┐
  │ find $HOME -print        │  Ce qui affichera les mêmes noms de fichiers
  │ find /home/dupond -print │  mais avec un 'path' absolu puisque le répertoire
  └──────────────────────────┘  de départ a été spécifié en absolu.

              ┌────────────────────────────┐
              │ /home/dupond/toto.c        │  Même remarque que précédemment
              │ /home/dupond/es.c          │    sur l'ordre d'affichage.
              │ /home/dupond/bin           │
              │ /home/dupond/bin/ycat70    │
              │ /home/dupond/sce           │
              │ /home/dupond/sce/ycat70.c  │
              │ /home/dupond/.profile      │
              └────────────────────────────┘

  ┌───────────────────────────────────────┐
  │ find /home/dupond /home/durand -print │  Balayage de plusieurs
  └───────────────────────────────────────┘    répertoires.


SELECTIONS SUR LE NOM

  ┌───────────────────────────┐
  │ find . -name "*.c" -print │  Affichera la liste de tous les fichiers
  └───────────────────────────┘  se terminant par '.c'.

              ┌─────────────────┐
              │ ./toto.c        │
              │ ./es.c          │
              │ ./sce/ycat70.c  │
              └─────────────────┘

Attention à l'encadrement de la chaîne de sélection si celle-ci contient des méta-caractères du SHELL, car si on n'utilisait pas d'encadrement la substitution de ces méta-caractères serait faite avant exécution de la commande et l'option '-name' pourrait être suivie de tous les noms situés dans le répertoire courant et qui correspondent à ces méta-caractères.

Pour plus de détails voir le chapitre 'ETAPES EXECUTIONS COMMANDES')

  ┌─────────────────────────┐
  │ find . -name *.c -print │ aboutirait à
  └─────────────────────────┘
  ┌─────────────────────────────────┐
  │ find . -name toto.c es.c -print │ ce qui est syntaxiquement incorrect.
  └─────────────────────────────────┘

Autre mauvais exemple d'utilisation de '-name' :

  ┌────────────────────────────┐
  │ find . -name  *t*.c -print │ aboutirait à
  └────────────────────────────┘
  ┌────────────────────────────┐
  │ find . -name toto.c -print │ ce qui est syntaxiquement correct pour 'find' puisqu'un seul 
  └────────────────────────────┘  nom a été trouvé dans le répertoire courant.

La recherche se fera sur '-name toto.c' alors que la demande initiale

     était "*t*.c". Elle affichera alors :  ┌─────────────────┐
                                            │ ./toto.c        │
                                            └─────────────────┘

Mais logiquement l'utilisateur voulait certainement obtenir 'toto.c' qui contient un 't' et finit par '.c' mais aussi 'bin/ycat70.c' qui satisfait aussi à cette sélection. Pour obtenir ce résultat il est impératif d'encadrer la chaîne de sélection de l'option '-name' avec des '"' ou des "'".

Utilisation correcte de '-name' :

  ┌─────────────────────────────┐               ┌─────────────────┐
  │ find . -name "*t*.c" -print │ affichera :   │ ./toto.c        │
  └─────────────────────────────┘               │ ./sce/ycat70.c  │
                                                └─────────────────┘


SELECTIONS SUR DATE MODIFICATION Fichiers non modifiés depuis plus de 24 heures

  ┌─────────────────────────┐
  │ find . -mtime +1 -print │
  └─────────────────────────┘

Fichiers modifiés ou créés la veille (dans les 24 heures qui précédent l'intervalle de 24 heures correspondant à la journée courante)

  ┌────────────────────────┐
  │ find . -mtime 1 -print │
  └────────────────────────┘

Fichiers modifiés ou créés dans la journée (dans les 24 dernières heures)

  ┌────────────────────────┐
  │ find . -mtime 0 -print │
  └────────────────────────┘

Fichiers modifiés ou créés la veille ou dans la journée

  ┌──────────────────────────────────────────┐
  │ find . -mtime -2 -print                  │
  │     ou                                   │
  │ find . \( -mtime 1 -o -mtime 0 \) -print │
  └──────────────────────────────────────────┘

L'heure machine au lancement d'une commande avec l'option '-mtime' intervient pour calculer le nombre de jours.

Les jours non ouvrables ne sont pas pris en compte.

L'utilisation de l'option '-newer' est plus facile.

Si l'on désire obtenir les fichiers modifiés depuis une certaine date et heure, il suffit de préparer (avec 'touch') un fichier ayant une date de référence et d'utiliser '-newer' avec ce nom de fichier.

  ┌───────────────────────────┐
  │ touch -t 9903010815 toto  │  Modification de 'toto' au 01/03/99 08:15
  └───────────────────────────┘

  ┌───────────────────────────┐
  │ find . -newer toto -print │  Affichage de tous les fichiers modifiés
  └───────────────────────────┘    ou créés depuis cette date. 

A noter que le fichier 'toto' n'apparaît pas dans cette sélection puisqu'il sert de référence et que seuls les fichiers postérieurs sont sélectionnés.

  ┌─────────────────────────────┐
  │ find . ! -newer toto -print │ Affichage de tous les fichiers modifiés
  └─────────────────────────────┘   antérieurement ou à cette date.

(dans notre exemple le fichier 'toto' apparaîtra en même que les autres).


SELECTIONS SUR DATE ACCES

  ┌──────────────────────────┐
  │ find . -atime +10 -print │  Affichage des fichiers non accédés depuis
  └──────────────────────────┘  plus de 10 jours.

(Voir 'ls -lu' pour affichage date dernier accès).


SELECTIONS SUR DATE MODIF. I-NODE

  ┌────────────────────────┐
  │ find . -ctime 1 -print │    Affichage des fichiers dont l'I-node a été
  └────────────────────────┘    modifié dans les 24 heures qui précédent.

(Voir 'ls -lc' pour affichage date dernier accès).


SELECTION SUR NOM UTILISATEUR

  ┌────────────────────────────┐
  │ find . -user dupond -print │  Affiche les fichiers appartenant à
  └────────────────────────────┘    l'utilisateur 'dupond'.

  ┌──────────────────────────────┐
  │ find . ! -user dupond -print │ Affiche les fichiers n'appartenant pas
  └──────────────────────────────┘   à l'utilisateur 'dupond'.


SELECTION SUR LA TAILLE

  ┌─────────────────────────┐
  │ find . -size 100 -print │  Affichage des fichiers faisant 51.200
  └─────────────────────────┘    caractères.

  ┌──────────────────────────┐
  │ find . -size +100 -print │  Affichage des fichiers faisant plus de
  └──────────────────────────┘    51.200 caractères.


SELECTION SUR TYPE

  ┌───────────────────────┐
  │ find . -type f -print │  Affichage des fichiers réguliers (fichiers de
  └───────────────────────┘    données et/ou exécutables).

  ┌───────────────────────┐
  │ find . -type d -print │  Affichage des fichiers répertoires.
  └───────────────────────┘

Les autres types sélectionnables sont :

b : Fichier spécial de type 'bloc' c : Fichier spécial de type 'caractère' l : Lien symbolique p : Fichier 'pipe' nommé


EXECUTION COMMANDE SHELL

  ┌─────────────────────────────────────┐
  │ find . -size +100 -exec ls -l {} \; │  Affichage des caractéristiques
  └─────────────────────────────────────┘    des fichiers de plus de 51.200

caractères.

  ┌──────────────────────────────────────┐
  │ find . -name -core -exec rm -i {} \; │  Destruction de tous les fichiers
  └──────────────────────────────────────┘    'core' avec une validation

'y' ('rm -i') à composer pour des raisons de prudence.

Si une commande 'find' + 'exec rm {} \;' était lancée en oubliant '-name core', il y aurait destruction de tous les fichiers. Donc toujours spécifier par prudence un 'rm -i' et non pas un 'rm'.

  ┌──────────────────────────────────┐
  │ find . -exec chown dupond {} \;  │  Changement des noms de propriétaire
  │ find . -exec chgrp test {} \;    │    et de groupe de tous les fichiers
  └──────────────────────────────────┘    rencontrés.

ATTENTION : le changement systématique de noms d'utilisateur et de noms de groupe n'est pas anodin surtout pour des fichiers ayant un 's bit' positionné ('--s------' ou '-----s---') (Voir 'chmod').


'find' et LIENS SYMBOLIQUES

Si un des répertoires traités comporte des liens symboliques, la commande 'find' sans option '-follow' ne fait que traiter le lien mais pas le fichier sur lequel pointe ce lien.

Si l'utilisateur possède un fichier 'lettres' qui est un lien symbolique sur le répertoire 'lettres' d'un autre utilisateur, exemple :

       ┌──────────────────────────────────────────────┐
       │ /home/dupond/lettres -> /home/durand/lettres)│
       └──────────────────────────────────────────────┘

il y aura deux façons d'utiliser la commande 'find' :

     ┌─────────────────────┐
     │ find lettres -print │  qui traitera 'lettres' sans s'occuper du
     └─────────────────────┘  répertoire sur lequel il pointe.

Dans ce cas, 'find' n'affiche qu'une ligne pour le lien 'lettres'.

     ┌─────────┐
     │ lettres │
     └─────────┘

     ┌─────────────────────────────┐
     │ find lettres -follow -print │ Suivra le lien symbolique et affichera
     └─────────────────────────────┘   le lien et ce que contient le

fichier sur lequel il pointe.

     ┌─────────────────┐
     │ lettres         │
     │ lettres/lettre1 │
     │ lettres/lettre2 │
     └─────────────────┘

     ┌──────────────────────────────────┐
     │ find /home/dupond -follow -print │ Suivra tous les liens symboliques
     └──────────────────────────────────┘   contenus à partir de

'/home/dupond' en faisant apparaître les fichiers de 'durand' comme s'ils appartenaient à 'dupond'.

     ┌──────────────────────────────┐
     │ /home/dupond/lettres         │
     │ /home/dupond/lettres/lettre1 │
     │ /home/dupond/lettres/lettre2 │
     └──────────────────────────────┘




 33.2 : ls affichage du contenu de répertoires   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

La variété des options de 'ls' fait qu'il est très difficile de les présenter toutes dans des exemples concrets.

Ce chapitre a pour objet de présenter les plus courantes.

De plus comme 'ls' est certainement une des premières commandes que l'on utilise en débutant, il y aura quelques exemples sur ce que fait vraiment la commande et ce qu'à fait le SHELL avant d'exécuter la commande.

Prenons un utilisateur 'dupond' qui est positionné dans son 'home_directory' : '/home/dupond'.

Ce répertoire comporte différents sous-répertoires :

'bin' ::= Pour les exécutables propres à cet utilisateur 'sce' ::= Pour les sources propres à cet utilisateur 'data' ::= Pour les fichiers de données propres à cet utilisateur.

Il contient aussi :

'.profile' ::= Script SHELL exécuté en début de session.

  ┌────┐           ┌───────────────────────┐
  │ ls │  Affiche  │ bin      data     sce │
  └────┘           └───────────────────────┘

  ┌───────┐           ┌─────────────────────────────────────────────────┐
  │ ls -a │  Affiche  │ .        ..       .profile  bin     data    sce │
  └───────┘           └─────────────────────────────────────────────────┘

L'option '-a' affiche les fichiers commençant par un '.'

  ┌──────┐            ┌────────────────────────┐
  │ ls * │  Affiche   │ bin:                   │
  └──────┘            │ ycat70   ytestsi       │
                      │                        │
                      │ data:                  │
                      │ clients    articles    │
                      │                        │
                      │ sce:                   │
                      │ ycat70.c   ytestsi.c   │
                      └────────────────────────┘

Dans ce cas l'argument '*' a été substitué, par le SHELL, en liste de tous les fichiers ne commençant par par un '.', et ceci à abouti à

    l'exécution de : ┌─────────────────┐
                     │ ls bin data sce │
                     └─────────────────┘

Dans ce cas 'bin', 'data' et 'sce' étant des répertoires, la commande 'ls' affiche le contenu de ces répertoires.

L'affichage du contenu d'un répertoire ne se fait que pour le premier niveau. Si l'on désire balayer de façon récursive tous les niveaux il faut : Utiliser l'option '-R' de 'ls' Voir la commande 'find'.

Si l'on ne voulait pas afficher le contenu des répertoires traités par 'ls' il faudrait utiliser l'option '-d'.

  ┌─────────┐           ┌───────────────────────┐
  │ ls -d * │  Affiche  │ bin      data     sce │
  └─────────┘           └───────────────────────┘

 ┌─────────┐           ┌───────────────────────────────────────────┐
 │ ls -a * │  Affiche  │ bin:                                      │
 └─────────┘           │ .        ..        ycat70   ytestsi       │
                       │                                           │
                       │ data:                                     │
                       │ .        ..        clients  articles      │
                       │                                           │
                       │ sce:                                      │
                       │ .        ..        ycat70.c   ytestsi.c   │
                       └───────────────────────────────────────────┘

La substitution par le SHELL de '*' a donné le même résultat que précédemment et l'option '-a' a pour effet d'afficher les fichiers cachés dans les répertoires demandés, c'est à dire 'bin', 'data' et 'sce'. Les fichiers commençant par un '.' dans le répertoire courant ne sont pas traités car la substitution du '*' ne le prévoit pas.

 ┌───────┐
 │ ls .* │  Affiche   ┌────────────────────────────┐
 └───────┘            │ .profile                   │
                      │                            │
                      │ .:                         │
                      │ bin     data    sce        │
                      │                            │
                      │ ..:                        │
                      │ dupond  durand  lost+found │
                      └────────────────────────────┘

Dans ce cas la substitution par le gate.io du '.*' a donné :

        ┌──────────────────┐
        │ ls . .. .profile │  Et comme 'ls' traite les fichiers avant les
        └──────────────────┘    répertoires on obtient l'affichage de

'.profile' avant le contenu de '.' et de '..'.

 ┌────────┐           ┌─────────────────────┐
 │ ls bin │  Affiche  │ ycat70      ytestsi │
 └────────┘           └─────────────────────┘

 ┌──────────┐            ┌───────────────────────────┐
 │ ls bin/* │  Affiche   │ bin/ycat70    bin/ytestsi │
 └──────────┘            └───────────────────────────┘

La différence n'est pas due à 'ls' mais une fois de plus au SHELL.

Dans le deuxième cas 'bin/*' a été interprété par le SHELL et 'ls' a reçu comme arguments 'bin/ycat70' et 'bin/ytestsi'.

Les exemples suivants ne traiteront plus des fonctionnalités du SHELL mais de celles de 'ls'.

Pour plus de détails sur ces substitutions du SHELL, voir le chapitre 'ETAPES EXECUTIONS COMMANDES'.


AFFICHAGE LONG

 ┌────────┐           ┌───────────────────────────────────────────────────┐
 │ ls -la │  Affiche  │total 24                                           │
 └────────┘           │drwxr-xr-x   5 pm   essai 512 Oct  5 15:59 .       │
                      │drwxrwxr-x  12 root sys   512 Oct  5 11:21 ..      │
                      │-rw-r--r--   1 pm   essai  13 Sep 27 13:40 .profile│
                      │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 bin     │
                      │drwxr-xr-x   2 pm   essai 512 Oct  5 15:59 data    │
                      │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 sce     │
                      └───────────────────────────────────────────────────┘

 ┌─────────┐           ┌──────────────────────────────────────────────────┐
 │ ls -l * │  Affiche  │bin:                                              │
 └─────────┘           │total 24                                          │
                       │-rwxr-x--- 1 pm  essai 4395 Oct  5 16:08 ycat70   │
                       │-rwxr-x--- 1 pm  essai 4224 Oct  5 16:13 ytestsi  │
                       │                                                  │
                       │data:                                             │
                       │total 8                                           │
                       │-rw-rw-r-- 1 pm  essai 1233 Oct  5 16:04 clients  │
                       │-rw-rw-r-- 1 pm  essai 1544 Oct  5 16:12 articles │
                       │                                                  │
                       │sce:                                              │
                       │total 8                                           │
                       │-rw-rw-r-- 1 pm  essai 1898 Oct  5 16:04 ycat70.c │
                       │-rw-rw-r-- 1 pm  essai 1025 Oct  5 16:12 ytestsi.c│
                       └──────────────────────────────────────────────────┘

 ┌──────────┐          ┌───────────────────────────────────────────────────┐
 │ ls -ld * │          │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 bin     │
 └──────────┘          │drwxr-xr-x   2 pm   essai 512 Oct  5 15:59 data    │
                       │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 sce     │
                       └───────────────────────────────────────────────────┘

L'option '-d' demande à 'ls' de ne pas afficher le contenu des répertoires mais seulement leurs caractéristiques.


Si l'utilisateur a créé d'autres fichiers dans son 'home-directory', on peut toujours utiliser 'ls -ld *' pour n'afficher que ce niveau de répertoire.

 ┌──────────┐          ┌───────────────────────────────────────────────────┐
 │ ls -ld * │          │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 bin     │
 └──────────┘          │drwxr-xr-x   2 pm   essai 512 Oct  5 15:59 data    │
                       │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 sce     │
                       │-rwxr-xr-x   2 pm   essai  92 Oct  5 16:15 toto    │
                       │-rwxr-xr-x   2 pm   essai 102 Oct  5 16:16 titi    │
                       │-rwxr-xr-x   2 pm   essai 250 Oct  5 16:17 tutu    │
                       └───────────────────────────────────────────────────┘


AFFICHAGE LONG + SELECTION

Si l'on désire ne retrouver que les répertoires :

 ┌─────────────────┐  ┌───────────────────────────────────────────────────┐
 │ ls -lp | grep / │  │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 bin/    │
 └─────────────────┘  │drwxr-xr-x   2 pm   essai 512 Oct  5 15:59 data/   │
                      │drwxr-xr-x   2 pm   essai 512 Oct  5 16:13 sce/    │
                      └───────────────────────────────────────────────────┘

L'option '-p' ajoute un '/' en fin de nom et l'on utilise 'grep /' pour n'afficher que les noms comportant un '/'.


Si l'on désire afficher tous les fichiers sauf les répertoires :

 ┌────────────────────┐ ┌──────────────────────────────────────────────────┐
 │ ls -lp | grep -v / │ │-rwxr-xr-x   2 pm   essai 102 Oct 5 16:16 titi    │
 └────────────────────┘ │-rwxr-xr-x   2 pm   essai 250 Oct 5 16:17 tutu    │
                        └──────────────────────────────────────────────────┘

Pour plus de précisions sur 'grep' voir la commande 'grep' et la notion d'expression régulière.


Si dans le répertoire 'bin' il existe d'autres fichiers que des exécutables, alors un 'ls -l' permet déjà de visualiser le 'mode x' de chaque fichier.

 ┌───────────┐          ┌─────────────────────────────────────────────────┐
 │ ls -l bin │          │-rwxr-x--- 1 pm  essai 4395 Oct  5 16:08 ycat70  │
 └───────────┘          │-rwxr-x--- 1 pm  essai 4224 Oct  5 16:13 ytestsi │
                        │-rw-rw---- 1 pm  essai  541 Oct  5 16:18 essai   │
                        └─────────────────────────────────────────────────┘


On pourra faire des sélections sur le mode en utilisant l'option '-F'.

 ┌───────────────────────┐ ┌───────────────────────────────────────────────┐
 │ ls -lF bin | grep '*' │ │-rwxr-x--- 1 pm essai 4395 Oct 5 16:08 ycat70* │
 └───────────────────────┘ │-rwxr-x--- 1 pm essai 4224 Oct 5 16:13 ytestsi*│
                           └───────────────────────────────────────────────┘

L'option 'F' ajoute un '*' en fin de fichier lorsque ceux-ci sont exécutables. On recherche ce '*' par un 'grep'.

 ┌──────────────────────────┐ ┌────────────────────────────────────────────┐
 │ ls -lF bin | grep -v '*' │ │-rw-rw---- 1 pm essai  541 Oct 5 16:18 essai│
 └──────────────────────────┘ └────────────────────────────────────────────┘

L'option '-F' ajoute aussi des '/' pour des répertoires.

des '@' pour des liens symboliques On peut donc varier les exemples de recherches.

ATTENTION : Ces recherches ne peuvent être fiables que s'il n'y a pas de fichier dont le nom se termine par le caractère de recherche.


CHANGEMENT D'AFFICHAGE

  ┌─────────┐
  │ ls -lar │  ::=  Affiche tous les fichiers mais dans l'ordre inverse
  └─────────┘         de l'ordre alphabétique car l'option '-r' inverse

l'ordre qui est par défaut l'ordre alphabétique.

  ┌─────────┐
  │ ls -lat │  ::=  Affiche par ordre décroissant de date de dernière
  └─────────┘         modification.  Les fichiers les plus récemment touchés apparaîtront en début de liste.

  ┌──────────┐
  │ ls -lart │ ::= Affiche dans l'ordre inverse de la commande précédente.
  └──────────┘     Les fichiers les moins récemment touchés apparaîtront en début de liste.

  ┌────────┐
  │ ls -lu │   ::= Affiche la date de dernier accès au lieu de la date
  └────────┘         de dernière modification.

  ┌─────────┐
  │ ls -lut │  ::= Trie sur la date de dernier accès au lieu de la date
  └─────────┘        de dernière modification.  Les fichiers les plus récemment accédés seront en début de liste.

  ┌──────────┐
  │ ls -lurt │ ::= Affiche dans l'ordre inverse de la commande précédente.
  └──────────┘     Les fichiers les moins récemment accédés apparaîtront en début de liste.

  ┌────────┐
  │ ls -lc │   ::= Affiche la date de dernière modification d'I-node
  └────────┘         (modification des caractéristiques du fichier) au lieu de la date de dernière modification.

  ┌─────────┐
  │ ls -lct │  ::= Trie sur la date de dernière modification d'I-node.
  └─────────┘      Les fichiers dont l'I-node a été modifié le plus récemment sont en début de liste.

  ┌──────────┐
  │ ls -lcrt │ ::= Affiche dans l'ordre inverse de la commande précédente.
  └──────────┘     Les fichiers dont l'I-node a été modifié le moins récemment sont en début de liste.


TRAITEMENT NOMS INDESIRABLES

 ┌────────┐
 │ >-toto │  Crée un fichier '-toto'
 └────────┘

 ┌─────────────┐                       ┌─────────────┐
 │ ls -l -toto │ sera intérprété comme │ ls -l -t -o │  et sera donc
 └─────────────┘                       └─────────────┘

considéré comme un appel de 'ls' avec les options '-t' et '-o' sans argument, donc affichera en format long (-l) le contenu du répertoire courant avec tri sur la date de dernière modification (-t) et sans le groupe (-o).


Si l'on désire obtenir un traitement correct du nom '-toto', il faudra utiliser '--' qui permet de séparer les options des arguments.

 ┌────────────────┐  ┌────────────────────────────────────────────────┐
 │ ls -l -- -toto │  │ -rw-rw---- 1 dupond essai 0 Oct  6 15:17 -toto │
 └────────────────┘  └────────────────────────────────────────────────┘


Dans certains cas l'utilisation de 'soft-keys', 'hard-keys' ou touches de déplacement de curseur entraîne des noms de fichiers incorrects.

Exemple : Un utilisateur veut créer un fichier 'toto' avec la commande '>toto' mais en composant le nom désiré il utilise des touches de déplacement de curseur avant la validation.

Dans ce cas comme UNIX n'a pas de contrainte pour les caractères composant un nom de fichier, on peut obtenir dans un répertoire des noms qui ne sont pas composés de caractères alphanumériques. Et dans certains cas les caractères utilisés par ces touches de fonction sont des séquences 'ESC' qui peuvent entraîner un affichage incorrect, (dans certains cas on voit s'afficher le même nom plusieurs fois) ou même perturber complètement l'écran.


  ┌───────┐    ┌──────────────────────────────────────────────────────┐
  │ ls t* │    │-rw-r--r--   1 pm     essai     128 Oct  5 17:08 titi │
  └───────┘    │-rw-r--r--   1 pm     essai     135 Oct  5 17:08 toto │
               │-rw-r--r--   1 pm     essai       0 Oct  5 17:56 toto │
               │-rw-r--r--   1 pm     essai     122 Oct  5 17:08 tutu │
               └──────────────────────────────────────────────────────┘

Cet affichage pourrait faire penser qu'il y a deux fichiers 'toto'.


Pour visualiser les noms réels, on peut utiliser l'option '-b' qui affiche tout caractère non ASCII sous la forme octale '\0ooo'

 ┌──────────┐ ┌───────────────────────────────────────────────────────────┐
 │ ls -b t* │ │-rw-r--r--   1 pm     essai   128 Oct  5 17:08 titi        │
 └──────────┘ │-rw-r--r--   1 pm     essai   135 Oct  5 17:08 toto        │
              │-rw-r--r--   1 pm     essai     0 Oct  5 17:56 toto\033[=N1│
              │-rw-r--r--   1 pm     essai   122 Oct  5 17:08 tutu        │
              └───────────────────────────────────────────────────────────┘

L'option '-b' a fait apparaître '\033' à la place du code 'ESC', et l'on peut voir que lors de sa création le nom du fichier a en fait été validé par la touche fonction 'ESC[=N1' et non pas 'CR' ou 'RETURN'.


On peut aussi utiliser l'option '-q' qui affiche un '?' pour chaque caractère non ASCII.

 ┌──────────┐  ┌───────────────────────────────────────────────────────────┐
 │ ls -q t* │  │-rw-r--r--   1 pm     essai   128 Oct  5 17:08 titi        │
 └──────────┘  │-rw-r--r--   1 pm     essai   135 Oct  5 17:08 toto        │
               │-rw-r--r--   1 pm     essai     0 Oct  5 17:56 toto?[=N1   │
               │-rw-r--r--   1 pm     essai   122 Oct  5 17:08 tutu        │
               └───────────────────────────────────────────────────────────┘
 ┌──────────────────┐
 │ ls -q | grep '?' │  Permet d'afficher tous les noms de fichiers qui
 └──────────────────┘    comportent au moins un caractère non ASCII.

Si l'on utilise le '?' comme caractère dans un nom de fichier (Exemple '>toto?' crée un fichier 'toto?' puisque l'interprétation du '?' par le SHELL ne s'étend pas aux re-directions (Voir SHELL)), ces fichiers ressortiront aussi en anomalie.

Une bonne habitude pour les noms de fichiers consiste à se limiter aux caractères alphanumériques [A-Za-z0-9] et éventuellement le '_' et peut-être encore des '.' ou '-' et dans ce cas le SHELL peut aussi aider à retrouver des anomalies.

  ┌─────────────────────────┐
  │ ls -b *[!A-Za-z0-9_.-]* │  Permet d'afficher uniquement les noms des
  └─────────────────────────┘    fichiers qui comportent d'autres

caractères que ceux indiqués entre '[!...]'. (Voir SHELL).

       ┌────────────────────────────────────────────────────────────┐
       │-rw-r--r--   1 pm     essai     0 Oct  5 17:56 toto\033[=N1 │
       └────────────────────────────────────────────────────────────┘




 33.3 : umask  chmod DROITS FICHIERS   Début   Précédent   Sommaire   Préc.page.lue   Accueil

Le masque 'oooo' est une suite de quatre chiffres en octal (de 0 à 7) dont valeur va permettre de personnaliser les droits des fichiers créés pendant une session de 'login'.

La commande 'umask' sans argument affiche la valeur courante de 'umask'.

La commande 'umask' suivie d'une valeur octale permet de modifier la valeur de 'umask'.

Les fichiers créés pendant une session le sont avec par défaut des droits dépendant de leurs types :

         ┌───────────────────────────────────────────────┐
         │ Pour des répertoires ::= rwxrwxrwx   ::= 0777 │
         │ Pour des fichiers    ::= rw-rw----   ::= 0660 │
         └───────────────────────────────────────────────┘

La valeur de 'umask' permet de personnaliser ces valeurs, car le système exécutera un complément logique du contenu de 'umask' et de ces valeurs par défaut.

La valeur par défaut pour un fichier étant de '0660', il faut définir 'umask' en complément de la valeur désirée par rapport à ce '0660'.

La valeur par défaut pour un répertoire étant de '0777', il faut définir 'umask' en complément de la valeur désirée par rapport à ce '0777'.

Exemple : supprimer l'autorisation d'écriture pour les autres membres du groupe et les autres utilisateurs.

La valeur umask 0022 supprime les droits d'écriture pour le groupe et les autres utilisateurs (0660-0022 donne 0644 donc rw-r--r--).

Exemple pour un répertoire :

La valeur umask 0022 supprime les droits d'écriture pour le groupe et les autres utilisateurs (0777-0022 donne 755 donc rwxr-xr-x).

'umask' est une commande interne du SHELL et est donc exécutée dans le processus courant.

'umask' peut être inclus dans le '.profile' de l'utilisateur et ceci permettra de positionner une valeur pour toute la session de 'login'.

EXEMPLES :


Suppression des droits d'exécution à tous les utilisateurs :

        ┌───────────────────┐
        │ chmod a-x fichier │
        └───────────────────┘


Donner le droit de lecture à tous les utilisateurs :

        ┌───────────────────┐
        │ chmod 444 fichier │
        └───────────────────┘


Rendre accessible un fichier en lecture et écriture au groupe ainsi qu'aux autres utilisateurs.

       ┌─────────────────────┐       ┌───────────────────┐
       │ chmod go+rw fichier │       │ chmod 066 fichier │
       └─────────────────────┘       └───────────────────┘


Autorisation de lecture, écriture et exécution et positionnement du bit d'identificateur groupe d'exécution :

        ┌────────────────────────┐  ┌────────────────────┐
        │ chmod =rwx,g+s fichier │  │ chmod 2777 fichier │
        └────────────────────────┘  └────────────────────┘

Un mode absolu d'identificateur de groupe est impossible pour un répertoire.

Vous devez utiliser g+s ou g-s.



TABLEAU RECAPITULATIF

En partant de fichiers 'rw-------' les commande suivantes donneront les résultats suivants :

    ┌──────────────────────────────────────────────────┐
    │   u-w                  400         r--------     │
    │   -w                   400         r--------     │
    │   go+r                 644         rw-r--r--     │
    │   go=r                 644         rw-r--r--     │
    │   go+rw                666         rw-rw-rw-     │
    │   =rw                  666         rw-rw-rw-     │
    │   +rx                  755         rwxr-xr-x     │
    │   =r                   444         r--r--r--     │
    │   ug=rw,o=r            664         rw-rw-r--     │
    │   u=rwx,g=rx,o=        750         rwxr-x---     │
    │   +x,u+s              4711         rws--x--x     │
    │   +xt                 1711         rwx--x--t     │
    │   ug=rwx+s,o=         6770         rwsrws---     │
    │   u=rwx,g=rwx+s,o=    2770         rwxrws---     │
    │   u=rwx+s,g=rwx,o=    4770         rwxrws---     │
    └──────────────────────────────────────────────────┘



APE IN RECORDS EXCHANGES

at 14 GESTION DU TEMPS
atq 14 GESTION DU TEMPS
atrm 14 GESTION DU TEMPS
awk 7 MANIPULATIONS FICHIER
banner 4 COMMANDES AFFICHAGE
basename7 MANIPULATIONS FICHIER
bash 2 SHELL
bc 4 COMMANDES AFFICHAGE
cal 14 GESTION DU TEMPS
cat 4 COMMANDES AFFICHAGE
cd 3 COMMANDES ENVIRONNEMENT
chgrp5 ATTRIBUTS FICHIERS
chmod33.3 umask chmod DROITS FICHIERS
chmod5 ATTRIBUTS FICHIERS
chmod33.2 ls affichage du contenu de répertoires
chown5 ATTRIBUTS FICHIERS
chsh 2 SHELL
clear 11 GESTION TERMINAL
cmp 7 MANIPULATIONS FICHIER
comm 7 MANIPULATIONS FICHIER
copy 6 CREATION/COPIE/EFFACEMENT FICHIERS
cp 6 CREATION/COPIE/EFFACEMENT FICHIERS
cpio 9 BACKUP COPIE
crontab 14 GESTION DU TEMPS
csplit 7 MANIPULATIONS FICHIER
cut 7 MANIPULATIONS FICHIER
date 14 GESTION DU TEMPS
dd 9 BACKUP COPIE
df 3 COMMANDES ENVIRONNEMENT
diff 7 MANIPULATIONS FICHIER
diff3 7 MANIPULATIONS FICHIER
dirname 7 MANIPULATIONS FICHIER
du 3 COMMANDES ENVIRONNEMENT
e2label8 GESTION DISQUE
echo 4 COMMANDES AFFICHAGE
egrep 7 MANIPULATIONS FICHIER
env 3 COMMANDES ENVIRONNEMENT
fdisk 8 GESTION DISQUE
fgrep 7 MANIPULATIONS FICHIER
file 5 ATTRIBUTS FICHIERS
file 3 COMMANDES ENVIRONNEMENT
find33.1 find Recherche de fichiers dans une arborescence
find33 Recettes de cuisine
find 3 COMMANDES ENVIRONNEMENT
finger 3 COMMANDES ENVIRONNEMENT
fmt 7 MANIPULATIONS FICHIER
fold 7 MANIPULATIONS FICHIER
fsck 8 GESTION DISQUE
ftp 12 COMMANDES A DISTANCE
gawk 7 MANIPULATIONS FICHIER
grep 7 MANIPULATIONS FICHIER
groupadd 15 GESTION UTILISATEURS
groupmod 15 GESTION UTILISATEURS
groups 3 COMMANDES ENVIRONNEMENT
gzip 9 BACKUP COPIE
hash 3 COMMANDES ENVIRONNEMENT
head 4 COMMANDES AFFICHAGE
hexdump4 COMMANDES AFFICHAGE
iconv 7 MANIPULATIONS FICHIER
id 3 COMMANDES ENVIRONNEMENT
join 7 MANIPULATIONS FICHIER
kill 10 CONTROLE PROCESSUS
ksh 2 SHELL
last 3 COMMANDES ENVIRONNEMENT
less 4 COMMANDES AFFICHAGE
ln 6 CREATION/COPIE/EFFACEMENT FICHIERS
loadkeys32.1 setxkbmap et loadkeys Changement de clavier
loadkeys3 COMMANDES ENVIRONNEMENT
loadkeys32 Compléments d'information
loadkeys32.1 setxkbmap et loadkeys Changement de clavier
locale 3 COMMANDES ENVIRONNEMENT
locate33.1 find Recherche de fichiers dans une arborescence
locate 3 COMMANDES ENVIRONNEMENT
login 15 GESTION UTILISATEURS
logname 3 COMMANDES ENVIRONNEMENT
ls33.2 ls affichage du contenu de répertoires
ls33.1 find Recherche de fichiers dans une arborescence
ls 3 COMMANDES ENVIRONNEMENT
mail 13 COMMUNICATION ENTRE UTILISATEURS
mesg 13 COMMUNICATION ENTRE UTILISATEURS
mkdir6 CREATION/COPIE/EFFACEMENT FICHIERS
mkfs 8 GESTION DISQUE
more 4 COMMANDES AFFICHAGE
mount 8 GESTION DISQUE
mv 6 CREATION/COPIE/EFFACEMENT FICHIERS
newgrp 15 GESTION UTILISATEURS
nice 10 CONTROLE PROCESSUS
nl 7 MANIPULATIONS FICHIER
nohup 10 CONTROLE PROCESSUS
notify 13 COMMUNICATION ENTRE UTILISATEURS
od 4 COMMANDES AFFICHAGE
parted 8 GESTION DISQUE
gateio login15 GESTION UTILISATEURS
paste 7 MANIPULATIONS FICHIER
pr 4 COMMANDES AFFICHAGE
printf 4 COMMANDES AFFICHAGE
ps 10 CONTROLE PROCESSUS
pwconv 15 GESTION UTILISATEURS
pwd 3 COMMANDES ENVIRONNEMENT
rcp 12 COMMANDES A DISTANCE
rlogin 12 COMMANDES A DISTANCE
rm 6 CREATION/COPIE/EFFACEMENT FICHIERS
rmdir6 CREATION/COPIE/EFFACEMENT FICHIERS
rsync6 CREATION/COPIE/EFFACEMENT FICHIERS
rsync 9 BACKUP COPIE
rsync 12 COMMANDES A DISTANCE
runlevel10 CONTROLE PROCESSUS
scp 12 COMMANDES A DISTANCE
script 11 GESTION TERMINAL
sdiff 7 MANIPULATIONS FICHIER
setxkbmap32.1 setxkbmap et loadkeys Changement de clavier
setxkbmap3 COMMANDES ENVIRONNEMENT
setxkbmap32 Compléments d'information
setxkbmap32.1 setxkbmap et loadkeys Changement de clavier
sftp 12 COMMANDES A DISTANCE
sleep 14 GESTION DU TEMPS
sort 7 MANIPULATIONS FICHIER
split 7 MANIPULATIONS FICHIER
ssh 12 COMMANDES A DISTANCE
strings4 COMMANDES AFFICHAGE
stty 11 GESTION TERMINAL
su 15 GESTION UTILISATEURS
sudo 15 GESTION UTILISATEURS
sum 7 MANIPULATIONS FICHIER
tail 4 COMMANDES AFFICHAGE
talk 13 COMMUNICATION ENTRE UTILISATEURS
tar 9 BACKUP COPIE
tcsh 2 SHELL
tee 4 COMMANDES AFFICHAGE
telnet 12 COMMANDES A DISTANCE
time 14 GESTION DU TEMPS
times 14 GESTION DU TEMPS
touch5 ATTRIBUTS FICHIERS
tput 11 GESTION TERMINAL
tr 7 MANIPULATIONS FICHIER
tty 3 COMMANDES ENVIRONNEMENT
tune2fs8 GESTION DISQUE
type 3 COMMANDES ENVIRONNEMENT
ulimit 3 COMMANDES ENVIRONNEMENT
umask33.3 umask chmod DROITS FICHIERS
umask5 ATTRIBUTS FICHIERS
umask33.2 ls affichage du contenu de répertoires
umask 3 COMMANDES ENVIRONNEMENT
umount 8 GESTION DISQUE
uname 3 COMMANDES ENVIRONNEMENT
uniq 7 MANIPULATIONS FICHIER
unzip 9 BACKUP COPIE
updatedb3 COMMANDES ENVIRONNEMENT
useradd 15 GESTION UTILISATEURS
userdel 15 GESTION UTILISATEURS
usermod 15 GESTION UTILISATEURS
wait 10 CONTROLE PROCESSUS
wc 7 MANIPULATIONS FICHIER
which 3 COMMANDES ENVIRONNEMENT
who 3 COMMANDES ENVIRONNEMENT
who 10 CONTROLE PROCESSUS
write 13 COMMUNICATION ENTRE UTILISATEURS
zip 9 BACKUP COPIE



Ce document est distribué selon les termes de la licence G.P.L. Documentation. Vous êtes autorisés à le diffuser sur tout support de votre choix, à le publier sur un site internet ou intranet, à la condition que l'auteur original soit mentionné, ce afin d'assurer un meilleur suivi des mises à jour de ce document.

Auteur: Patrick MARION <pmarion19@free.fr>


Valid HTML 4.01 Transitional

Ce site est listé dans la catégorie Formation en informatique : Formations Linux de l'annuaire Produits de Google et Les actualités du Dicodunet