1,852 22/05/2025 07/04/2026 3 min

La cronologia del terminale Linux è un registro di tutti i comandi eseguiti dall’utente, memorizzati per comodità e riutilizzo. Tuttavia, può rappresentare un rischio per la privacy o la sicurezza se contiene informazioni sensibili (come password, chiavi SSH o percorsi riservati).

Come Funziona la Cronologia in Linux

File e Meccanismi

  • ~/.bash_history: File nascosto nella home dell’utente che memorizza i comandi (per Bash).
  • ~/.zsh_history: Equivalente per Zsh.
  • Memoria temporanea: Durante la sessione, i comandi restano in RAM finché non vengono scritti sul file.

Quando viene salvata la cronologia?

  • Alla chiusura del terminale (per Bash).
  • In tempo reale (per Zsh, se configurato).
  • Tramite il comando history -a (salvataggio manuale).

Comandi Base per Gestire la Cronologia

Visualizzare la cronologia

history          # Mostra tutti i comandi
history 10       # Mostra gli ultimi 10 comandi

Ripetere un comando dalla cronologia

!123             # Esegue il comando alla riga 123
!!               # Ripete l'ultimo comando
!ssh             # Esegue l'ultimo comando che inizia con "ssh"

Cancellare la Cronologia

Con il tempo, il tuo terminale può diventare un po' confusionario, specialmente dopo aver eseguito numerosi comandi, script o output di programmi. Un terminale pulito ti permette di:

  • Migliorare la leggibilità: Rende più facile vedere gli output dei comandi più recenti senza doverti scrollare indietro.
  • Ridurre la distrazione: Un ambiente pulito ti aiuta a concentrarti sul compito attuale.
  • Aumentare la produttività: Non perdi tempo a cercare l'informazione che ti serve in un mare di testo.

Metodo 1: Eliminare TUTTA la cronologia

history -c       # Cancella la cronologia in memoria
cat /dev/null > ~/.bash_history  # Svuota il file permanente

Metodo 2: Rimuovere un comando specifico

  1. Trova il numero della riga:bashCopyDownloadhistory
  2. Eliminala:bashCopyDownloadhistory -d 123 # Cancella la riga 123

Metodo 3: Cancellare la cronologia di root

Se hai usato sudo:

sudo cat /dev/null > /root/.bash_history

4. Disabilitare la Registrazione della Cronologia

Opzione 1: Ignorare comandi specifici

Aggiungi questa riga a ~/.bashrc:

export HISTCONTROL=ignorespace

Ora, i comandi preceduti da spazio non verranno salvati:

 ls  # Non apparirà nella cronologia

Opzione 2: Disabilitare completamente la cronologia

Imposta una dimensione massima a 0 in ~/.bashrc:

export HISTSIZE=0
export HISTFILESIZE=0

5. Tecniche Avanzate per la Privacy

Cancellare tracce nei log di sistema

Alcuni comandi (eseguiti con sudo) vengono registrati in:

/var/log/auth.log  # Log di autenticazione

Per pulirli (richiede root):

sudo cat /dev/null > /var/log/auth.log

Usare un terminale "senza tracce"

Avvia una sessione Bash senza cronologia:

bash --norc

Conclusione

La gestione della cronologia è essenziale per:
Privacy: Evitare che dati sensibili rimangano registrati.
Efficienza: Trovare rapidamente comandi complessi.

Sicurezza: Ridurre il rischio di esposizione di credenziali.

Se lavori in ambienti condivisi o con dati riservati, disabilita la cronologia o puliscila regolarmente.