GNU/Linux >> Linux Esercitazione >  >> Linux

L'hack della riga di comando della cronologia di Linux preferito da un amministratore di sistema

Come molte persone che lavorano con macchine Linux, preferisco usare l'interfaccia della riga di comando quando possibile e quando ha senso. In alcuni casi, è più facile trovare, ispezionare e modificare alcune configurazioni usando le dita perché semplicemente "conoscono" i comandi che devi digitare ed è più veloce che aprire una GUI e cercare la sequenza di menu di cui hai bisogno per fare clic.

Certo, ci sono alcuni casi in cui l'utilizzo della GUI è più veloce e stai facendo quell'attività solo una o due volte, quindi chi se ne frega, giusto? Ma se è qualcosa che dovrai fare più volte, magari con alcune variazioni, il tuo cervello di amministratore di sistema riflette:"Posso automatizzarlo?" In molti casi, la risposta sarà sì, ma lo sforzo di automatizzare l'attività non vale la pena in altre situazioni.

[ Potrebbe piacerti anche: Trucco del terminale Linux:hackerare il comando cd per ricordare dove sei stato]

Se potessi riutilizzare i comandi recenti che ho digitato.

Cronologia

L'opzione più semplice quando si tratta di recuperare gli ultimi comandi digitati nella console Linux è usare history . In questo esempio, stai lavorando con il server HTTP e stai interrompendo ripetutamente il servizio, modificando il httpd.conf file, quindi riavviare httpd per controllare i risultati nel browser.

Il seguente comando ti mostrerà gli ultimi 10 comandi utilizzati:

❯ history | tail -10
10057  systemctl stopt httpd.service
10058  systemctl stop httpd.service
10059  sudo systemctl stop httpd.service
10060  sudo systemctl start httpd.service
10061  systemctl status httpd.service
10062  history
10063  systemctl status httpd.service
10064  ps -ef|grep httpd
10065  man httpd.conf
10066  view /etc/httpd/conf/httpd.conf

Da lì, puoi copiare e incollare la riga (se devi modificare il comando o utilizzarlo in un altro terminale) o digitare il punto esclamativo seguito dalla sequenza del comando nella cronologia:

> !10061

Questa riga richiama il comando systemctl status httpd.service dalla cronologia, quindi premi semplicemente INVIO tasto (o modificare il comando prima di rieseguirlo).

Questo non è male, ma devi comunque digitare la sequenza o copiare + incollare con il mouse. Non un enorme affare, ma vuoi concentrarti sul tuo compito principale.

Alcune buone alternative

Puoi richiamare i comandi precedenti dalla cronologia usando UP tasto freccia. Naviga nell'elenco utilizzando SU e GIÙ chiavi.

Questo approccio va bene, ma cosa succede se vuoi recuperare qualcosa che sai di aver usato 15 minuti fa? Sarà sicuramente nell'elenco della cronologia, ma potresti dover fare un po' di mining.

Ad esempio, puoi utilizzare history , invia l'output a grep ed elenca solo i comandi che soddisfano le tue esigenze. In questo esempio, visualizzo tutti i comandi in history che includono http stringa:

> history | grep http
10544* systemctl status httpd.service
10545* systemctl stopt httpd.service
10546* systemctl stop httpd.service
10547* sudo systemctl stop httpd.service
10548* sudo systemctl start httpd.service
10549* systemctl status httpd.service
10551* systemctl status httpd.service
10552* ps -ef|grep httpd
10553* man httpd.conf
10554* view /etc/httpd/conf/httpd.conf
10561* systemctl status httpd.service

Quindi da qui puoi usare di nuovo il punto esclamativo e il numero di sequenza. Ad esempio:!10546

Ma potresti pensare:"Va bene, ma la mia connessione cervello-dita è così veloce che non voglio essere distratto. Lo so esattamente il comando che cerco."

Va bene, c'è una soluzione anche per questo.

Quando il cervello e le dita sanno cosa stanno cercando

Continuando con questo esempio, vuoi richiamare i comandi relativi a httpd velocemente.

L'opzione per te è usare CTRL+R , che ti chiederà una sottostringa. Usalo per ricordare l'ultimo comando che hai digitato che contiene quella stringa.

Mentre digiti la stringa dal tuo comando, verrà visualizzato l'ultimo comando che ha utilizzato quella stringa. Se il comando è quello che stai cercando, premi INVIO , e verrà eseguito.

Se a questo punto continui a premere CTRL+R , il penultimo verrà mostrato il comando che contiene quella stringa di ricerca, che in questo esempio è view /etc/httpd/conf/httpd.conf comando.

Puoi navigare indietro (CTRL+R ) e avanti (CTRL+S ).

[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ] 

Concludi

Quando conosci parte del comando che hai eseguito di recente, puoi utilizzare le scorciatoie discusse qui per richiamarlo rapidamente. Questo può essere particolarmente utile se hai usato il comando molto tempo fa ed è ancora nella cronologia della shell, ma le tue dita lo "ricordano".

Ovviamente, ci sono modi più efficienti per svolgere le tue attività quotidiane rispetto alla digitazione:creare alias per i comandi che usi molto, creare script, automatizzare, ecc. Ma quando è necessario digitare, è meglio farlo in modo efficiente.


Linux
  1. Come cancellare la cronologia della riga di comando BASH in Linux

  2. Spiegazione approfondita del comando della cronologia in Linux

  3. Comando della cronologia di Linux

  4. Esempi di comandi systemctl in Linux

  5. ctrl + r nella riga di comando del terminale linux / ubuntu

Comando Diff in Linux

Comando della cronologia in Linux con esempi

Padroneggia la riga di comando di Linux

Nozioni di base sulla riga di comando di Linux:sudo

Comando cronologia in Linux:visualizza la cronologia del terminale Linux

systemd-analyze Esempi di comandi in Linux