Potresti conoscere l'uso di base del comando di cronologia, ma può fare molto di più. La storia di Bash è di solito memorizzata nel file ~/.Bash_history. Ti consente di richiamare e riutilizzare il record memorizzato in modo efficiente per ottenere il meglio dalla funzione di salvataggio della storia di Bash. Non solo questo, ma puoi anche personalizzare e controllare l'output del comando bash nel modo in cui desideri.
In questo articolo, spiegheremo come utilizzare e personalizzare efficacemente la cronologia dei comandi bash per ottenere il massimo dalle sue caratteristiche.
Abbiamo usato Debian 10 per l'esecuzione dei comandi e della procedura menzionati in questo articolo.
Utilizzo della cronologia dei comandi bash
Visualizzazione della storia di Bash
Per visualizzare l'intera cronologia dei comandi della shell, è possibile eseguire il seguente comando in terminale:
$ STORIA
Elencherà l'intera cronologia per un utente specifico dal file di cronologia archiviato appositamente per quell'utente. Vedrai tutti i comandi che iniziano con un numero assegnato a ciascuno di essi. Elencherà i comandi più vecchi in alto a partire dal numero 1 e i comandi più recenti in basso.
Ricerca dell'output della cronologia
Puoi anche cercare una parola chiave specifica dall'output della cronologia. Abbina il comando cronologia con Grep e una parola chiave specifica per cercare comandi che corrispondono alla parola chiave specificata come segue:
$ STORIA | grep [parola chiave]
Ad esempio, per elencare tutti i comandi che includono la parola chiave "trova", il comando sarebbe:
$ STORIA | Grep Trova
Visualizzazione degli ultimi comandi N
Il comando cronologia per impostazione predefinita elenca l'ultimo numero 1000 di comandi eseguiti da un utente. Nel caso in cui si desideri elencare solo un numero specifico, diciamo n Numero dell'ultimo comando eseguito, eseguire il seguente comando in terminale:
$ STORIA N
Ad esempio, per elencare gli ultimi 7 comandi eseguiti, il comando sarebbe:
$ STORIA 7
Per visualizzare il numero degli ultimi comandi N Esegui che include una parola chiave specifica, è possibile utilizzare la seguente sintassi:
$ STORIA | Parola chiave grep | Tail -N
Un esempio di ciò sarebbe quello di visualizzare gli ultimi 4 comandi eseguiti con la parola chiave "Java".
$ STORIA | grep java | coda -n
Visualizzazione dei comandi più vecchi
Per visualizzare il numero N più antico di comandi, è possibile utilizzare la seguente sintassi nel terminale:
$ STORIA | testa -n
Per visualizzare il numero N più antico di comandi che include una parola chiave specifica, utilizzare la seguente sintassi:
$ STORIA | Parola chiave grep | head -n
Un esempio di ciò sarebbe quello di visualizzare i 4 comandi eseguiti più antichi con la parola chiave "Java".
$ STORIA | grep java | head -4
Cancella completamente la storia di Bash
Per rimuovere l'intera cronologia di Bash, eseguire il seguente comando in terminale:
$ history -cw
Personalizzazione della cronologia dei comandi bash
Per personalizzare la cronologia dei comandi bash, dovremo apportare modifiche al ~/.file bashrc. Per modificare il ~/.file bashrc, usa il seguente comando:
$ nano ~/.Bashrc
Una volta terminato la modifica del file, usa Ctrl+O e Ctrl+X per salvare e chiudere l'Editor Nano.
Quindi eseguire il seguente comando per applicare le modifiche:
$ fonte ~/.Bashrc
Aggiungi data e timestamp alla cronologia di Bash
Se si desidera visualizzare la data e il timestamp insieme alla cronologia dei comandi, puoi farlo aggiungendo la seguente riga in ~/.Bashrc:
$ ESPORT HISTTimeFormat = ' %f, %t'
Ora esegui il storia comando e mostrerà la cronologia dei comandi con dati corrispondenti e timestamp.
Aumentare le dimensioni della storia di Bash
Bash per impostazione predefinita mantiene 500 comandi nell'elenco della cronologia. Tuttavia, possiamo modificare questo valore usando il valore di istruzione.
Per visualizzare la dimensione corrente della cronologia di Bash, eseguire il seguente comando in terminale:
$ echo $ histsize
Allo stesso modo, la dimensione predefinita del file di cronologia bash è 500. È il numero massimo di voci contenute nel file di cronologia.
Per aumentare le dimensioni della storia di Bash diciamo 10000, aggiungi le seguenti righe in ~/.File Bashrc:
$ Histsize = 10000
$ Histfilesize = 10000
Per verificare se la dimensione della cronologia bash è cambiata correttamente, eseguire i seguenti comandi nel terminale:
$ echo $ histsize
$ echo $ histfilesize
Aggerisci i comandi bash al file di cronologia
Quando una sessione di bash è chiusa, è possibile scegliere se sovrascrivere o aggiungere i comandi nel file di cronologia utilizzando la variabile HISTappend. Per visualizzare le impostazioni corrente, eseguire il seguente comando in terminale:
$ Shopt Histappend
L'opzione "on" nell'output mostra l'opzione Histappend e i comandi verranno aggiunti nel file di cronologia invece di sovrascrivere. Mentre "OFF" mostra, l'opzione Histappend è disabilitata e il file verrà sovrascritto.
Apri il ~/.file bashrc e:
Aggiungi la riga seguente, se si desidera aggiungere i comandi al file di cronologia invece di sovrascrivere:
$ SHOPT -S HISTappend
Oppure aggiungi la riga seguente, se si desidera disabilitare l'opzione Append e si desidera sovrascrivere il file all'uscita:
$ shopt -u histappend
Memorizzare immediatamente la storia di Bash
Bash per impostazione predefinita salva la sessione solo nel file della cronologia di Bash una volta terminata la sessione. Per modificare questo comportamento predefinito e farlo per salvare istantaneamente ogni comando eseguito, è possibile utilizzare prompt_command.
Modifica il ~/.file bashrc e aggiungere la seguente riga:
$ Prompt_command = 'history -a'
Ora ogni volta che esegui qualsiasi comando, verrà immediatamente aggiunto al file di cronologia.
Controlla la storia della festa
Possiamo controllare il modo in cui Bash salva la nostra cronologia dei comandi attraverso la variabile HistControl. Possiamo specificarlo per ignorare le voci duplicate e/o per ignorare le voci con i principali spazi bianchi.
Per applicare queste funzioni, aprire ~/.Bashrc e aggiungi la riga seguente con valori separati dal colon come segue:
$ Export HistControl = IgnoRespace: ignoradUps
Ignora comandi specifici
Possiamo anche controllare quali comandi ignorare nella cronologia usando un histignore variabile. È un elenco di schemi separati dal colon in cui possiamo specificare tutti i comandi che vogliamo ignorare dalla storia.
Ad esempio, se non vogliamo elencare i comandi di base come cronologia, comandi LS, PWD nell'elenco della cronologia, allora aggiungiamo la seguente riga in ~/.File Bashrc:
$ Export histignore = "History: LS: PWD:"
Con la cronologia dei comandi Bash Linux, puoi fare molto di più che ripetere i vecchi comandi. In questo articolo, abbiamo imparato a usare la cronologia di Bash per visualizzare i comandi che hanno eseguito in precedenza e hanno anche imparato a controllare il modo in cui bash salvando la cronologia dei comandi.