Bases de Linux et de la ligne de commande

Apprenez avec des QCM l'organisation des répertoires et les chemins sous Linux, les liens physiques et symboliques, les caractères génériques, les permissions avec chmod et umask, sudo et setuid, les redirections et les pipes, grep et les expressions régulières, sort, uniq, cut, sed, awk et find, les signaux et le contrôle des tâches, le code de retour avec && et ||, les guillemets, les arguments, les conditions et les boucles des scripts shell, PATH et les variables d'environnement, la gestion des paquets, systemd, cron, df et du, l'authentification par clé publique de SSH, tar, et les opérations de base de Git.

S'entraîner sur 10 questionsQuestions aléatoires de ce thème · environ 5 minutes S'entraîner sur ce thèmeToutes les questions de ce thème dans un ordre aléatoire Questions à revoirNe refaire que les questions manquées lors de la dernière tentative

Bases de Linux et de la ligne de commande : points clés

La plupart des serveurs et des clouds fonctionnent sous Linux, et les outils EDA de synthèse logique, de simulation de circuits, etc. s'utilisent eux aussi normalement sur des serveurs Linux. Le travail quotidien y consiste à taper des commandes dans un shell plutôt qu'à cliquer sur des boutons : examiner des fichiers, filtrer des journaux, laisser tourner de longs traitements après s'être déconnecté.

Ce thème couvre l'organisation des répertoires, les chemins absolus et relatifs, les fichiers cachés, les liens physiques et symboliques, les caractères génériques, les permissions rwx et leur notation octale, l'umask, le droit d'exécution sur les répertoires, ainsi que sudo et setuid. Il traite ensuite des redirections et des pipes, de grep et des expressions régulières, des comptages avec sort et uniq, de tail -f, cut, sed, awk et find, de kill et des signaux, de Ctrl+Z avec bg et fg, de nohup, du code de retour avec && et ||, des guillemets et du développement des variables, des arguments, des conditions et des boucles des scripts, de PATH et d'export, et vérifie enfin la gestion des paquets, systemctl, cron, df et du, les clés SSH, tar, ainsi que add, commit et push dans Git avec .gitignore. Le comportement des commandes suit bash et les commandes GNU (coreutils, grep, sed, findutils, tar), et les sorties données dans les questions ont été vérifiées en exécutant réellement les commandes sous Linux. Le fonctionnement des processus et de la mémoire virtuelle est traité dans « Système d'exploitation et matériel », les numéros de port et le DNS dans « Bases des réseaux informatiques », les principes du contrôle d'accès dans « Bases de la sécurité de l'information », et les fusions dans Git ainsi que les méthodes de développement dans « Développement logiciel et gestion de projet ».

Toutes les questions sur Bases de Linux et de la ligne de commande (40)

  1. Quelle association entre des répertoires standard de Linux et ce que l'on y place est correcte ?
  2. Quelle description du répertoire /proc de Linux est correcte ?
  3. Le répertoire /home/alice/data existe, et le répertoire courant est /home/alice/work. Quel répertoire s'affiche si l'on exécute « cd ../data », puis « pwd » ?
  4. Dans le répertoire personnel, « ls » n'affiche que notes.txt, alors que « ls -a » affiche « . », « .. », « .bashrc » et « notes.txt ». Quelle explication de ce résultat est correcte ?
  5. Si l'on exécute dans l'ordre les commandes ci-dessus, quel est le résultat des deux dernières commandes cat ?
  6. Un répertoire contient six fichiers : a1.txt, a2.txt, a10.txt, b1.txt, c1.txt et a1.csv. Combien de fichiers s'affichent si l'on exécute « ls [ab]?.txt » dans ce répertoire ?
  7. Après l'exécution de « chmod 754 run.sh » sur le fichier run.sh, quelle notation des droits s'affiche au début de la ligne produite par « ls -l run.sh » ?
  8. touch crée un nouveau fichier à partir de 666, et mkdir un nouveau répertoire à partir de 777, en retirant les bits de l'umask. Quelle combinaison de droits est correcte lorsqu'un nouveau fichier et un nouveau répertoire sont créés dans un shell dont l'umask vaut 027 ?
  9. Le répertoire d a les droits rwx--x--x (711), et le fichier f.txt qu'il contient a rw-r--r-- (644). Un utilisateur qui n'est ni le propriétaire ni le superutilisateur exécute « ls d » et « cat d/f.txt ». Quel est le résultat ?
  10. Quelle description de la commande sudo de Linux est correcte ?
  11. Sur de nombreux systèmes Linux, « ls -l /usr/bin/passwd » affiche « -rwsr-xr-x 1 root root ... ». Quelle est la signification du « s » placé à la position de l'exécution du propriétaire ?
  12. Si l'on exécute dans l'ordre les commandes ci-dessus, quel contenu affiche le dernier cat ?
  13. Comme ci-dessus, dans un répertoire où a.txt existe et nofile n'existe pas, on exécute la dernière commande. Quel est le résultat ?
  14. Dans la session ci-dessus, quelle valeur affiche la dernière commande ?
  15. Dans la session ci-dessus, quelles lignes affiche le dernier grep ?
  16. Les choix sont donnés sans les espaces en début de ligne. Dans la session ci-dessus, quelle ligne affiche le dernier enchaînement de commandes ?
  17. On veut afficher en continu à l'écran les lignes ajoutées par la suite au fichier journal du serveur /var/log/app.log, au fur et à mesure de leur ajout. Quelle commande convient ?
  18. Quelle est la sortie de la commande ci-dessus, qui extrait des colonnes d'une ligne dont les champs sont séparés par des virgules ?
  19. Quelle est la sortie de la commande sed ci-dessus, qui remplace des caractères ?
  20. Dans la session ci-dessus, qu'affiche le dernier awk ?
  21. Quelle description des fichiers trouvés en exécutant « find /data -name "*.log" -mtime +7 -size +100M » avec le find de GNU est correcte ?
  22. Pour arrêter un processus qui ne répond plus, il est conseillé d'utiliser d'abord « kill <ID du processus> », et de n'utiliser « kill -9 <ID du processus> » que si cela ne suffit pas à le terminer. Quelle en est la raison ?
  23. Pendant qu'un long ./sim.sh s'exécute dans un terminal, on veut utiliser d'autres commandes dans le même terminal. Que se passe-t-il si l'on appuie sur Ctrl+Z, puis qu'on exécute bg ?
  24. Sur un serveur auquel on s'est connecté par SSH, on a lancé un long traitement avec « ./run.sh & », puis, en fermant la connexion, le traitement s'est arrêté lui aussi. Quelle est la manière la plus appropriée de le lancer pour qu'il continue après la fermeture de la connexion ?
  25. Si l'on exécute les deux lignes ci-dessus dans un shell, quels caractères s'affichent ?
  26. Si l'on exécute dans l'ordre les commandes ci-dessus, quelle est la sortie des deux commandes echo ?
  27. Comme ci-dessus, on exécute le script s.sh avec des arguments. Quelle est la sortie ?
  28. Dans un script shell, dans quel cas la condition du if ci-dessus est-elle vraie ?
  29. Quels fichiers se trouvent dans le répertoire après la session ci-dessus ?
  30. Le script exécutable run.sh, situé dans le répertoire courant, donne « command not found » quand on le lance en tapant « run.sh », mais s'exécute quand on tape « ./run.sh ». Quelle en est la raison ?
  31. Si l'on exécute dans l'ordre les commandes ci-dessus, quelle est la combinaison des sorties des deux commandes bash -c ?
  32. Quelle est la fonction principale d'un système de gestion de paquets de Linux (apt sur les systèmes dérivés de Debian, dnf sur les systèmes dérivés de Red Hat, etc.) ?
  33. Sur un système Linux qui utilise systemd, quelle est la différence entre « systemctl start license.service » et « systemctl enable license.service » pour le service license.service ?
  34. La ligne « 30 2 * * 1 /home/alice/backup.sh » a été enregistrée dans cron. Quand backup.sh est-il exécuté ?
  35. Un serveur Linux avertit que l'espace disque libre devient insuffisant. Quelle est la bonne combinaison d'une commande qui vérifie l'espace utilisé et l'espace libre de chaque système de fichiers, et d'une commande qui totalise l'espace occupé par les fichiers d'un répertoire ?
  36. On a créé avec ssh-keygen, sur son propre PC, une paire de clés pour l'authentification par clé publique, et on veut se connecter au serveur server1 avec ssh sans mot de passe. Quelle est la bonne façon de placer les clés ?
  37. Que se passe-t-il quand on exécute « tar -czf proj.tar.gz proj/ » ?
  38. Après avoir modifié main.c, un fichier géré avec Git, on a seulement exécuté « git commit -m "fix" » : « no changes added to commit » s'est affiché et rien n'a été validé. Quelle en est la raison ?
  39. On a exécuté git commit dans Git, mais le commit n'apparaît pas encore dans le dépôt GitHub partagé par l'équipe. Quelle en est la raison ?
  40. Dans un projet géré avec Git, on a écrit « build/ » dans le fichier .gitignore, mais les modifications de build/out.log, qui avait été validé auparavant, continuent d'apparaître dans git status. Quelle en est la raison ?

Autres thèmes de Systèmes informatiques