ChimeraRevo – Il punto di riferimento della tecnologia
menubar
Home > Guide > Gestire e disattivare la…

Gestire e disattivare la cronologia dei comandi da terminale

Gaetano Abatemarco Mag 23, 2015

Vi siete mai chiesti come fa il terminale a ricordare tutti i comandi digitati durante qualsiasi sessione? Semplice: il tutto viene memorizzato in un file speciale, il file .bash_history (presente nella directory utente), e può essere richiamato utilizzando il comando history.

In linea di massima qualsiasi utente con privilegi di root potrebbe accedere all’history file di ciascun utente, ed è anche vero che chiunque in possesso del vostro nome utente e della vostra password d’accesso al computer può tranquillamente visualizzare i comandi digitati da terminale, sia accedendo al file .bash_history, sia invocando il comando history, sia premendo la freccia direzionale in alto.

history

E’ possibile evitare tutto ciò in maniera piuttosto semplice grazie a degli accorgimenti da applicare durante l’utilizzo del terminale: i consigli di seguito vi aiuteranno a gestire e disattivare la cronologia dei comandi da terminale per tenere la vostra attività al sicuro da occhi indiscreti.

Galeotto fu lo spazio…

Nei terminali dei sistemi operativi più diffusi, per impostazione predefinita la variabile HISTCONTROL viene impostata su ignorespace o ignoreboth: ciò significa che qualsiasi comando voi digitiate dopo uno spazio non sarà memorizzato dal buffer dei comandi e, di conseguenza, non sarà scritto nell’history file. Potrete accertarvi che sia il vostro caso digitando a terminale il comando

echo $HISTCONTROL

histcontrol

Quindi, per evitare che un singolo comando venga memorizzato dalla cronologia, non vi resta che anteporvi uno spazio:

#spazio# ls -al

Se HISTCONTROL non fosse impostato ad ignorespace/both non disperate: potrete farlo manualmente unicamente per la sessione in uso impartendo il comando

HISTCONTROL=ignoreboth

Occhio: da questo momento potrete iniziare a digitare comandi preceduti da uno spazio soltanto per la sessione corrente, ma il set verrà memorizzato! Per eliminarlo (capirete in seguito il perché), potrete usare il comando

#spazio# history -d $((HISTCMD-2))

Il comando history

Banalmente, digitare a terminale il comando

history

vi farà accedere all’intera cronologia dei comandi digitati, sia quelli presenti nel file .bash_history (quindi già memorizzati) sia quelli presenti nel buffer del terminale, che saranno scritti nel suddetto file nel momento in cui il terminale stesso verrà chiuso. Ora notate come di fianco ad ogni comando elencato sia presente un numero: usando quel numeretto potrete eliminare uno o più comandi (magari impartiti senza pensarci) senza però eliminare l’intero file della cronologia, come nulla fosse.

Quindi, per eliminare un preciso comando dalla cronologia, è sufficiente digitare a terminale

#spazio# history -d numero_comando

In questo modo il comando sarà eliminato dall’histfile ma non dal buffer di memoria. Per eliminare invece tutto ciò che è presente nel buffer di memoria del terminale (di conseguenza non verrà scritto nel file quando il terminale verrà chiuso), è sufficiente digitare

history -c

Disabilitare il file history

I metodi visti fino ad ora ci son serviti per “ovviare” a situazioni in cui i comandi da tener privati fossero stati delle “improvvisate”, ovvero quando non avevate previsto di impartirli, e soprattutto quando si vogliono nascondere senza lasciar “segni” di averlo fatto (cosa che, invece, sarebbe evidente cancellando del tutto l’history file).

Usando il metodo descritto in basso potremo disabilitare a priori l’intero meccanismo di cronologia, con la possibilità di attivarlo in qualsiasi momento. Quindi per disabilitare l’histfile e l’intera memorizzazione della cronologia andremo a digitare, appena aperto il terminale, il comando

shopt -uo history

La cronologia sarà in questo modo disattivata soltanto per il terminale corrente. Bisogna comunque notare che la pressione del tasto “Su” richiamerà comunque i comandi già impartiti.

Eliminare il file history

Se proprio siete paranoici e volete liberarvi del file della cronologia, eliminando quindi tutte le tracce delle operazioni svolte da terminale fino a quel momento, potrete tagliare la testa al toro eliminando l’intero file della cronologia, tenendo comunque presente che questo sarà ricreato automaticamente e che la cronologia verrà attivata all’apertura di un nuovo terminale.

Per procedere, digitate in sequenza i comandi

shopt -uo history
unset HISTFILE
rm $HISTFILE
history -c
kill -9 $$

Piccola spiegazione:

  • come già detto, il primo comando disattiva provvisoriamente la cronologia;
  • il secondo comando fa “dimenticare” alla shell il percorso dell’history file (di norma ~/.bash_history)
  • il terzo comando elimina l’history file;
  • il quarto comando elimina la cronologia nel buffer del terminale;
  • il quinto comando letteralmente “ammazza” il terminale, impedendo così che l’history file sia ricreato alla chiusura e che vi venga scritto qualcosa.

In definitiva…

Giocare con la cronologia del terminale non è complesso: basta semplicemente un po’ di dimestichezza e sarete in grado di decidere come, quando e perché memorizzare o dimenticare precisi comandi eseguiti! Tuttavia ricordate sempre una cosa: Linux è fatto per essere multiutente quindi, anziché dover pensare a tanti accorgimenti per evitare di essere “beccati” a fare cose strambe, semplicemente create un account separato per ogni utilizzatore del PC!

Il discorso cambia nel caso si parli di macchine aziendali, nelle quali solitamente non siete autorizzati a creare nuove utenze e c’è sempre un boss che sorveglia tutto: la raccomandazione, in questo caso, è di non abusare di quanto spiegato fino ad ora e soprattutto di non eseguire comandi malandrini con la certezza di poterne eliminare le tracce!

Come scaricare video da Vimeo

15 ore fa

Vimeo è una piattaforma di video sharing che annovera tra le sue caratteristiche principali il fatto di negare la pubblicazione di video che non siano stati creati unicamente dall’utente. Il nome Vimeo, tra l’altro, è un gioco leggi di più…

Come scaricare video da Vimeo

Come numerare le pagine su Word

15 ore fa

Quando si crea un documento su Word, la prima cosa che in molti decidono di fare è di numerare le pagine in modo da rendersi conto dell’effettiva lunghezza del testo, oppure di avere un ordine leggi di più…

come numerare pagine word

Google Meet: trucchi e soluzioni a problemi comuni

23 ore fa

Google Meet rappresenta al giorno d’oggi una delle migliori alternative per quanto riguarda le conferenze e le riunioni online. Sebbene il servizio di casa Google sia abbastanza semplice da utilizzare, fa sempre comodo conoscere, in leggi di più…

google meet trucchi e consigli

I migliori smartphone da comprare nel 2021

2 giorni fa

Non esiste lo smartphone migliore, esiste invece il telefono perfetto alle proprie esigenze che sono sicuramente diverse da quelle di un’altra persona, di un parente o amico. Ecco cosa di solito rispondo quando mi chiedete: leggi di più…

miglior smartphone

Perché non ho la musica su Instagram? Ecco come risolvere

2 giorni fa

Se non sa come avere la musica su Instagram siete nel posto giusto. Il famoso social network permette di inserire la musica nella vostre storie tramite un apposito sticker. Purtroppo, su alcuni account, tale sticker leggi di più…

storie con musica

Iscriviti alla Newsletter

Articoli recenti

  • Come scaricare video da Vimeo
  • Come numerare le pagine su Word
  • Google Meet: trucchi e soluzioni a problemi comuni
  • I migliori smartphone da comprare nel 2021
  • Perché non ho la musica su Instagram? Ecco come risolvere
  • Chi siamo
  • Lavora con noi
  • Contattaci
  • Privacy

Copyright © 2020. Tutti i diritti riservati. ChimeraRevo SRL - P.I.: IT05544220659

Modifica impostazioni sulla privacy