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.
  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.