La shell bash mantiene nella nostra home un file chiamato .bash_history nel quale memorizza gli ultimi comandi digitati. La history può risultare molto comoda in alcuni casi ma può essere sconveniente e mantenere informazioni sulla nostra privacy in altre.
Esempio: l'utente tizio ha un account shell su un sistema remoto e non vuole che nessuno (neppure l'amministratore) venga a conoscenza dei comandi che ha eseguito su quel sistema (consideriamo l'utente in buona fede :) ). Ma i comandi sono memorizzati tutti nel file dalla history!
Per fortuna bash permette di impostare il numero dei comandi mantenuti nella history. Per farlo basta impostare la varibile d'ambiente HISTSIZE. Nel nostro caso (per eliminare proprio la history) basta impostare la HISTSIZE a zero.
21 giugno, 2007
Tip: Bash, no alla history!
Iscriviti a:
Commenti sul post (Atom)
Ottimo! non lo sapevo... io ho sempre utilizzato questo metodo che forse puo' comunque tornare utile:
RispondiEliminaMi sposto nella home:
$ cd ~
Svuoto il contenuto del file:
$ echo "" > .bash_history
Un'altra 'chicca' potrebbe essere quella di impostarsi un alias che faccia per noi i comandi di sopra...
Ad esempio in questo modo qui:
Sempre nella home e' presente un file chiamato ".bashrc"... possiamo aprirlo e senza modificare nulla inserire nell'ultima riga un qualcosa del genere:
alias clearhistory='cd ~; echo > .bash_history'
Dopo aver salvato il file .bashrc possiamo ogni volta resettare la history digitando clearhistory!
Complimenti per il blog!!!
Il tuo metodo non funziona del tutto. Se dopo aver azzerato il file della history esegui dei comandi, questi verranno salvati nel file .bash_history non appena effettui il logout.
RispondiEliminaEsempio:
$ ssh server_remoto
$ echo "" > .bash_history
$ vim test
$ altro_comando_a_piacimento
$ exit
$ ssh server_remoto
$ cat .bash_history
vim test
altro_comando_a_piacimento
exit
Quindi per farlo funzionare dovresti richiamare il comando ogni volta prima di effettuare il logout.
Usando il mio metodo disattivi proprio la history ;)
Si esatto... il mio metodo e' utile per quando vuoi usufruire dei benefici della history mentre lavori sulla shell, e azzerre il contenuto una volta finito il lavoro... :D
RispondiEliminaDiciamo che e' una soluzione del tutto differente dalla tua rispetto all'approccio verso lo stesso problema... :D
Dato che sono uno che fa uso spropositato della history mi faceva piacere accennare anche a questo metodo.
resto comunque contento per aver appreso un qualcosa di nuovo dal tuo post...
Ciaooooooooo!!!
Imho credo che disabilitare completamente una delle funzioni più belle della bash non sia altro che una zappata sui piedi...
RispondiEliminaE' decisamente più semplice effettuare uno script di logout che svuota la history, diminuendo anche il numero massimo di comandi memorizzati.
Ma la domanda è: come fai a lavorare da console senza la history ? :P
In genere non la disattivo mai ma in un caso estremo mi è servito farlo e quindi ecco che ho scritto questo post per qualcuno con la mia stessa esigenza.
RispondiEliminaSono con te sul fatto che la history è molto comoda ma a volte può risultare "sconveniente" ;)
$ history -c
RispondiElimina??? non vi piace???
necessita di verificare:)
RispondiEliminaSi, probabilmente lo e
RispondiEliminaLa ringrazio per intiresnuyu iformatsiyu
RispondiEliminaimparato molto
RispondiEliminaleggere l'intero blog, pretty good
RispondiEliminaimparato molto
RispondiEliminamolto intiresno, grazie
RispondiEliminaimparato molto
RispondiEliminaleggere l'intero blog, pretty good
RispondiEliminaleggere l'intero blog, pretty good
RispondiEliminaLa ringrazio per Blog intiresny
RispondiEliminaimparato molto
RispondiEliminaimparato molto
RispondiEliminamolto intiresno, grazie
RispondiEliminaleggere l'intero blog, pretty good
RispondiEliminaleggere l'intero blog, pretty good
RispondiEliminaquello che stavo cercando, grazie
RispondiEliminaleggere l'intero blog, pretty good
RispondiElimina