Quiz & FAQ Linux Shell & Automation
À la fin de cette leçon, vous aurez révisé la colonne Linux Shell & Automation (bash robuste, grep/ripgrep, awk, systemd timers), consolidé une FAQ featured snippets, et validé une checklist avant automation. C’est la clôture du lot 1 (hub + chapitres 1–4), avec pont vers le backlog (sed, pipelines, scripts ops, jq/yq) et les colonnes Admin / Sécurité / Docker.
Niveau : Intermédiaire (révision) · Temps estimé : 35–45 min · Versions testées : Ubuntu 22.04 / 24.04, Bash 5.x, systemd 249+ · Dernière vérification : 2026-09-11
Slug proposé :
linux-shell-quiz-faq· Série : Linux Shell & Automation (colonne 4 mega-menu) · Publish : HOLD (draft local — ne pas publier WP)
Prérequis
- Hub Linux Shell & Automation parcouru
- Lot 1 : Bash avancé, grep & ripgrep, awk pratique, systemd timers
- Socle P5 : bash scripting ; pont systemd avancé
- Labs
/tmpdéjà faits — pas de lab obligatoire ici - Coût : 0 € · Aucun secret de prod dans scripts ou notes
Cette page ferme le quiz Shell : FAQ SEO (« faq bash linux », « quiz shell devops », « systemd timer faq »), checklist, pièges, pont backlog lot 2 et colonnes sœurs.
Ce que nous allons construire
Révision « linux-shell-quiz-faq » (col. 4 #10)
├── Carte maillage hub + lot 1 + pont systemd-avance + backlog 6–9
├── FAQ SEO : set -euo, $@, grep/rg, awk, timers vs cron
├── Checklist avant automation / prod-like
├── Pièges (pipefail, exit 1 grep, timer oublié)
├── Quiz 10 questions
└── Pont → backlog sed / pipelines / jq · Admin · Sécurité · Docker
(Schéma à remplacer par une image Excalidraw / draw.io, alt : « Module Linux Shell fermé : FAQ bash grep awk timers, checklist, quiz 10 Q, flèche backlog et colonnes sœurs ».)
Objectif : page pilier FAQ qui maille Shell & Automation sans refaire les labs, et prépare sed / pipelines / jq sans perdre les réflexes set -euo ni timers.
Carte du module Shell
Relisez les trous avant le quiz (plan linux-45, colonne 4) :
| # | Sujet | Slug |
|---|---|---|
| Hub | Linux Shell & Automation | linux-shell-automation |
| 1 | Bash avancé : set -euo, fonctions, arrays |
linux-bash-avance |
| 2 | grep et ripgrep (logs & code) | linux-grep-ripgrep |
| 3 | awk pratique : colonnes et agrégats | linux-awk-pratique |
| 4 | systemd timers : OnCalendar DevOps | linux-systemd-timers |
| Pont | systemd avancé (P5 bonus) | linux-systemd-avance |
| 6–9 | Backlog lot 2 | sed, pipelines ops, scripts ops, jq/yq (à venir — pas live) |
| 10 | Quiz & FAQ (cette page) | linux-shell-quiz-faq |
Amont : Bash scripting P5 · Basics : Linux Basics · Cross : Admin, Sécurité, Docker.
Comment réviser
- Par couches : bash robuste → grep/rg → awk → timers (
OnCalendar+.timer/.service). - Relisez le hub Shell & Automation.
- FAQ à voix haute, puis quiz sans notes — cible ≥ 8/10.
- Chapitre faible → refaire le lab
/tmp(Ubuntu 22.04/24.04), puis revenir. - Ne confondez pas bash scripting (socle) et bash avancé (robustesse) ; ni systemd avancé (pont) et timers (cible).
FAQ Shell (révision SEO)
Pourquoi set -euo pipefail plutôt que set -e seul ?
Sans pipefail, seul le dernier maillon d’un pipe compte : un grep/curl au milieu peut échouer silencieusement. -u attrape les variables non définies (unbound variable). Trio = défaut ops, avec exceptions explicites (if grep …, || true si « pas de match » est OK). Voir Bash avancé.
"$@" vs $*, et local / arrays ?
"$@" préserve chaque argument (espaces inclus) — préférez-le aux wrappers. $* fusionne. local limite la portée dans une fonction (évite collisions). Arrays dès qu’une liste grandit entre fonctions.
grep ou ripgrep (rg) ?
grep : hôte minimal, un fichier, pipe journalctl. rg : code, monorepos, gitignore. Apprenez les deux — grep & ripgrep.
Pourquoi grep sans match casse sous set -e ?
grep renvoie exit 1 si aucune ligne — normal. Sous -e, le script s’arrête. Patterns : if grep -q … ; then … ; fi, ou grep … || true. Même réflexe pour rg en CI.
awk : $NF, BEGIN / END, agrégats ?
$NF = dernier champ. BEGIN avant les lignes (init) ; END après (totaux). Agrégats : compteurs, sommes, sum[host] += bytes. Guide : awk pratique. Programme en simples quotes ; -v pour injecter du shell.
systemd timer ou cron ?
Les deux restent valides. Un timer s’intègre aux units, journalctl, Persistent=, RandomizedDelaySec. cron = crontabs ad hoc. Sur machine systemd, couple .timer + .service (Type=oneshot) = clair pour l’automation. Voir systemd timers.
OnCalendar, Persistent=, RandomizedDelaySec ?
OnCalendar= définit quand démarrer (syntaxe systemd.time). Persistent=true rattrape un run manqué si la machine était éteinte. RandomizedDelaySec= étale la charge (anti « thundering herd » à 02:00 sur une flotte). Activez avec systemctl enable --now …timer, puis vérifiez systemctl list-timers et le journal du service associé.
Différence vs bash scripting P5 et vs systemd avancé ?
Bash scripting = socle if/for ; bash avancé = set -euo, trap, arrays, "$@". systemd avancé introduit units/journal/timer ; timers spécialise OnCalendar / couple timer-service. Pont ≠ doublon ; sautez le redo P5 si acquis.
Checklist avant prod / automation
- [ ] Shebang +
set -euo pipefail(exceptionsgrep/rgdocumentées) - [ ]
"$@",local; aucun secret en clair / Git - [ ]
trapcleanup/tmp; ShellCheck sur scripts critiques - [ ] grep sur hôte minimal ;
rgen laptop/CI - [ ] awk en simples quotes +
-v; timer =.timer+.service+daemon-reload - [ ]
Persistent=/RandomizedDelaySec=choisis ; vériflist-timers+journalctl - [ ] Labs
/tmpOK sur Ubuntu 22.04/24.04 avant flotte - [ ] Backlog (sed, pipelines, jq/yq) noté sans bloquer le lot 1
- [ ] Différenciation claire vs bash scripting et vs systemd avancé
Quiz (10 questions)
Testez le module. Réponses en bas — tentez sans notes.
1. Quel trio Bash limite échecs silencieux (pipes + vars oubliées) ?
– A. set -x uniquement
– B. set -euo pipefail
– C. set +e
2. Pour transmettre des chemins avec espaces ?
– A. $* sans guillemets
– B. "$@"
– C. $1$2$3 collés
3. Sous set -e, un grep sans ligne matchée…
– A. Renvoie 0 et continue
– B. Renvoie 1 et peut arrêter le script
– C. Crée un fichier vide
4. ripgrep (rg) se distingue surtout par…
– A. Remplacer systemd
– B. Vitesse + gitignore / exploration de code
– C. Interdiction en pipe
5. En awk, $NF désigne…
– A. Le nombre de fichiers ouverts
– B. Le dernier champ de la ligne
– C. Uniquement la première colonne
6. Où placer typiquement un total / moyenne awk ?
– A. Uniquement dans BEGIN
– B. Dans END (après les lignes)
– C. Dans /etc/crontab obligatoire
7. Anatomie minimale d’une planification systemd automation ?
– A. Un seul .timer sans service
– B. Couple .timer + .service (souvent oneshot)
– C. Uniquement crontab -e renommé
8. Persistent=true sert surtout à…
– A. Chiffrer le journal
– B. Rattraper un run manqué si machine down
– C. Remplacer OnCalendar
9. Par rapport à bash scripting P5, bash avancé…
– A. Est un redo identique des if/for
– B. Monte d’un cran : robustesse (set -euo, arrays, "$@")
– C. Remplace awk et timers
10. Après cette révision Shell lot 1, suite logique ?
– A. Publier des secrets dans Git
– B. Backlog lot 2 (sed, pipelines, jq) + Admin / Sécurité / Docker
– C. Abandonner journalctl pour echo seul
Réponses : 1‑B · 2‑B · 3‑B · 4‑B · 5‑B · 6‑B · 7‑B · 8‑B · 9‑B · 10‑B
Score : ≥ 8/10 → lot 1 solide ; sinon revisitez bash avancé, les exit codes grep/rg et le couple timer/service. Le backlog (sed, pipelines, scripts ops, jq/yq) ajoute de la profondeur — ce n’est pas un frein pour croiser Admin, Sécurité ou Docker.
Erreurs fréquentes (révision)
| Symptôme | Cause | Correction |
|---|---|---|
| Échec silencieux au milieu d’un pipe | Pas de pipefail |
set -euo pipefail |
unbound variable |
-u + var absente |
${VAR:-} ou export |
| Script meurt sur « pas de match » | grep exit 1 sous -e |
if grep -q / || true |
| Arguments cassés (espaces) | $* / guillemets oubliés |
"$@" |
awk « vide » / mauvais $1 |
Doubles quotes shell | Simples quotes + -v |
| Timer ne part pas | Pas d’enable / reload / service | Couple timer+service ; list-timers |
| Confusion P5 vs série | Redo / doublon | Scripting=socle ; avancé=robustesse ; timers≠bonus seul |
| Secret en clair | Copier-coller ops | Env / hors Git / secret manager |
Pour aller plus loin
- Hub Shell & Automation · Bash avancé · grep/rg · awk · timers
- Socle / pont : bash scripting · systemd avancé
- Backlog lot 2 (à venir) : sed, pipelines ops, scripts ops, jq/yq — absence live OK
- Sœurs : Admin · Sécurité · quiz Sécurité · Docker · Docker quiz
Maillage série Linux Shell & Automation
| ← Précédent | systemd timers (linux-systemd-timers) — fin lot 1 labs |
| → Suivant | Hub Shell & Automation + backlog lot 2 |
| Aussi | Hub · bash avancé · grep/rg · awk · pont systemd-avance · Cross : Admin · Sécurité · Docker |
Meta publication (à remplir dans Rank Math / SEO)
- Title SEO : Quiz & FAQ Shell Linux : bash, grep, awk, timers
- Meta description (≤ 155) : Révision Linux Shell & Automation : FAQ bash/grep/awk/timers, quiz 10 questions, checklist avant automation DevOps.
- Image mise en avant :
assets/web/devopelastichayway/cover-linux-shell-quiz-faq-1200x630.webp(à générer — Visuels Linux) - Catégorie : Linux · Niveau : Intermédiaire
- KW principal : faq bash linux · Secondaires : quiz shell devops, systemd timer faq, grep ripgrep faq, awk pratique
- IDs WP : Pilier FAQ colonne Shell (maille hub + lot 1) · Schema FAQ + Article via Rank Math
- Maillage : préc.
linux-systemd-timers· hublinux-shell-automation· pontlinux-systemd-avance - URL cible : https://devopelastichayway.com/tutoriels/linux-shell-quiz-faq/ (live 404 attendu)
- Publish : HOLD — brouillon local uniquement ; ne pas publier WordPress / Rank Math tant que HOLD
← Retour parcours Linux — Basics, Admin, Réseau & Sécurité, Shell & Automation.