Risposte:
Questo viene fatto automaticamente. Bash memorizza i tuoi comandi ~/.bash_history
. Se vuoi dare un'occhiata alla cronologia, stampa l'output di questo file usando uno dei
cat ~/.bash_history
less ~/.bash_history
...any other pager or output command...
Oppure puoi usare il comando incorporato di bash:
history
Per cancellare la cronologia, eliminare il file e cancellare la cronologia temporanea:
rm ~/.bash_history && history -c
Per impostazione predefinita, la dimensione della cronologia è di 500 comandi. Tuttavia, puoi aumentarlo aggiungendo una riga al tuo ~/.bashrc
file per impostare la HISTSIZE
variabile:
HISTSIZE=<number of entries, -1 for unlimited>
Questo non avrà effetto immediato, ma solo per le sessioni appena iniziate. Per applicare questo, rinominare il .bashrc
file:
. ~/.bashrc
o eseguire HISTSIZE=...
nella sessione corrente.
È possibile digitare history
su un terminale per visualizzare tutti i precedenti comandi eseguiti.
È possibile troncare l'output su alcune righe (dove 5 è il numero di righe):
history 5
Se vuoi visualizzare solo i comandi che contengono una stringa (ad es. mv
), Puoi farlo:
history | grep mv
È possibile richiamare un comando digitando !
seguito dal numero della voce.
Diciamo che ho una storia come questa:
1 ls -la
2 mkdir foo
3 mv bar.txt foo
mkdir foo
, puoi digitare !2
.!-1
o!!
!-2
Se si esegue un comando che non riesce perché necessita dei privilegi di root (ad es. touch /etc/foo
), È possibile utilizzare sudo !!
per eseguire l'ultimo comando come root.
!man
eseguirai l'ultimo comando che inizia conman
!?man?
eseguirà l'ultimo comando che contiene man
(non necessariamente all'inizio della riga)Se hai un refuso in un comando, puoi risolverlo in questo modo. Diciamo che ho tipo cat .bash_hi
, di sostituire .bash_hi
con .bash_history
ho solo bisogno di digitare ^hi^history^
.
history
lavorando per me su Ubuntu 16. Grazie e dovrei essere quello accettato!
Basta digitare:
history > print.txt
Un nuovo file chiamato print.txt verrà creato nella directory attualmente in uso.
Spesso voglio anche solo quei comandi recenti. Per pubblicare nelle mie note di sviluppo o, beh, siti di stackexchange come questi ... Questo si è rivelato molto utile, rimuovendo i numeri di riga irrilevanti:
history | cut -c 8- | tail
o, se ti piace come alias, i numeri di riga rimossi e rientrati immediatamente (proprio come necessario per il markdown del preventivo del codice)
alias lastones="history | tail | sed -e 's/^ [0-9]\{1,5\} / /gi'"
fc
: askubuntu.com/a/839642/158442
Puoi provare https://github.com/dvorka/hstr che consente la semplice navigazione , navigazione e il filtro "suggerisci stile box" della tua cronologia di Bash:
Può essere facilmente legato alla Ctrl-re / oCtrl-s