GNU/Linux >> Linux Esercitazione >  >> Linux

Comando della cronologia in Linux con esempi

Il comando history in Linux non è un gergo complesso. È esattamente quello che pensi che sia, e non c'è alcun significato nascosto dietro di esso. Lo stesso modo in cui guardi la cronologia del browser dopo una lunga giornata su Internet è il modo in cui percepisci il comando cronologia. Si tratta di tenere traccia dei tuoi movimenti e azioni precedenti, ma in questo caso è su un terminale Linux o su una riga di comando.

Pertanto, possiamo definire comodamente il comando history sotto il dominio Linux come un modo per visualizzare in anteprima i comandi eseguiti in precedenza. In questo caso, possiamo considerare il terminale come un browser in cui esegui vari comandi in un intervallo di tempo continuo. Questi comandi eseguiti vengono interpretati singolarmente come eventi. A ogni evento viene quindi assegnato un numero di evento. Pertanto, abbiamo comandi con ID come numeri di eventi archiviati in un file di cronologia dopo la loro esecuzione da terminale.

Il significato degli ID evento è evidente quando in seguito potrebbe essere necessario richiamare un comando specifico eseguito. Inoltre, potresti voler modificare un comando eseguito in precedenza. Pertanto, possiamo concludere la comprensione introduttiva del comando cronologia per visualizzare tutti i comandi eseguiti in precedenza o solo un comando specifico sul terminale. Inoltre, non dobbiamo dimenticare la valida opzione di modificare il comando elencato.

Lasciare che la Storia si ripeta

Possiamo iniziare questo articolo storico in modo divertente e citando George Santayana. Questo famoso individuo associa l'incapacità di ricordare il passato alla maledizione di ripeterlo. Tuttavia, quando entriamo nell'universo Linux, questa citazione si qualifica solo come un mito. È perché la filosofia di Linux è realisticamente l'opposto della citazione dichiarata da George Santayana. Quando sei sul terminale Linux, se non riesci a ricordare un'azione passata, non devi preoccuparti perché le probabilità sono contro che si disfa mai.

A meno che, ovviamente, non diventi un maestro del comando della cronologia di Linux, puoi viaggiare nel tempo nel passato e correggere i tuoi precedenti peccati del terminale se questo è il tuo desiderio. L'uso del comando della cronologia di Linux non è in alcun modo associato alla pigrizia. Risparmia tempo grazie all'efficienza. Man mano che avanzi nella padronanza del sistema operativo Linux, ti ritroverai a lavorare con comandi più lunghi e complicati. Anche se confronti il ​​tuo QI con quello di Albert Einstein, non avrai il tempo di ricordare tutti i comandi che esegui e presto inizierai a fare errori terribili. Lavorare sul terminale Linux esporrà un individuo a due tipi di errori:

    • Errore uno:questo errore è il più comune e tutto ciò che fa è impedirti di andare avanti con il comando che vuoi eseguire.
    • Errore due:questo errore è un imbroglione. Eseguirà il comando che hai avviato ma produrrà risultati imprevisti.

Puoi pensare al comando della cronologia come al guerriero ninja che elimina questi due tipi di errori per aumentare la tua produttività. Una parola di pensiero prima di iniziare il tutorial, c'è di più nel comando cronologia di Linux che usare semplicemente il tasto freccia su della tastiera. Il nostro approccio ti farà sembrare più professionale.

Inserisci il comando cronologia di Linux

Avviare il comando history è facile come digitare la parola history sul tuo terminale Linux. Quindi accendi il tuo terminale e supera questo semplice quiz di ortografia.

history

Se premi invio, otterrai un elenco di tutti i comandi che hai eseguito sul terminale con i loro ID assegnati o numeri di evento. Il sistema di numerazione utilizzato dall'interfaccia del terminale Linux mostra il comando più vecchio in cima all'elenco e il comando appena digitato in fondo all'elenco. Come puoi vedere, al comando di cronologia che ho appena digitato è stato assegnato il numero ID 24.

Considera lo scenario di un terminale Linux molto attivo. Se dovessimo digitare il comando della cronologia su questo terminale, l'output sarebbe, diciamo, un elenco di 500 comandi salvati nel file della cronologia. Quindi il comando cronologia è utile per filtrare un segmento di comandi raggruppato specificato. Diciamo di voler visualizzare gli ultimi 10 comandi eseguiti sul terminale. Filtreremo il nostro percorso attraverso il terminale digitando quanto segue.

history 10

Come puoi vedere, il comando "cronologia 10" ha filtrato gli ultimi dieci comandi utilizzati su questo terminale e li ha elencati sul nostro terminale con l'inclusione nel comando "cronologia 10".

Questo è un modo per raggiungere questo obiettivo. Un altro modo da nerd per farlo è eseguire il comando della cronologia con un altro comando chiamato tail command. Digita il seguente comando, come riportato nello screenshot qui sotto.

history | tail -n 10

Il comando elenca anche gli ultimi 10 comandi eseguiti sul terminale Linux, incluso quello che abbiamo appena eseguito.

Cronologia effettivamente ripetuta

È il momento della parte divertente dell'utilizzo del comando cronologia. Che ne dici di iniziare lasciando effettivamente che la storia si ripeta. Poiché hai familiarità con i comandi della cronologia e i loro ID evento associati, torniamo al terminale. Per ripetere un comando elencato in modo specifico, prendi nota del suo ID evento e prendi in giro il comando seguente, come illustrato nello screenshot. Non utilizzare spazi durante la digitazione del comando.

!17

Nel mio caso, volevo visualizzare il file Linux /etc/host e mi è stata richiesta una password di autenticazione. Non appena le mie credenziali sono state approvate, il comando si è eseguito da solo.

C'è anche un caso in cui vuoi ripetere il comando precedente che hai eseguito. Raggiungere questo obiettivo è facile come digitare due punti esclamativi sul terminale. Non utilizzare spazi.

!!

Come puoi vedere, il comando ci ha riportato al file Linux /etc/host che avevo aperto in precedenza. Ci è voluto il comando della doppia esclamazione per riutilizzare il mio comando precedente, che è stato eseguito da solo. Forse potresti essere stato abituato al tasto freccia su della tastiera, che richiedeva di eseguire due azioni, scorrere verso l'alto una volta e quindi premere il pulsante Invio. Tuttavia, il comando della doppia esclamazione sembra più rapido e professionale poiché è sufficiente eseguire una singola azione.

Poiché il comando che ho usato richiede i privilegi di Sudo, posso anteporre ai miei doppi punti esclamativi un comando Sudo per ottenere lo stesso risultato atteso.

sudo !!

Un singolo numero esclamativo combinato con un ID evento eseguirà il comando visualizzato legato a tale ID. Un doppio punto esclamativo ti consente di eseguire il comando utilizzato più di recente con l'opzione di anteporre al comando Sudo se richiede l'esecuzione di un utente sudoer.

Potresti anche voler portare il tuo nerd al livello successivo e volere un modo per ripetere il tuo 3 o 6 comando precedente. In questo caso, dovrai prendere nota dell'ID evento associato al comando. Quindi combinerai l'ID evento con un trattino e un singolo punto esclamativo come segue.

!-21

Da parte mia, volevo interrogare il mio 21 comando precedente e si è rivelato essere una richiesta ping per il mio indirizzo IP localhost. L'utilizzo di questa sequenza di comandi è utile quando si desidera eseguire un contro-controllo di un comando eseguito in precedenza e determinare se i parametri utilizzati per eseguirlo sono ancora validi o non distorti.

Stringhe di comando

Diciamo che hai eseguito qualche comando sul tuo terminale, ma non hai memorizzato completamente il comando. Tuttavia, sei sicuro dell'efficacia del comando e di come ti abbia aiutato. Conoscere una parte della stringa che costituisce questo comando è molto utile. Nel mio caso, sono molto sicuro di eseguire una volta un comando per aggiornare il mio sistema. Diciamo che devo ancora memorizzare completamente questo comando di aggiornamento del sistema, ma so che una parte del comando contiene la stringa "apt" come dicitura iniziale del comando. Per utilizzare nuovamente questo comando, digiterò il seguente comando sul mio terminale. Tuttavia, poiché la maggior parte dei comandi di aggiornamento del sistema richiede l'autorizzazione di un utente sudoer, anteporrò la stringa di comando che voglio utilizzare con Sudo.

sudo !apt

Come puoi vedere, ho aggiornato correttamente il mio sistema Linux dalla riga di comando senza utilizzare il comando completo "sudo apt update". Questo hack del manuale dei comandi della cronologia di Linux è utile quando si ha a che fare con comandi più lunghi che potrebbero essere noiosi da digitare o che potrebbero portare a un fastidioso errore di battitura. Potresti modificare un file il cui percorso relativo produce un comando lungo o semplicemente copiare file. In ogni caso, hai bisogno di un approccio senza stress per riciclare i tuoi comandi ripetitivi.

Dal momento che abbiamo toccato l'aspetto dell'autorizzazione degli utenti sudoer, potremmo finire per colpire un muro se non stiamo attenti. La maggior parte dei comandi degli utenti con privilegi sudoer richiederà il prefisso Sudo per l'esecuzione. Pertanto, digitare un comando stringa come '!sudo' per i comandi che iniziano con Sudo potrebbe non essere sufficiente in quanto potrebbe portare all'esecuzione di una sequenza di comandi indesiderata. Tuttavia, possiamo fornire una rete di sicurezza attraverso l'uso del parametro :p che è un modificatore di stampa. Pertanto, la combinazione del nostro comando string con esso dovrebbe produrre output come il seguente.

!sudo:p

Il comando ha stampato i comandi Sudo disponibili che ho appena usato. Per riutilizzare questo comando, userò il tasto freccia su della tastiera e premerò invio per eseguirlo. Se l'elenco mostrava più di un comando Sudo, userei comunque il tasto freccia su per passare al comando Sudo specifico che volevo riutilizzare.

Queste non sono tutte le opzioni che abbiamo sulla gestione delle stringhe. C'è anche un caso in cui si conosce solo una particolare stringa definita nel comando che si desidera utilizzare. È un caso in cui non sei sicuro delle prime stringhe che definiscono il comando che hai utilizzato in precedenza. Qui utilizzerai sia il punto esclamativo che il punto interrogativo per trovare il comando.

!?ping

Ho usato la sequenza di comandi "!?ping", che ha eseguito immediatamente la mia precedente richiesta di ping. Puoi usare questa sequenza per eseguire comandi precedenti sul tuo terminale che sono univoci per gli altri.

Ricerca interattiva

Supponiamo che tu abbia diversi comandi precedenti che hai eseguito e che abbiano sequenze di stringhe simili o corrispondenti. Tra tutti questi segnali corrispondenti, potresti voler eseguire solo una sequenza di comandi specifica in quella piega. Una ricerca interattiva ti consente di arrivare a questo comando che desideri eseguire. Per avviare la ricerca interattiva, combinare i tasti Ctrl+r. Il display del tuo terminale Linux dovrebbe essere simile a quello qui sotto.

Basta digitare l'indizio di ricerca per il comando che devi eseguire. Nel mio caso, ho digitato "apt" e, come puoi vedere, è apparso tra l'apostrofo e il backtick. Puoi digitare più indizi di stringa sul comando richiesto e la ricerca interattiva aggiornerà continuamente i risultati correlati. Premendo invio verrà eseguito immediatamente il comando trovato.

sudo apt update

Inoltre, potresti voler modificare il comando trovato prima di eseguirlo. Per farlo, usa le frecce sinistra e destra della tastiera. Il comando trovato verrà ora visualizzato sul terminale, dove potrai apportare le modifiche necessarie.

sudo apt update && cd FOSSLinux

Eliminazione dei comandi della cronologia

Finora, ora puoi recuperare, interrogare, aggiornare ed eseguire comandi dal file di cronologia. Tuttavia, potresti cercare un modo per svuotare l'elenco della cronologia di alcuni o tutti i suoi comandi. Forse sei quel tipo di utente che non vuole che nessuno tenga traccia di come ha usato il proprio sistema Linux. Il parametro -d ti aiuta a sbarazzarti di alcuni comandi indesiderati nel file di cronologia. Nel mio caso, il mio file di cronologia contiene un comando errato con un ID evento numero 44.

Per eliminare questo comando errato, farò quanto segue sul mio terminale.

history -d 44

L'esecuzione di nuovo del comando "cronologia" mostra che il comando con errori di ortografia è stato eliminato.

L'opzione di eliminazione non si applica solo a un singolo comando, poiché copre anche una gamma di comandi. Ad esempio, considera il seguente comando.

history -d 10 20

Questo comando eliminerà le voci del file della cronologia dall'ID evento 10 all'ID evento 20. Un altro comando della cronologia da considerare è il seguente.

history -d -6

Questo comando eliminerà gli ultimi sei comandi digitati sul terminale memorizzati nel file di cronologia.

Se vuoi cancellare tutto dall'elenco dei file della cronologia, puoi prendere in giro il seguente comando.

history -c

Conclusione

Ora hai tutte le informazioni necessarie per decidere se la cronologia del tuo terminale dovrebbe o non dovrebbe ripetersi. Per gli utenti avanzati, ci sono casi in cui potresti eseguire un'app tramite il terminale e potrebbe essere richiesto di lasciare una scia di informazioni riservate. Il file di cronologia memorizza anche tali dati sensibili. Pertanto, è buona norma cancellare sempre il file della cronologia prima di uscire dalla riga di comando, soprattutto nei casi che comportano la memorizzazione di dati sensibili. Il comando cronologia ti dà il potere di rivivere i bei tempi al terminale e anche di correggere gli errori passati della riga di comando.


Linux
  1. Comando wc Linux con esempi

  2. Comando di ordinamento Linux con esempi

  3. Comando Tee Linux con esempi

  4. Comando testa di Linux con esempi

  5. Comando JQ in Linux con esempi

Comando CD Linux con esempi

Comando Linux watch con esempi

Attendi comando in Linux con esempi

Comando di esportazione Linux con esempi

Comando IP Linux con esempi

Comando della cronologia con esempi