10 trucchi per usare la riga di comando come dei professionisti
Usare la riga di comando può essere faticoso. Vediamo 10 trucchi che ogni professionista della riga di comando usa per semplifcarsi la vita.
1. Usare il tasto tab
per attivare l'auto-completamento
La shell può aiutarvi a completare automaticamente i comandi che digitate, provate ad esempio a digitare gun e poi a premere il tasto tab
, la shell completerà automaticamente il comando in gunzip. In caso di più comandi con la stessa iniziale premendo tab
sembra non succedere niente, ma premendolo una seconda volta la shell vi proporrà un elenco dei comandi che iniziano con i caratteri già digitati.
Ad semepio:
$ gz
gzexe gzip
$ gz
Il tab non funziona solo con i comandi ma anche con file e directory, provate infatti a digitare ls /e e poi premere tab
: la shell completerà per voi il comando come ls /etc.
2. Tornare rapidamente alla directory di lavoro precedente
State lavorando in una directory, poi usate cd
per spostarvi in un'altra. Se volete tornare rapidamente a quella di prima potete usare cd -
.
Esempio:
$ pwd
/home/maurizio/Scrivania
~/Scrivania$ cd /etc
/etc$ cd -
/home/maurizio/Scrivania
~/Scrivania$
3. Tornare rapidamente alla home directory
In qualsiasi directory vi troviate, impartendo cd ~
la shell vi posizionerà nella home directory dell'utente corrente.
In generale la sequenza ~/ viene tradotta dalla shell con il path della home directory dell'utente corrente, quindi digitando ls ~/
otterrete sempre il contenuto della home directory.
C'è però un metodo ancora più rapido per tornare alla vostra home directory: usare il comando cd
senza argomenti:
/etc$ cd
~$
4. Elencare in dettaglio i contenuti di una directory
Un comando che nel quotidiano si usa spesso è ls -l
che elenca i contenuti della directory con più dettaglio rispetto al semplice ls
.
SI usa così spesso che su praticamente tutti i sistemi è definito come alias ll
.
Ad esempio:
$ ll
totale 37388
drwxr-xr-x 2 maurizio maurizio 69632 set 19 23:03 ./
drwxr-xr-x 67 maurizio maurizio 4096 set 19 21:20 ../
-rw-rw-r-- 1 maurizio maurizio 19103097 lug 22 16:59 file.csv
-rw-r--r-- 1 maurizio maurizio 19103097 ago 18 09:06 newfile.csv
5. Eseguire più comandi in sequenza
Supponiamo di voler eseguire più comandi uno dietro l'altro ma di non voler aspettare l'esecuzione del primo per poi impartire il secondo e così via: si possono concatenare più comandi sulla stessa riga separandoli con un punto e virgola ;
:
$ comando_1; comando_2; comando_3;
Ad esempio:
$ tar -czf backup.tgz *.txt; mv backup.tgz /oldfiles
$
Attenzione però che la sequenza di comandi viene sempre eseguita dall'inizio alla fine e non c'è alcun controllo sul successo o il fallimento di ogni singolo comando.
6. Eseguire più comandi in sequenza ma solo in caso di successo
Ogni comando che impartiamo ritorna un codice di errore che normalmente non vediamo ma che la shell può intercettare e che noi possiamo usare per decidere se far eseguire un comando successivo in una sequenza.
Per farlo basta separare i comandi nella sequenza con &&
:
$ comando_1 && comando_2 && comando_3
Ad esempio se cerco di creare un file tar
di una directory che non esiste, il tar fallisce e il comando successivo nella sequenza non viene eseguito:
$ tar -czf backup.tgz /nonesiste && echo "secondo comando"
tar: Rimozione di "/" iniziale dai nomi dei membri
tar: /nonesiste: funzione "stat" non riuscita: File o directory non esistente
tar: Uscita con stato di fallimento in base agli errori precedenti
7. Cercare e usare comandi già impartiti precedentemente
Accade spesso di dover usare di nuovo un comando già dato in precedenza.
In questo caso si possono usare i tasti freccia-su e freccia-giù per muoversi nell'elenco dei comandi dati (la history).
E' però possibile cercare rapidamente un comando nella history inizando a scrivere il comando e poi premendo Ctrl-r
.
Ad esempio se scrivo tar e poi premo Ctrl-r
:
$
(reverse-i-search)`': tar
Adesso usando i tasti freccia-su e freccia-giù mi posso muovere tra tutti i comandi presenti nella history e iniziano con tar.
8. Sbloccare il terminale bloccato accidentalmente con Ctrl+s
La sequenza di tasti Ctrl-s
mette in pausa il terminale e blocca sia l'input che l'output. Può capitare a volte di premere quella sequenza di tasti e di bloccare il terminale. Nel caso uscire dalla pausa è facile, basta premere Ctrl-q
.
9. Muoversi rapidamente a inizio e fine riga
Per muoversi avanti e indietro sulla riga di comando, si possono usare i tasti freccia-destra e freccia-sinistra. Certò però se abbiamo scritto un comando molto lungo è un po' scomodo.
Normalmente usando i tasti Inizio
e Fine
ci si muove rispettivamente all'inizio e alla fine della riga, capita però che questi due tasti non siano correttamente configurati e quindi non funzionino. In quel caso è possibile usare:
Ctrl-a
per andare a inizio riga-
Ctrl-e
per andare a fine riga Se non riuscite a ricordarli, provate questo trucchetto mnemonico: a è all'inizio dell'alfabeto e ci porte a inizio riga, mentre e è la lettera con cui inizia la parola end che in inglese vuol dire fine e infatti ci porta a fine riga.10. Cancellare la riga da un certo punto in poi
A volte capita di dover dare un comando più volte cambiando magari un pezzo della riga per adattarla. In questi casi ci sono due sequenze di tasti utilissime:
Ctrl-k
per cancellare dal punto in cui si trova il cursore fino alla fine della rigaCtrl-u
per cancellare dal punto in cui si trova il cursore all'inizio della riga
Bonus: Annullare una riga di comando con un solo colpo
Avete scritto una riga di comando lunga ma avete cambiato idea e non volete più inviarla? Non importa cancellarla basta premere Ctrl-c
per annullarla.