Completamento con il Tab

Può capitare che digitare sempre lo stesso comando possa risultare noioso oppure che digitando un percorso lungo a causa di un piccolo errore dobbiate riscrivere tutto.

Gli utenti Linux possono riscontrare gli stessi problemi. In Linux, potendo unire alcuni comandi, un piccolo errore di battitura significa annullare il lavoro svolto.

Una possibile soluzione è data da command-line history. Utilizzando i tasti cursore, potrete risalire ai comandi digitati precedentemente -- inclusi quelli con errori di battitura.

Proviamo a guardare ancora sneakers.txt. La prima volta, al prompt di shell digiteremo:

cat sneakrs.txt
	  

Non avverrà nulla, ovviamente, visto che il file sneakrs.txt non esiste. Non c'è problema. Premete il tasto cursore in su per riprendere il comando, quindi portate il tasto cursore a sinistra per arrivare al punto dove non avete digitato la "e". Inserite la lettera e premete di nuovo Enter.

Voilà! Ora potrete vedere il contenuto di sneakers.txt .

Di default possono essere contenuti nel file di history della bash fino a 500 comandi.

SuggerimentoVisualizzare la variabile d'ambiente
 

Digitando il comando env al prompt della shell, possiamo visualizzare la variabile d'ambiente che controlla la misura dell'history della linea di comando. La linea che dice, HISTFILESIZE=500 mostra il numero di comandi che la bash conserverà.

L'history della linea di comando è in realtà contenuta in un file, che si chiama .bash_history nella directory di login. Possiamo leggerlo in vari modi: utilizzando pico , cat, less, more, ed altri.

Preparatevi: il file potrebbe essere abbastanza lungo.

Leggetelo con more:

more .bash_history
	  

Per muovervi avanti nello schermo, premete Spazio; per tornare indietro, premete B; per uscire, premete Q.

SuggerimentoLocalizzare un comando utilizzato in precedenza
 

Volete cercare un comando nel vostro file history senza dover schiacciare ogni volta i tasti cursore o consultare il file history? Potrete utilizzare il comando grep, una potente utility per la ricerca. Ecco come potete cercare velocemente un comando utilizzato in precedenza: per esempio volete cercare il comando simile cat sneak-qualcosa? Avete utilizzato il comando e pensate che sia nel file history? Al prompt di shell, scrivete

history | grep sneak
        

Oltre al comando che avete appena digitato, vedrete anche il comando stesso, poiché grep ricerca nel file history qualunque istanza nella quale appare la parola "sneak". Potrete ricevere maggiori informazioni sul comando grep più avanti in questo capitolo, quando discuteremo degli strumenti che possono essere utili per la lettura di file.

Un altro strumento per guadagnare tempo è il completamento dei comandi. Se digitate parte di un file, un comando o un percorso e quindi schiacciate il tasto Tab, la bash vi presenterà la parte del nome del file/percorso mancante oppure emanerà un beep. Se sentite un beep, basterà premere ancora il tasto Tab per ottenere una lista di file/percorsi che corrispondono a ciò che avete digitato.

Per esempio, se vi ricordate solo una parte del comando updatedb , potrete utilizzare su per diventare root. Al prompt di shell digitate up, e premete il tasto Tab due volte: vedrete una lista di possibili comandi che iniziano con "up", come updatedb e uptime. Aggiungendo la lettera "d" ad up e premendo ancora il tasto Tab, il comando verrà completato.

Così anche se la macchina viene spenta alla fine della giornata, non risulta difficile aggiornare il database slocate: Ci sono buone possibilità che il comando venga salvato nel file history. Potrete utilizzare il tasto Tab per completare il nome del comando (sempre che vi ricordiate l'inizio del comando).