Shell

Auteur(s) : Denis Conan
Date : Mars 2003
Module : Initiation à Unix
Instructions pour le QCM : Pour chacune des questions, plusieurs réponses peuvent être correctes, vous pouvez donc cocher plusieurs cases !
Ce QCM est un QCM d'entraînement. Les questions peuvent avoir des niveaux "facile", "intermédiaire" (*) ou "difficile" (**). Elles sont l'occasion non seulement de tester vos connaissances mais aussi de les approfondir. Les questions difficiles demandent généralement un travail supplémentaire.

  1. Que fait echo "deux > trois" ?
  2. Met '"deux' dans le fichier 'trois"'
    Affiche 'deux > trois'
    Affiche '"deux > trois"'
    Met 'deux dans le fichier trois'

  3. Je souhaite afficher '$' à la place de l'invite de commande :
  4. $=PROMPT
    PS1=$
    set PS1=$

  5. Le caractère '~' seul représente :
  6. Le répertoire de connexion
    Le répertoire courant
    Le répertoire racine
    Le répertoire '$HOME'

  7. La commande cat f1 > 'en 2>erreurs' : obligatoirement :
  8. Provoque une erreur de syntaxe
    Crée un fichier de nom 'en 2>erreurs'
    Crée un fichier de nom 'en' et redirige les erreurs sur un fichier de nom 'erreurs'

  9. Quel est l'ordre d'exécution de $(cmde) ?
  10. cmde à interpréter avant la commande principale
    Cmde à ne pas interpréter
    Cmde à interpréter après la commande principale

  11. Je souhaite afficher à l'écran le message 'résultat x' avec x le contenu du fichier resu. Je tape :
  12. cat resu; echo
    echo < resu
    echo "resultat $(cat resu)"

  13. (who; echo coucou) > ~domy/public/test :
  14. Affiche le résultat des deux premières commandes puis liste le repertoire '~domy/public/test'
    Écrit le résultat des deux commandes dans le fichier 'test'
    Fait un 'who' puis met le résultat du 'echo' dans le fichier 'test'

  15. La commande 'alias dir='ls>tmp'' :
  16. Crée un alias 'dir' qui exécutera 'ls>tmp'
    Crée un fichier 'tmp' vide et un alias 'dir'qui exécutera 'ls'
    Crée un fichier 'tmp' qui contient 'dir=ls'

  17. Quel est le résultat de la commande suivante?
    alias coucou="write paul salut"; alias coucou="who"; coucou
  18. Exécute un 'who'
    Exécute 'write paul salut'
    Exécute 'write paul salut' puis 'who'

  19. * La commande 'ls [[:lower:]][[:lower:]]' liste les entrées dont :
  20. Le nom est composé exclusivement de deux caractères minuscules
    Le nom commence et finit par un caractère minuscule
    Le nom comporte au moins deux caractères minuscules

  21. La commande 'who > "ou/qui"' :
  22. Provoque une erreur de syntaxe
    Crée un fichier 'qui' sous le sous-répertoire 'ou'
    Crée un fichier de nom 'ou/qui' sous le répertoire courant

  23. L'éditeur 'emacs' a créé sous le répertoire courant un fichier '#exemple#'. Quelle commande permet de supprimer ce fichier :
  24. rm #exemple#
    rm -i #exemple#
    rm '#exemple#'
    rm -i '#exemple#'
    rm "#exemple#"
    rm -i "#exemple#"

  25. Existe-t-il une différence entre le résultat des deux commandes ci-après : echo "Je suis sous $HOME" et echo 'Je suis sous $HOME'
  26. Oui
    Non

  27. La combinaison de touches du clavier qui permet de reprendre la ligne de commande précédente dans le shell est :
  28. CTRL-P
    CTRL-X
    CTRL-B

  29. La combinaison de touches du clavier qui permet de revenir en début de ligne de commande dans le shell est :
  30. CTRL-P
    CTRL-A
    CTRL-B

  31. * Comment ajouter le répertoire courant dans la variable 'PATH' de façon à ce que ce soit valable pour toutes les sessions ?
  32. 'PATH=.+PATH' dans un terminal
    'PATH=${PATH}:.' dans un terminal
    Compléter le fichier '~/.bashrc' avec la ligne de commande par un 'PATH=${PATH}:.'

  33. * Vous exécutez la commande 'write paul < toto' et le shell répond 'bash: cannot open toto'. Quelle peut être la cause provoquant ce message d'erreur :
  34. Le fichier 'toto' n'existe pas
    Vous n'avez pas les droits sur le fichier 'toto'
    L'utilisateur 'paul' n'a pas les droits sur le fichier 'toto'

  35. * La commande 'ls "~/*"' affiche :
  36. Le contenu de toutes les entrées du répertoire de connexion
    Une erreur de syntaxe
    L'entrée de nom '*' du sous-répertoire '~'

  37. ** La commande 'rm [[:lower:]\![9]*' efface :
  38. Les fichiers commençant par une lettre minuscule ou un chiffre différent de '9'
    Les fichiers commençant par une lettre minuscule, ou les caractères '!', '[' ou '9'
    Les fichiers ne commençant pas par une lettre minuscule et commençant par '9'

  39. ** Que peut faire un utilisateur pour exécuter la commande '/usr/5bin/ls' au lieu de '/usr/bin/ls' de façon automatique chaque fois qu'il tape 'ls' (sans impacter les autres commandes):
  40. Il doit taper '/usr/5bin/ls'
    Il doit inclure la commande 'PATH=/usr/5bin:$PATH' dans son fichier de configuration '.bashrc'
    Il doit taper la commande 'PATH=/usr/5bin:$PATH'
    Il doit taper la commande 'alias ls="/usr/5bin/ls"'
    Il doit inclure la commande 'alias ls="/usr/5bin/ls"' dans son fichier de configuration '.bashrc'

  41. * Le résultat de la commande 'ls-ilLd' est affiché :
  42. Dans le flot de communication de numéro 0
    Dans le flot de communication de numéro 1
    Dans le flot de communication de numéro 2
    Nulle part puisque cette commande est mal tapée

  43. * Dans la commande 'ls -l | wc -l', la commande 'wc -l' se termine :
  44. Avant la commande 'ls -l'
    En même temps que la commande 'ls -l'
    Après la commande 'ls -l'

  45. * Je souhaite appliquer la commande 'flex' à un fichier 'debut.txt' et mettre le résultat obtenu dans un fichier 'resu.txt' :
  46. flex < debut.txt > resu.txt
    flex > debut.txt < resu.txt
    flex > resu.txt < debut.txt

  47. ** La commande 'cat ab auto stock > a*' :
  48. Écrase les fichiers 'ab' et 'auto'
    Concatène les fichiers 'ab', 'auto' et 'stock' en un fichier 'a*'
    Provoque une erreur de syntaxe

  49. ** Le fichier 'truc' étant un fichier de texte non vide, la commande 'cat < truc > much | tee zip | wc -l' :
  50. Donne en résultat trois fichiers
    Donne en résultat deux fichiers
    Donne en résultat un fichier
    Donne en résultat zéro fichier
    Affiche 0
    Affiche le nombre de lignes de 'truc'
    Affiche le nombre de lignes de 'much'
    Affiche le nombre de lignes de 'zip'

Afficher les réponses avec le calcul des résultats