Ho cercato un po’ in giro per la rete e devo dire che non si trovano delle belle guide che spiegano cos’è e come si usa il terminale. Nessun problema: ci penso io. ![]()
Cos’è
Per prima cosa in Ubuntu potete andare su Applicazioni > Accessori > Terminale; invece in ambiente Kde potete aprire Konsole. In realtà, qualunque programma abbiate aperto, che vi presenti qualcosa del genere:
utente@computer:~$
…è un terminale. Anzi, più precisamente si tratta di un programma (a volte detto emulatore di terminale) che vi permette di avere in una finestra il computer senza interfaccia grafica, ovvero di interagire direttamente con esso attraverso i comandi.
Analizziamo la scrittura che vi appare all’inizio. Utente rappresenta il nome dell’utente che state utilizzando in questo momento, computer rappresenta il nome unico con cui il computer viene visto in rete. La tilde (~) vi dice che siete nella vostra home directory (cioè /home/utente/) e il simbolo del dollaro vi dice che siete un utente normale (e non con i privilegi di amministratore).
Perché usarlo?
In realtà, le moderne distribuzioni Linux (soprattutto le più semplici come Ubuntu) forniscono una buona interfaccia grafica che permette di evitare praticamente quasi tutte le manovre da terminale. Infatti si può fare quasi tutto con un interfaccia grafica.
Tuttavia, in rete si trovano spesso (a volte anche qui sul blog) dei comandi da impartire da terminale. Se li si sa interpretare si possono anche sostituire con azioni effettuate dall’interfaccia grafica, ma è molto più comodo copiarli ed eseguirli, inoltre è più rapido.
Come si usa
Per usare il terminale in genere basta inserire un comando, gli eventuali argomenti (ad esempio il file su cui operare) e le eventuali opzioni. La stragrande maggioranza dei comandi corrispondono al nome di un programma che si può avviare anche da interfaccia grafica, ad esempio:
utente@computer:~$ firefox
Premendo Invio si apre Firefox, ma bisogna ricordarsi di non chiudere la finestra del terminale, altrimenti anche il programma avviato si chiuderà.
Usando il terminale bisogna ricordarsi alcune cose:
- Il terminale fa distinzione tra le maiuscole e le minuscole
- Si può completare la scrittura di un comando premendo il tasto Tab dopo averne digitato alcune lettere
- Per alcuni comandi è necessario operare con i privilegi di amministratore, anteponendo sudo al comando da eseguire. Se si esegue sudo bash o sudo -s si trasforma il terminale in un terminale root (ovvero amministratore).Esempio:
utente@computer:~$ sudo bash
root@computer:~#Notate il cambiamento della stringa del terminale. Tutti i prossimi comandi che verranno eseguiti saranno con i privilegi di amministratore. Se si usa il comando exit si ritorna al terminale (o console o shell) normale.
Questi sono alcuni comandi principali:
ls, mostra il contenuto della cartella dove si trova, o di una eventuale cartella specificata.
cp, copia un file in una cartella (esempio: cp file.txt cartella)
mv, come cp, solo che sposta il file. Si può anche usare per rinominare il file (esempio: mv file.txt nuovonome.txt)
mkdir, crea una cartella.
cd, si sposta in un’altra cartella.
rm, cancella un file semplice. rm -r cancella una cartella ed il suo contenuto (Da notare che -f è un’opzione; i comandi hanno opzioni proprie, che sono diverse da quelle di altri comandi). Da usare con cautela.
locate, cerca ogni file che contiene una certa stringa nel nome o nel percorso. Può generare un output molto lungo.
cat, mostra il contenuto di un file di testo.
man, mostra la guida alle opzioni ed all’uso di un comando (esempio: man firefox). Utilissimo.
Quando si usa il terminale si può anche “passare” il risultato di un comando ad un altro comando. Ciò può essere utile in alcuni casi e si fa con il tratto verticale |. Qui farò un esempio con i comandi grep e less. (La stringa del terminale è abbreviata ad $)
$ cat elenco-numeri-telefono.txt | grep Andrea
Qui immaginiamo di avere un file di testo in cui ogni riga contiene un nome, un cognome ed un numero di telefono. Con il comando cat si mostra il suo contenuto, ma prima che ciò avvenga il comando grep filtra l’output mantenendo solo le righe in cui compare la parola Andrea.
$ cat elenco-numeri-telefono.txt | less
Questo comando invece mostra per intero l’output del comando cat ma in una sorta di “finestra” che si può scorrere con le frecce su e giù. Per uscire basta premere q sulla tastiera (questo vale anche per altri comandi che si comportano in modo simile).
Con questo, ho illustrato i concetti base per poter capire ed usare il terminale. Se avete dei dubbi potete sempre lasciarmi un commento. ![]()















Posted by no1globe on 29 Aprile 2007 at 10:51 am
Ciao Lazza…


, dove illustri tutti i comandi base che si possono eseguire che io naturalmente non sapevo 
Questo intervento era particolarmente indirizzato a me
Lo so ti ho fatto cadere le braccia e le gambe quando hai saputo che non conoscevo un’acca di questo terminale… il prob è che da nuovo utente Linux non potevo di certo sapere tutte queste cose, contando che il DOS non lo ho mai fatto
Cmq trovo molto utile per me sopprattutto la seconda parte
Quello precendente lo sapeva anche un ignorante come me
Va be grazie per l’intervento e se avro’ bisogno di utilizzarlo consultero’ questa tua guida
Byy no1globe
Posted by Lazza on 29 Aprile 2007 at 11:40 am
Grazie.
Posted by Flax on 29 Aprile 2007 at 10:03 pm
Carina come guida! Per i nuovi utenti è utilissima! Cmq il simbolo “|” è come se fosse un comando a se stante (funziona da pipeline) e può essere usato anche in altri modi (
), u know what i mean?
Posted by Bl@ster on 1 Maggio 2007 at 2:12 pm
Bella questa. La metto tra le guide preferite.
Posted by Generazione Web » Guida base (ma abbastanza completa) al terminale on 10 Maggio 2007 at 10:49 am
[...] Per ulteriori informazioni: http://lazza.wordpress.com [...]
Posted by pandalife on 11 Maggio 2007 at 3:10 pm
ottima guida!!
Posted by Lazza on 11 Maggio 2007 at 3:15 pm
Ti rigrazio.
Posted by Socialscalator on 19 Giugno 2007 at 12:04 pm
Grazie mille
Posted by Lazza on 19 Giugno 2007 at 12:16 pm
Prego.
Posted by Simlav on 3 Luglio 2007 at 3:29 pm
complimenti ma come mai il mio terminale dice sempre: nessuna file o directory per ogni cartella in cui cerco di entrare col comando: “cd”?
Posted by Lazza on 3 Luglio 2007 at 5:52 pm
@ Simlav, devi indicare il percorso corretto della cartella e tenere conto delle maiuscole e minuscole.
Esempio: se io mi trovo in /home e voglio entrare nella mia cartella dell’utente devo dare:
cd andreaE se poi volessi entrare nel cestino:cd .TrashOppure al posto di questi due comandi un unico:cd andrea/.TrashPosted by Simlav on 3 Luglio 2007 at 6:09 pm
non funziona, ad esempio la mia cartella è “simlav” (senza maiuscole) e se do il comando “cd simlav” mi ripete:
simlav@simlav-desktop:~$ cd simlav
bash: cd: simlav: Nessun file o directory
Aiuuuuttooo!!! sto diventando pazzo!! però linux resta superiore!
Posted by Lazza on 3 Luglio 2007 at 6:11 pm
@ Simlav perché ci sei già dentro!!!
Posted by Simlav on 3 Luglio 2007 at 7:01 pm
OK ma ho anche una cartella sul desktop che ho chiamato ciao e non trova neanche quella! sono proprio io che non ci capisco nulla o c’è una spiegazione??
Posted by Lazza on 3 Luglio 2007 at 7:05 pm
Direi la prima.
Se sei nella tua home (ovvero /home/simlav/), devi fare:
cd Desktop/ciaoPosted by Simlav on 3 Luglio 2007 at 7:09 pm
hai ragione!!! …studiero’
grazie della compassione!
Simlav!
Posted by Lazza on 3 Luglio 2007 at 7:10 pm
@ Simlav, prego figurati.
Posted by Connettere il Nintendo DS a Linux con il wi-fi (non con l’adattatore Nintendo) « Il blog di Andrea Lazzarotto on 30 Luglio 2007 at 9:51 pm
[...] Una basilarissima conoscenza del terminale [...]
Posted by Space 4 Tutorial » Blog Archive » Guida base (ma abbastanza completa) al terminale on 4 Agosto 2007 at 10:35 am
[...] Fonte: il blog di Andrea Lazzarotto – link http://lazza.wordpress.com/2007/04/29/guida-base-ma-abbastanza-completa-al-terminale/ [...]
Posted by Alessandro Guerra on 30 Settembre 2007 at 6:10 pm
Non riesco a capire come mai quando inserisco la password di root sul terminale non compaia nulla e se premo invio mi dà solo errore!!Sono disperato,non riesco proprio ad usare linux!
Posted by Lazza on 1 Ottobre 2007 at 8:24 am
@ Alessandro Guerra, per operare come root intanto assicurati di inserire la password con le maiuscole e le minuscole corrette, inoltre controlla di avere i privilegi di amministratore. Poi ricorda che devi inserire la tua password, non quella dell’utente root!
Posted by RikyM on 1 Ottobre 2007 at 2:28 pm
Mentre digiti la password, sebbene il computer riceva l’input, sul terminale non viene segnalato nulla, non escono neanche degli asterischi. Questo per ragioni di sicurezza.
Questo probabilmente è perchè digiti un password errata, segui i consigli del Lazza.
Se sei determinato ad usarlo vedrai che ce la farai, è questione di voglia e di tempo.
Posted by Lazza on 1 Ottobre 2007 at 4:51 pm
Infatti.
Posted by Marco on 2 Dicembre 2007 at 3:06 am
Complimenti per la guida.
Mi piace molto il paragrafo “Perché usarlo?”
Io ci aggiungerei anche un altro motivo: quando un programma non si avvia, lanciandolo dal terminale si possono leggere i messaggi di errore, che spesso non compaiono in modalità grafica.
Posted by Lazza on 2 Dicembre 2007 at 11:43 am
Sì, è un altro buon motivo.
Posted by marco on 5 Agosto 2008 at 11:12 pm
ciao a tutti
utili le indicazioni sul terminali ma io ho un problema che nn riesco proprio a risolvere nonostante le 1000 ricerche fatte e le non poke soluzioni provate.
Questo il problema:
il terminale di apre normalmente
utente@computer:~$
io digito il comando tipo
sudo poff dsl-provider(per la connessione internet)
e il terminale mi chiede la password
QUI CI SONO 2 PROBLEMI
° non so quale password voglia
°anche se la conoscessi non la potrei digitare perchè il terminale non me lo permette affatto e se provo a premere invio mi dice
sorry..digita password(una cosa del genere)
Posted by Lazza on 5 Agosto 2008 at 11:32 pm
Be’ la password che ti chiede naturalmente è quella del tuo utente, se vuoi agire come amministratore usando sudo devi metterla. Tu non vedi che stai digitando perché nel terminale non esistono gli asterischi, ma in realtà tutto ciò che digiti viene registrato. Quindi se metti la password giusta e premi invio tutto andrà come deve andare (ovviamente si assume che la configurazione della rete sia fatta bene, ma quella è un’altra storia).
Posted by gerardo on 23 Agosto 2008 at 6:53 pm
ciao è una settimana che provo ubuntu lo trovo molto interessante però ho un problema ti spiego:
quando provo a usare il terminale non riesco a eseguire nessun comando, dopo che ho dato il comando sudo …….invio poi non riesco a dare la password dove sbaglio? il terminale è
gerardo@gerardo-desktop:~$
Posted by Lazza on 23 Agosto 2008 at 10:35 pm
@ gerardo, hai per caso letto il commento immediatamente sopra al tuo?
Posted by Luigi on 29 Settembre 2008 at 5:41 pm
Ciao, ho un problema con il terminale.
Anche nel mio caso alcuni comandi normali non funzionano e viene visualizzato l’avviso nessun file o directory.
ad esempio, dalla cartella /home/utente non riesco ad accedere ad alcuna sottodirectory presente. il comando cd documenti, ad esempio, non funziona.
lo stesso dicasi per comandi come “cd /home/utente/documenti” e così via
ho notato il medesimo problema anche per le altre partizioni
Riesco ad arrivare in /media/sda5 ad esempio, ma quando provo ad accedere alla cartella lì presente nominata “musica”, ecco che ricompare il solito messaggio di errore “nessun file o directory” .
Sai di che si tratta?
Grazie
Posted by Lazza on 29 Settembre 2008 at 5:45 pm
Sei sicuro di aver messo le maiuscole e le minuscole giuste?
Posted by Luigi on 29 Settembre 2008 at 6:06 pm
cavolo, era proprio così
non ci posso credere…
Posted by Lazza on 30 Settembre 2008 at 6:22 pm
Eh succede a tutti le prime volte.
Posted by visual ubuntu on 4 Ottobre 2008 at 10:25 am
complimenti
non ho mai visto una guida cosi completa ed esauriente bravo
Posted by Lazza on 6 Ottobre 2008 at 2:25 pm
Prego, figurati.
Posted by Fork bomb on 18 Ottobre 2008 at 1:39 am
rm -f da solo non cancella una cartella ed il suo contenuto
forse volevi dire -r (recursive)
-f serve solo per forzare la cancellazione
locate, cerca ogni file che contiene una certa stringa nel nome o nel percorso ma lo cerca in un database (che e’ possibile aggiornare con # updatedb)
find e’ il programma per cercare i file!
man rm
man locate
man find
Fork bomb
Posted by Lazza on 18 Ottobre 2008 at 1:56 pm
@ Fork bomb, sì effettivamente avevo scritto -rf e poi ho cancellato la lettera sbagliata. So bene che find cerca i file direttamente, ma locate è più semplice e per certi versi più veloce; considera che è una guida per principianti…
Evita di inserire comandi “fastidiosi” che è alquanto inopportuno.
Posted by neber on 24 Ottobre 2008 at 2:13 pm
ciao Lazza ,complimenti x la guida. Io ho lo stesso problema di Simlav e cioè da terminale ,quando cerco di aprire una cartella con il comando “cd” mi da sempre “nessuna file o directory per ogni cartella” da notare il comando “ls” funge. Ho letto tutto il post e non so più che fare. Il fatto che nelle propietà della cartella che cerco di aprire non è impostato nessun permesso vuol dire qualcosa?
Posted by Lazza on 24 Ottobre 2008 at 3:56 pm
Devi controllare le maiuscole e assicurarti che hai i permessi per accedervi (cioè la cartella appartiene al tuo utente, per farla semplice). Inoltre stai attento a dare il percorso corretto.
Posted by neber on 24 Ottobre 2008 at 5:30 pm
Lazza ti posto un esempio di quello che mi dà il terminale, delle cartelle che vedi l’unica che riesco ad aprire è Examples, che è dicolore verde acqua diverso da tutte le altre che non riesco ad aprire. Ovviamente ho
omesso il nome utente dalla stringa di comando.
:~$ ls
CD Bootabili versione N.D.zip Examples Immagini Musica Pubblici Video
Documenti i250 Modelli PDF Scrivania
:~$ cd i250
bash: cd: i250: Nessun file o directory
Posted by Lazza on 24 Ottobre 2008 at 8:37 pm
Postami per cortesia l’output di:
file i250e
ls -l i250Quella dopo il meno è una L.
Posted by neber on 24 Ottobre 2008 at 10:55 pm
Ecco come richiesto. Spero di aver capito bene “output”,sono alle prime armi con linux.Comunque la cartella i250 contiene 2 file .rpm, che dovrei modificare in .deb x installare su ubuntu 8.4 una canon i250.
:~$ file i250
i250: ERROR: cannot open `i250′ (No such file or directory)
~$ ls -l i250
ls: impossibile accedere a i250: Nessun file o directory
Posted by Lazza on 25 Ottobre 2008 at 7:07 pm
Mi spiace ma la cartella non si chiama “i250″. Sei sicuro di non aver lasciato uno spazio per sbaglio davanti o dietro al nome della cartella?
Posted by neber on 26 Ottobre 2008 at 1:34 pm
Grazie Lazza era proprio così, ho rinominato la cartella e adesso funge.
Posted by vaino on 18 Gennaio 2009 at 11:39 am
ciao bella guida per un nuovo arrivato come me nel mondo GNU/linux uso intrepid ho un acer aspire 5920g dove si trova quel comando tipo questo- però ondulato?????
Aspetto risposta e ti ringrazio
Posted by Lazza on 18 Gennaio 2009 at 12:23 pm
Se ho ben capito, tu vuoi digitare la tilde. Si fa con Alt Gr + ì (i con l’accento). E si ottiene ~.
Comunque non è un comando ma un simbolo.
Posted by Chemicky_Pes on 8 Marzo 2009 at 3:42 pm
Grande Lazza…comoda guida.
Sul web danno tutto per scontato senza farti capire bene. grazie.
Posted by Chemicky_Pes on 10 Aprile 2009 at 7:07 pm
comunque manca il comando “cd ..” per tornare nella directory superiore
Posted by vaino on 26 Luglio 2009 at 8:38 pm
Anche se è passato tempo volevo ringraziarti per la risposta
Complimenti per il blog