Un paio di anni fa, ho eseguito l'aggiornamento automatico della distribuzione dal 14.04 al 16.04. Per la prima volta nella mia vita, ho potuto continuare a utilizzare il computer dopo l'aggiornamento automatico della distribuzione. Come al solito, i repository del software sono tutti munterati, quindi gli aggiornamenti di sistema non funzionano correttamente, ma me la sono cavata.
Tuttavia, eseguirò un'installazione pulita della 18.04. Per poter configurare più facilmente il mio sistema dopo l'installazione, ho esportato la cronologia dei miei comandi in un file di testo.
$ history > /.../20180915_Command_history.txt
Splendidamente, il file di testo risultante contiene numeri di riga. In qualche modo misteriosamente, il numero della prima riga è 76. Dopo aver esaminato le prime righe, sembra che ci fossero probabilmente dei comandi precedenti.
- I numeri di riga iniziano con 76 per qualche motivo?
- Se no, c'è un modo per vedere le righe da 1 a 75?
Risposta accettata:
Prima di tutto, se hai bisogno di un backup della cronologia della tua riga di comando, copia semplicemente questo file:
~/.bash_history
Ricorda che devi chiudere tutti i tuoi terminali o eseguire history -a
per aggiungere tutti i comandi di quelle sessioni di cronologia al file di cronologia.
In caso negativo, c'è un modo per vedere le righe da 1 a 75?
Ogni comando che è stato salvato nella tua cronologia è disponibile in ~/.bash_history
file, per vederli tutti apri un terminale ed esegui:
cat ~/.bash_history
Per ottenere un output simile a history
comando con esecuzione numerazione:
cat -n ~/.bash_history
I numeri di riga iniziano con 76 per qualche motivo?
Esegui questo comando:
grep "^HIST" .bashrc
Devi ottenere un output simile a:
HISTSIZE=1000
HISTFILESIZE=2000
Come ho detto prima ~/.bash_history
mantiene la cronologia della riga di comando.
-
Il
HISTFILESIZE
mostra quanti comandi dovrebbero~/.bash_history
tiene traccia, per me sono 2000. -
E
HISTSIZE
è il numero di comandi chehistory
il comando (in realtà integrato nella shell) tiene traccia di.
Quando apri un terminale ed esegui history
, sceglierà l'ultimo HISTSIZE
numero di comandi da ~/.bash_history
e te lo mostra.
Se esegui nuovi comandi, rimuoverà quelli più vecchi dalla sessione e aggiungerà i nuovi alla fine del suo elenco in modo che il numero di comandi corrisponda a HISTSIZE
.
Immagino che mentre ponevi la domanda avevi 74 comandi in più rispetto a HISTSIZE
nel tuo .bash_history
ed è per questo che parte da 75.
Da man bash
:
-
HISTSIZE
Il numero di comandi da ricordare nella cronologia dei comandi.
-
HISTFILESIZE
Il numero massimo di righe contenute nel file della cronologia.