GNU/Linux >> Linux Esercitazione >  >> Linux

Come usare il comando cronologia in Linux

Dato che trascorro sempre più tempo nelle sessioni del terminale, mi sembra di trovare continuamente nuovi comandi che rendono più efficienti le mie attività quotidiane. La history di GNU command è quello che ha davvero cambiato la mia giornata lavorativa.

La history di GNU command mantiene un elenco di tutti gli altri comandi che sono stati eseguiti da quella sessione del terminale, quindi consente di riprodurre o riutilizzare quei comandi invece di riscriverli. Se sei un utente di terminale esperto, conosci la potenza della history , ma per noi dilettanti o nuovi amministratori di sistema, history è un aumento di produttività immediato.

Prima di tutto, la history comando non è in realtà un comando. Puoi verificarlo di persona cercando il comando sul tuo sistema:

$ which history
which: no history in (/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin)

Il tuo computer non riesce a trovare la history comando perché è una parola chiave incorporata nella tua shell. Poiché è scritto nella shell che stai utilizzando, possono esserci alcune variazioni nel modo in cui si comporta la cronologia a seconda che tu stia usando Bash, tcsh, Zsh, dash, fish, ksh e così via. Questo articolo si basa sull'implementazione della cronologia in Bash, quindi alcune funzioni potrebbero non funzionare in altre shell. Tuttavia, la maggior parte delle funzioni di base sono le stesse.

Cronologia 101

Per vedere la history in azione, apri un programma terminale sulla tua installazione Linux e digita:

$ history

Ecco la risposta che ho ricevuto:

1  clear
2  ls -al
3  sudo dnf update -y
4  history

La history command mostra un elenco dei comandi immessi da quando hai avviato la sessione. La gioia della history è che ora puoi riprodurne uno qualsiasi usando un comando come:

$ !3

Il !3 comando al prompt dice alla shell di eseguire nuovamente il comando sulla riga 3 dell'elenco della cronologia. Potrei anche accedere a quel comando inserendo:

$ !sudo dnf

Questo richiede history per cercare l'ultimo comando che corrisponde al pattern che hai fornito (in questo caso, quel pattern è dnf ) ed eseguilo.

Cronologia ricerche

Puoi anche usare history per eseguire nuovamente l'ultimo comando inserito digitando !! . Associandolo a grep , puoi cercare i comandi che corrispondono a uno schema di testo oppure, utilizzandolo con tail , puoi trovare gli ultimi comandi che hai eseguito. Ad esempio:

$ history | grep dnf
3  sudo dnf update -y
5  history | grep dnf

$ history | tail -n 3
4  history
5  history | grep dnf
6  history | tail -n 3

Un altro modo per accedere a questa funzionalità di ricerca è digitare Ctrl-R per invocare una ricerca ricorsiva nella cronologia dei comandi. Dopo averlo digitato, il prompt cambia in:

(reverse-i-search)`':

Ora puoi iniziare a digitare un comando e i comandi corrispondenti verranno visualizzati per l'esecuzione premendo Invio o Invio .

Modifica di un comando eseguito

Puoi anche usare history per eseguire nuovamente un comando con una sintassi diversa. Puoi rivedere la cronologia con history . Ad esempio, se voglio modificare il mio comando precedente history | grep dnf alla cronologia di history | grep ssh , posso eseguire quanto segue al prompt:

$ ^dnf^ssh^

Il comando viene eseguito nuovamente, ma con dnf sostituito da ssh . In altre parole, viene eseguito questo comando:

$ history | grep ssh

Rimozione cronologia

Potrebbe venire il momento in cui desideri rimuovere alcuni o tutti i comandi nel file della cronologia. Se desideri eliminare un comando particolare, inserisci history -d <line number> . Per cancellare l'intero contenuto del file della cronologia, esegui history -c .

Il file della cronologia è archiviato in un file che puoi anche modificare. Gli utenti della shell Bash lo trovano nella loro home directory come .bash_history .

Passaggi successivi

Ci sono molte altre cose che puoi fare con history :

  • Imposta la dimensione del buffer della cronologia su un certo numero di comandi
  • Registra la data e l'ora per ogni riga nella cronologia
  • Impedisci la registrazione di determinati comandi nella cronologia

Per ulteriori informazioni sulla history comando e altre cose interessanti che puoi fare con esso, dai un'occhiata agli articoli di Seth Kenlon sull'analisi della cronologia, i modificatori di ricerca della cronologia e il manuale GNU Bash.

Questo articolo è stato originariamente pubblicato a giugno 2018 ed è stato aggiornato con ulteriori informazioni dall'editore.


Linux
  1. Come usare il comando Linux grep

  2. Come utilizzare il comando sudo in Linux

  3. Come usare il comando Su in Linux

  4. Come utilizzare il comando id in Linux

  5. Come utilizzare il comando "schermo" in Linux

Come utilizzare il comando Linux Top

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come usare il comando xargs in Linux?

Come utilizzare il comando RPM in Linux

Come utilizzare il comando which in Linux