Linux Alcuni trucchi di base bash

Alcuni trucchi di base bash

Alcuni trucchi di base bash post thumbnail image

Ci sono molti modi di usare un terminale e bash (bourne again shell) mette a disposizione una miriade di comandi per comunicare con il sistema operativo. Ma in questo articolo vi elencherò alcuni trucchi di base per immetervi sulla giusta via per diventare degli esperti della shell bash, usata predefinitamente sulla maggior parte delle distribuzioni Linux.

Questi trucchi sono per utenti di bassa esperienza – sono sicuro che molti degli utenti avanzati li conoscono già.

Completamento con il Tab

l completamento dei comandi con l’uso del tasto Tab è un trucco fondamentale. Salva molto tempo durante l’uso del Terminale e può essere molto utile se non ricordate bene il nome di un file o di un comando.

Per esempio, supponete di volere eliminare il file “nome di un lungo file” nella directory attuale. Potete digitare tutto il nome del file, ma dovete digitare correttamente il nome e valutare gli spazi tra una parola e l’altra. In altri termini dovete digitare il carattere \ prima di ogni spazio), potendo quindi essere possibile commettere un errore di digitazione. Se digitate il comando rm nom e premete il tasto Tab, Bash introdurrà il nome che cercate immediatamente.

Naturalmente se avete altri file che cominciano per “nome“, Bash non può sapere quale volete eliminare. Supponiamo che abbiate un altro file che si chiama “nome corto del file“. Se premete il tasto Tab, Bash mostra solo il risultato “nome\ “, dato che ci sono due file che iniziano con “nome“. Premete il tasto Tab nuovamente e vedrete una lista di nomi che rispondono alle caratteristiche della prima parte del nome. Continuate a digitare il nome del file aggiungendo solo una “l” e premete Tab ancora una volta. Bash vi offrirà il nome del file corretto e desiderato per la rimozione. La stessa cosa vale per i comandi. Non siete sicuri di quale sia, ma vi ricordate che comincia con “gnome”? Digitate “gnome” e premete Tab per vedere l’elenco.

Pipes

Le Pipes vi permettono di inviare l’output di un comando ad un altro comando. Nella filosofia UNIX, ogni programma è una piccola utilità che fa bene una cosa. Per esempio il comando ls elenca i file nella directory attuale ed il comando grep cerca i suoi input per un termine specificato.

Combinate questi comandi con le pipes (il carattere |) e potete cercare un file nella directory attuale. Il seguente comando cerca il file “Run Free” che nella mia directory /Musica ed è una playlist:

ls | grep Run\ Free

Wild Cards

Il carattere * – asterisco – è una wild card che corrisponde a qualsiasi cosa. Per esempio, se vogliamo cancellare “nome di un lungo file” e “nome corto di un file” dalla attuale directory, dobbiamo impartire il seguente comando:

rm nome*file

Questo comando cancella tutti i file che iniziano con la parola “nome” e finiscono con “file“. Se non ci mettete nessun valore, lasciando solo rm *, cancellare ogni file nella attuale directory, quindi state attenti.

Redirezione dell’output

Il carattere > redirige l’output di un comando ad un file, piuttosto che ad un altro comando. Per esempio, la seguente riga avvia il comando “ls” per produrre una lista dei file contenuti nella attuale directory e, invece di mostrarli nel Terminale, li scrive in un file a parte che si chiama “file1” posto nella attuale directory:

ls > file1

Cronologia dei comandi

Bash ricorda la cronologia dei comandi che avete digitato in esso. Potete usare le frecce su e giù per scorrere all’interno dei comandi usati recentemente. Il comando history mostra un elenco di questi comandi, quindi potete collegarlo con una pipe al comando grep per i comandi che avete usato recentemente. Ci sono molti altri trucchi che potete usare con la Cronologia di Bash (in inglese).

~, . & ..

Il carattere Tilde ~ rappresenta la directory home dell’utente. Quindi invece di digitare cd /home/name per accedere alla vostra directory /home, potete digitare solo cd ~ (nella tastiera italiana la Tilde si stampa con i tasti AltGr + ì). Questo funziona anche con le relative sottodirectory. Ad esempio cd ~/Desktop vi porterà alla directory Desktop della vostra home.

Similmente, il punto . rappresenta la directory attuale e il doppio punto .. rappresenta la directory superiore. Quindi, cd .. va su di una directory. Funziona anche su percorsi relativi – se siete nella cartella Desktop e volete andare nella cartella Documenti, che è nella stessa directory, potete usare il comando cd ../Documents.

Avviare un comando in Background

Di default, Bash esegue tutti i comandi impartiti nel Terminale in esecuzione. E’ del tutto normale, ma cosa succede se volete lanciare una applicazione e continuare a usare il Terminale? Se digitate firefox per lanciare Firefox, Firefox impegnerà il vostro terminale e mostrerà messaggi e azioni eseguite dal programma. Aggiungete l’operatore & alla fine del comando per far si che il programma venga eseguito in background:

firefox &

Esecuzioni condizionali

Potete avere Bash che esegue due comandi, uno appresso all’altro. Il secondo comando verrà eseguito solo se il primo è stato completato con successo. Per fare ciò, immettete i due comandi sulla stessa linea, separati da un doppio ampersand &&.

Per esempio il comando sleep usa valori in secondi, conta alla rovescia e si completa con successo. E’ inutile da solo, ma potete usarlo per avviare un altro comando dopo un certo dilazionamento. Il seguente comando attende 5 secondi, poi lancia il player Audacious:

sleep 5 && audacious

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Related Post