Quando digitiamo un comando nel terminale, il nome della stesso non si perde, ma viene memorizzato in un file che si trova nella nostra home e che si chiama .bash_history.
Il fatto che il nome del comando resti, è una grande cosa. Ci evita, in pratica, di digitare più volte lo stesso comando (che può essere più o meno articolato e quindi difficile da ricordare).
In un precedente post (qui) avevamo detto, tenuto conto anche dei contributi dei commenti, che, per cercare un comando nella history list, si può ricorrere:
1. Ai tasti direzionali Su e Giù
2. Alla combinazione Ctrl+R
Con questo post voglio aggiungere un altro metodo, che trovo veramente gratificante. :)
Se digito
$ history > Scrivania/filehistory
vado a creare, sulla scrivania, un file di testo contenente l'elenco degli ultimi 500/1000 comandi (a seconda delle impostazioni nel file .bashrc)
La creazione di questo file mi permette di visionare, in totale relax, i comandi digitati.
Eccone un esempio
.............
54 sudo apt-get purge openoffice*.*
55 sudo add-apt-repository ppa:libreoffice/ppa
56 sudo apt-get update
57 sudo apt-get upgrade
58 sudo apt-get install libreoffice-l10n-it
59 sudo apt-get install libreoffice
60 sudo apt-get install libreoffice-gnome
61 sudo apt-get install language-support-writing-it
..............
Come possiamo notare, la lista è composta da due parti, da un numero e dal comando.
Poniamo il caso che voglia eseguire nel terminale il comando n. 57
ricorrendo al metacarattere "!", mi basta digitare
$ !57
Ciao :)
Bella dritta! Non conoscevo/ricordavo il comando history :D
RispondiElimina@Mattux
RispondiEliminaPenso che sia un modo soft per rivedersi tutti i comandi lanciati :D
bel post :D
RispondiElimina@Picchio
RispondiEliminaGrazie Picchio. :D
> "un file di testo contenente l'elenco degli ultimi 500/1000 comandi"
RispondiEliminaCi puoi scrivere la biografia del terminale :)
@Idl3
RispondiEliminaMeglio di no, mi denuncerebbe per diffamazione e uso improprio. :D
Se vuoi leggere tutti i comandi salvati puoi fare così:
RispondiElimina$ cat .bash_history | nl | less
Ti ricordo anche che di default i comandi salvati sono 500. Il comando history ti visualizza 500 comandi. Ogni volta che scrivi un comando nuovo, quello vecchio verrà tolto dalla pila.
Guarda un po' qui
http://toshidex.org/2010/04/19/bash-history/
:)
@Lightuono
RispondiEliminaAvevo già modificato il file .bashrc.
Ti volevo chiedere un'altra cosa. L'altro giorno ho aggiunto, sempre nel file .bashrc, la variabile
HISTTIMEFORMAT in modo di avere anche la data dei vari comandi. Ho aggiunto la seguente riga
export HISTTIMEFORMAT="%d.%m.%Y %H:%M:%S
Il problema è che bash non la interpreta bene: Tutti i comandi presentano la stessa data. Come faccio a risolvere questo inconveniente?
Se risolvi questo quesito, avrai in dono una fornitura di vino (tre litri al mese) per un anno. :D
@Bit3Lux
RispondiEliminaSecondo me puoi incominciare a darmi la fornitura di vino :D :D ahhahahahah.
Prova a scrivere così, senza l'export:
HISTTIMEFORMAT=" [ %D - %T ] "
Provalo e fammi sapere ;)
@Lightuono
RispondiEliminaNiente, mi da sempre la stessa data.
Vedi
126 [ 04/18/11 - 16:54:16 ] sudo update-grub2
127 [ 04/18/11 - 16:54:16 ] sudo update-initramfs -u
128 [ 04/18/11 - 16:54:16 ] sudo gedit /etc/default/grub
129 [ 04/18/11 - 16:54:16 ] sudo gedit /etc/initramfs-tools/modules
130 [ 04/18/11 - 16:54:16 ] sudo update-grub2
131 [ 04/18/11 - 16:54:16 ] sudo update-initramfs -u
132 [ 04/18/11 - 16:54:16 ] sudo apt-get clean
133 [ 04/18/11 - 16:54:16 ] sudo apt-get autoclean
Non so perchè. :(
Momento momento momento. La nuova data la setterà ogni volta che digiti un comando nuovo. Per tutti quelli vecchi lui imposterà l'ultima data impostata con histfileformat.
RispondiEliminaSe tu hai modificato il file alle 16:54, tutti i comandi vecchi registrati su bash_history verrano visti con quella data. Solo i comandi nuovi verranno registrati con l'esatta data di esecuzione del comando.
Fai una prova a dare qualche comando e dopo lanciare history. Vedrai la differenza ;)
Per il momento momento ti consiglio di guardare questo divertentissimo video :)
http://www.youtube.com/watch?v=DTJddx-zgw8
@Lightuono
RispondiEliminaMa LOL ahahahahhahaha
Come al solito volevo l'impossibile :D
La fornitura di vino sarà decurtata di 5 mesi e 27 giorni.
Prendere o lasciare. XD
XD XD XD XD XD XD XD è possibile avere anche una bottiglia di grappa stagionata?
RispondiElimina@Lightuono
RispondiEliminaSi,ma solo se mi porti tre forme di "pepato" XD :D
Si può fare! Domani parlo con il pecoraio di fiducia e ti farò sapere ;)
RispondiElimina