Titolo del modulo: dgt_bash03 – Cronologia dei comandi
Panoramica:
“dgt_bash03 – Cronologia dei comandi” tratta le funzionalità della cronologia dei comandi di Bash. È rivolto sia a utenti esperti della shell sia a chi è alle prime armi con la riga di comando, e spiega come Bash registra, memorizza e richiama i comandi eseguiti in una sessione, così da poter leggere, ragionare e guidare il lavoro sulla shell.
Approccio:
Prima imparerete come funziona la cronologia dietro le quinte: la lista in memoria, il file di cronologia, le variabili che ne determinano il comportamento e la sintassi di espansione. Poi, nella pratica, non digiterete questi comandi voi stessi. Chiederete alla macchina in linguaggio naturale, per esempio “conserva gli ultimi 10.000 comandi, salta i duplicati e non salvare mai le righe che iniziano con uno spazio”, leggerete la configurazione che propone e verificherete che corrisponda a ciò che sapete su HISTCONTROL e sul file di cronologia prima di accettarla.
Obiettivi del modulo:
Al termine di questo modulo i partecipanti saranno in grado di:
- Comprendere i fondamenti della cronologia dei comandi di Bash.
- Descrivere con precisione alla macchina come deve essere gestita la cronologia e verificare le impostazioni che applica.
- Chiedere alla macchina di cercare nella cronologia operazioni passate e valutare se i risultati sono completi e corretti.
- Leggere e spiegare le espansioni della cronologia che la macchina usa per rieseguire i comandi, individuando quelle rischiose prima che vengano eseguite.
Contenuti del modulo:
- Introduzione alla cronologia dei comandi
- Panoramica di cos’è la cronologia dei comandi in Bash.
-
L’importanza della cronologia per efficienza, produttività e per ricostruire ciò che è stato fatto su un sistema.
-
Gestire la cronologia dei comandi
- Come accodare o sovrascrivere il file di cronologia.
- Comprendere il file
.bash_historye le sue opzioni di configurazione. - Configurare le impostazioni della shell, ad es.
HISTSIZE,HISTCONTROL, per gestire il comportamento della cronologia. -
Esempi pratici di inclusione/esclusione dei comandi dalla cronologia con
HISTIGNORE. -
Navigare nella cronologia
- Usare i tasti di navigazione di base
Up/Down Arrowe scorciatoie come la ricerca inversaCtrl + R. -
Eseguire comandi precedenti tramite indice numerico, ad es.
!n. -
Cercare comandi nella cronologia
- Tecniche di ricerca nella cronologia tramite pattern matching.
- Come funziona la ricerca incrementale e come affina la ricerca man mano.
-
Esempi pratici in cui chiedete alla macchina di trovare comandi specifici e verificate ciò che ha trovato.
-
Eseguire comandi dalla cronologia
- Rieseguire comandi con le tecniche di espansione della cronologia, ad es.
!!,!$. - Modificare e rieseguire comandi precedenti con
!:n,!?string?. -
Scenari reali in cui leggete le espansioni proposte dalla macchina e confermate che facciano ciò che intendevate.
-
Suggerimenti e tecniche avanzate
- Personalizzare il prompt di Bash per includere informazioni sulla cronologia.
- Integrare la cronologia con altre funzionalità della shell come alias e funzioni.
- Best practice per mantenere una cronologia pulita e utile.
Destinatari:
Il modulo è rivolto ad amministratori di sistema, professionisti DevOps, sviluppatori e chiunque lavori con sistemi Linux. È adatto anche a studenti IT che vogliono conoscere la shell abbastanza a fondo da guidare un agente AI e revisionarne il lavoro.
Valutazione:
I partecipanti vengono valutati con esercizi pratici in cui istruiscono la macchina, in linguaggio naturale, a gestire, cercare e riutilizzare la cronologia dei comandi, per poi spiegare e verificare ogni comando e impostazione prodotti.
Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, create una cartella con il vostro username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy
