Corrigé des exercices sur ls

Ces exercices sont des questions de cours : les solutions se trouvent toutes dans les pages de man des commandes en question. On suppose donc connues les commandes de less, qui servent à se déplacer dans les pages de man... et la commande servant à chercher un mot. Testez les commandes sur des fichiers et répertoires d'essai pour vous faire la main et comprendre ce qui se passe.

  1. Affichez le contenu de /usr/local/games/bin
    ls /usr/local/games/bin
    

    Vous obtenez une liste des jeux installés.

  2. Quelle est la taille de votre .flnewsrc.forum ?
    ls -al .flnewsrc.forum

    L'option -a fait apparaître les fichiers de configuration, qui commencent par un point; l'option -l affiche plusieurs renseignements, en particulier la taille. En fait, si vous indiquez le nom complet du fichier cherché, avec le point, l'option -a est inutile; c'est le cas ici.

    Le .flnewsrc.forum contient la liste de continua de forum avec des indications sur les contis auxquels vous êtes abonnés et les messages que vous avez déjà lus. Il est remis à jour à chaque fois que vous lisez forum : la date indiquée correspond donc à la dernière fois que vous avec lancé (ou plus précisément, quitté...) forum.

  3. À quoi sert l'option -R de ls ?

    Cette option permet d'afficher une liste récursive, c'est-à-dire qui indique le contenu des répertoires listés, ainsi que de leurs sous-répertoires. Si vous tapez ls -R dans votre répertoire personnel, vous aurez une liste de tout ce que vous avez chez vous.

  4. Dans quel ordre les fichiers et répertoires sont-ils classés par défaut? Quelles sont les options qui peuvent servir à modifier ce critère de classement ?

    Pour savoir cela, il faut chercher le mot sort dans le man de ls. La première occurence vous dit que par défaut le résultat est trié par ordre alphabétique, selon la première lettre des fichiers. De façon plus précise, l'ordre est le suivant : ponctuations, chiffres, majuscules, minuscules, selon l'ordre défini par la table des caractères ASCII.

    En continuant à chercher, vous trouvez des options intéressantes : -r (reverse), qui inverse l'ordre de classement, -t (time) qui trie en fonction de la date de dernière modification.

  5. Affichez le contenu de votre répertoire courant de telle sorte que les fichiers modifiés récemment apparaissent en premier.
    ls -t
    

    si vous voulez juste modifier le critère de tri, sans plus de renseignements; ou encore

    ls -lt

    si vous voulez une longue liste.

  6. Quels sont les droits de votre répertoire Mail ? Qu'est-ce que cela signifie ?

    La ligne ressemble à ceci :

    drwx------ 2 toto  litt98 512 Apr  2 19:02 Mail
    

    Le d indique qu'il s'agit d'un répertoire (directory). Suivent ensuite neuf caractères, allant par trois; r, w, x correspondent aux droits que vous avez sur le répertoire (ou le fichier) : r (read) pour le droit de lecture, w (write) pour le droit d'écriture, x (execute) pour le droit d'exécution.

    Les six tirets qui suivent correspondent aux droits qu'ont le groupe (ici litt98) puis le reste des utilisateurs. Ici il y a des tirets, ce qui signifie qu'ils n'ont aucun droit sur ce répertoire.

    Cela veut dire que seul le propriétaire a le droit de lire et écrire dans son répertoire Mail/, ainsi que d'y accéder. Les répertoires et les fichiers de courrier sont protégés contre les indiscrétions.

    Un fichier de texte standard a les droits suivants :

    -rw-r--r--
    

    Il y a un tiret tout au début, ce qui signifie que c'est un fichier normal; vous avez le droit d'écrire et de lire (rw-), votre groupe et les autres utilisateurs ont le droit de lire le fichier (r--). La commande chmod permet de changer ces droits, si l'on veut restreindre la lecture, ou rendre un fichier exécutable.

    Remarque : ne cédez pas à la paranoïa... vos camarades ne passent pas leur temps à farfouiller sur les comptes des voisins, donc vous n'avez pas besoin d'interdire à la lecture tout ce que vous avez chez vous.

  7. Décrivez le résultat de la commande ls -l.
    • -rw-r--r-- 1 robin    litt95     754 Mar 22 11:59 projet.aux
      

      Les dix premiers caractères détaillent les droits du fichier. Le premier caratère identifie le type du fichier : ici, rien n'est spécifié, c'est donc un fichier normal. L'exercice précédent détaille la signification des lettres suivantes. Ce sont les droits normaux d'un fichier standard : tout le monde (propriétaire, groupe et autres utilisateurs) peut lire le fichier, seul le propriétaire peut écrire dedans.

    • -rw-r--r-- 1 robin    litt95     754 Mar 22 11:59 projet.aux
      

      Le chiffre indique le nombre de liens. Nous vous renvoyons aux exercices sur les liens pour plus d'explications (qui peuvent attendre à un niveau débutant...).

    • -rw-r--r-- 1 robin    litt95     754 Mar 22 11:59 projet.aux
      

      Le troisième champ donne le nom du propriétaire du fichier. Ici, il s'agit de l'utilisateur robin.

    • -rw-r--r-- 1 robin    litt95     754 Mar 22 11:59 projet.aux
      

      Ce champ indique le groupe de l'utilisateur. Ici, nous apprenons qu'Émilia est une littéraire de la promotion 1995.

    • -rw-r--r-- 1 robin    litt95     754 Mar 22 11:59 projet.aux
      

      Ce chiffre donne la taille en octets du fichier considéré. Ici, le fichier fait 754 octets, soit moins d'un Ko (1000 octets). C'est un petit fichier.

      -rw-r--r-- 1 robin    litt95     754 Mar 22 11:59 projet.aux
      

      Ce champ indique la date de dernière modification du fichier, ici le 22 mars de l'année courante, à 11h59. Quand le fichier date d'une année antérieure, celle-ci est indiquée et l'heure ne figure plus.

      -rw-r--r-- 1 robin    litt95     754 Mar 22 11:59 projet.aux
      

      Vient enfin le nom du fichier. Le suffixe .aux montre qu'il s'agit d'un fichier produit par LaTeX lors de la compilation d'un fichier projet.tex.

  8. Comment afficher les droits d'un répertoire donné ?

    Si on tape

    ls -l repertoire/
    

    c'est le contenu du répertoire qui s'affiche, et pas son statut à lui. L'option -d (directory) permet de lister le répertoire lui-même.

  9. Caractères identifiant les fichiers

    Ce sont les caractères suivants :

    slash (/) pour un répertoire
    arobase (@) pour un lien symbolique
    étoile (*) pour un exécutable
    pipe (|) pour un pipe nommé
    égal (=) pour un socket

    C'est l'option -F qui permet de les afficher.

  10. Droits sur un répertoire

    Avoir le droit d'«exécuter» un répertoire, c'est avoir le droit d'y accéder, de s'y déplacer; mais je n'ai pas le droit de «lire» son contenu. Donc, à moins d'en être propriétaire, je ne peux pas afficher le contenu d'un répertoire ayant comme droits :

    drwx--x--x
    
Auteur : Émilia Robin, Joël Riou. Dernière modification : 2002-12-09 par Joël Riou.