Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Ricerca nella storia

In qualsiasi momento possiamo visualizzare il contenuto dell'elenco cronologico:



[io@linuxbox~]$ storia | meno

[io@linuxbox~]$ storia | meno


Per impostazione predefinita, bash memorizza gli ultimi 500 comandi che abbiamo inserito, sebbene la maggior parte delle distribuzioni moderne imposti questo valore a 1000. Vedremo come regolare questo valore in un capitolo successivo. Supponiamo di voler trovare i comandi che abbiamo usato per elencare / Usr / binUn modo in cui potremmo farlo:



[io@linuxbox~]$ cronologia | grep /usr/bin

[io@linuxbox~]$ cronologia | grep /usr/bin


E supponiamo che tra i nostri risultati otteniamo una riga contenente un comando interessante come questo:

88 ls -l /usr/bin > ls-output.txt

Il numero "88" è il numero di riga del comando nella cronologia. Potremmo usarlo immediatamente usando un altro tipo di espansione chiamato espansione della storiaPer utilizzare la nostra linea scoperta potremmo fare questo:



[io@linuxbox~]$ ! 88

[io@linuxbox~]$ ! 88


bash espanderà "!88" nel contenuto dell'ottantottesima riga della cronologia. Esistono altre forme di espansione della cronologia che tratteremo più avanti.

Bash offre anche la possibilità di effettuare ricerche incrementali nella cronologia. Ciò significa che possiamo dire a Bash di effettuare ricerche nella cronologia man mano che inseriamo caratteri, con ogni carattere aggiuntivo che affina ulteriormente la ricerca. Per avviare la ricerca incrementale, premi Ctrl-r seguito dal testo che stai cercando. Una volta trovato, puoi premere Invio per eseguire il comando o premere Ctrl-j per copiare la riga dalla cronologia alla riga di comando corrente. Per trovare la successiva occorrenza del testo (spostandosi "verso l'alto" nella cronologia), premi di nuovo Ctrl-r. Per interrompere la ricerca, premi Ctrl-g o Ctrl-c. Ecco come funziona:


[io@linuxbox~]$

[io@linuxbox~]$


Prima stampa Ctrl-R:


(ricerca inversa)`':

(ricerca inversa)`':


Il prompt cambia per indicare che stiamo eseguendo una ricerca incrementale inversa. "Inversa" perché stiamo cercando da "adesso" a un momento nel passato. Quindi, iniziamo a digitare il testo da cercare. In questo esempio "/usr/bin":



(ricerca inversa)`/ Usr / bin': ls -l /usr/bin > ls-output.txt

(ricerca inversa)`/ Usr / bin': ls -l /usr/bin > ls-output.txt


Immediatamente, la ricerca restituisce il nostro risultato. Con il nostro risultato, possiamo eseguire il comando premendo entra, oppure possiamo copiare il comando nella nostra riga di comando corrente per ulteriori modifiche premendo Ctrl-j. Copiamolo. Premi Ctrl-j:


[io@linuxbox~]$ ls -l /usr/bin > ls-output.txt

[io@linuxbox~]$ ls -l /usr/bin > ls-output.txt


Il prompt della shell ritorna e la riga di comando è caricata e pronta all'uso! La tabella seguente elenca alcuni dei tasti utilizzati per gestire la cronologia:

Tabella 8-5: Comandi della cronologia


Azione chiave

Azione chiave

Immagine

Immagine

Immagine

Ctrl-p Passa alla voce precedente della cronologia. Stessa azione della freccia su. Ctrl-n Passa alla voce successiva della cronologia. Stessa azione della freccia giù. Alt-< Passa all'inizio (in alto) dell'elenco della cronologia.

Alt-> Sposta alla fine (in basso) dell'elenco cronologico, ovvero alla riga di comando corrente.


Immagine

Ctrl-r Ricerca incrementale inversa. Esegue la ricerca incrementale dalla riga di comando corrente verso l'alto nell'elenco cronologico.


Immagine

Alt-p Ricerca inversa, non incrementale. Con questo tasto, digita la stringa di ricerca e premi Invio prima che la ricerca venga eseguita.


Immagine


Immagine

Alt-n Ricerca in avanti, non incrementale.


Immagine

Ctrl-o Esegue l'elemento corrente nella cronologia e passa a quello successivo. Questa funzione è utile se si sta tentando di rieseguire una sequenza di comandi nella cronologia.


Immagine


Il miglior sistema operativo cloud computing su OnWorks: