Utilizzo e personalizzazione della cronologia dei comandi bash

Utilizzo e personalizzazione della cronologia dei comandi bash
La shell bash è l'ambiente di riga di comando predefinito disponibile nella maggior parte delle distribuzioni Linux. Simile a tutti gli ambienti shell, mantiene un record di comandi che sono stati eseguiti in precedenza dall'utente. Questo record è mantenuto e mantenuto anche se riavviamo il nostro sistema.

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.

  • IgnoRespace - Elimina i comandi che iniziano con un elenco di cronologia dello spazio.
  • IgnoradUps - Elimina i comandi duplicati.
  • IgnoreBoth - Abilita sia ignorato che ignora
  • cancellazioni: eliminare i duplicati dall'intero elenco

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.