Document

SUBSCRIBE TO GET FULL ACCESS TO THE E-BOOKS FOR FREE 🎁SUBSCRIBE NOW

Professional Dropdown with Icon

SUBSCRIBE NOW TO GET FREE ACCESS TO EBOOKS

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

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

  1. Par couches : bash robuste → grep/rg → awk → timers (OnCalendar + .timer/.service).
  2. Relisez le hub Shell & Automation.
  3. FAQ à voix haute, puis quiz sans notes — cible ≥ 8/10.
  4. Chapitre faible → refaire le lab /tmp (Ubuntu 22.04/24.04), puis revenir.
  5. 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 deuxgrep & 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 (exceptions grep/rg documentées)
  • [ ] "$@", local ; aucun secret en clair / Git
  • [ ] trap cleanup /tmp ; ShellCheck sur scripts critiques
  • [ ] grep sur hôte minimal ; rg en laptop/CI
  • [ ] awk en simples quotes + -v ; timer = .timer+.service + daemon-reload
  • [ ] Persistent= / RandomizedDelaySec= choisis ; vérif list-timers + journalctl
  • [ ] Labs /tmp OK 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

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 · hub linux-shell-automation · pont linux-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.