Salta al contenuto

Guida base (ma abbastanza completa) al terminale

29 aprile 2007

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.

68 commenti Lascia un →
  1. 29 aprile 2007 10:51 am

    Ciao Lazza… :mrgreen:
    Questo intervento era particolarmente indirizzato a me :wink:
    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 :mrgreen:
    Cmq trovo molto utile per me sopprattutto la seconda parte :wink: , dove illustri tutti i comandi base che si possono eseguire che io naturalmente non sapevo :lol:
    Quello precendente lo sapeva anche un ignorante come me :lol: :lol: :lol: :lol: :lol:

    Va be grazie per l’intervento e se avro’ bisogno di utilizzarlo consultero’ questa tua guida :mrgreen:

    Byy no1globe

  2. 29 aprile 2007 11:40 am

    Grazie. :cool:

  3. Flax permalink
    29 aprile 2007 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? ;-)

  4. 1 maggio 2007 2:12 pm

    Bella questa. La metto tra le guide preferite.

  5. pandalife permalink
    11 maggio 2007 3:10 pm

    ottima guida!! :D

  6. 11 maggio 2007 3:15 pm

    Ti rigrazio. :-)

  7. Socialscalator permalink
    19 giugno 2007 12:04 pm

    Grazie mille ;)

  8. 19 giugno 2007 12:16 pm

    Prego.

  9. 3 luglio 2007 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”?

  10. 3 luglio 2007 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/.Trash

  11. 3 luglio 2007 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!

  12. 3 luglio 2007 6:11 pm

    @ Simlav perché ci sei già dentro!!!

  13. 3 luglio 2007 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??

  14. 3 luglio 2007 7:05 pm

    Direi la prima.
    Se sei nella tua home (ovvero /home/simlav/), devi fare:
    cd Desktop/ciao

  15. 3 luglio 2007 7:09 pm

    hai ragione!!! …studiero’

    grazie della compassione!

    Simlav!

  16. 3 luglio 2007 7:10 pm

    @ Simlav, prego figurati. :-)

  17. Alessandro Guerra permalink
    30 settembre 2007 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!

  18. 1 ottobre 2007 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! ;-)

  19. 1 ottobre 2007 2:28 pm

    Non riesco a capire come mai quando inserisco la password di root sul terminale non compaia nulla

    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.

    e se premo invio mi dà solo errore!!

    Questo probabilmente è perchè digiti un password errata, segui i consigli del Lazza.

    Sono disperato,non riesco proprio ad usare linux!

    Se sei determinato ad usarlo vedrai che ce la farai, è questione di voglia e di tempo.

  20. 1 ottobre 2007 4:51 pm

    Infatti. :-)

  21. Marco permalink
    2 dicembre 2007 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.

  22. 2 dicembre 2007 11:43 am

    Sì, è un altro buon motivo. :-)

  23. marco permalink
    5 agosto 2008 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)

  24. 5 agosto 2008 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).

  25. gerardo permalink
    23 agosto 2008 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:~$

  26. 23 agosto 2008 10:35 pm

    @ gerardo, hai per caso letto il commento immediatamente sopra al tuo?

  27. Luigi permalink
    29 settembre 2008 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

  28. 29 settembre 2008 5:45 pm

    Sei sicuro di aver messo le maiuscole e le minuscole giuste? ;-)

  29. Luigi permalink
    29 settembre 2008 6:06 pm

    cavolo, era proprio così

    non ci posso credere…

  30. 30 settembre 2008 6:22 pm

    Eh succede a tutti le prime volte. :-)

  31. visual ubuntu permalink
    4 ottobre 2008 10:25 am

    complimenti
    non ho mai visto una guida cosi completa ed esauriente bravo

  32. 6 ottobre 2008 2:25 pm

    Prego, figurati.

  33. Fork bomb permalink
    18 ottobre 2008 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

  34. 18 ottobre 2008 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.

  35. neber permalink
    24 ottobre 2008 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?

  36. 24 ottobre 2008 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. ;-)

  37. neber permalink
    24 ottobre 2008 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

  38. 24 ottobre 2008 8:37 pm

    Postami per cortesia l’output di:
    file i250
    e
    ls -l i250
    Quella dopo il meno è una L. :-)

  39. neber permalink
    24 ottobre 2008 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

  40. 25 ottobre 2008 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? 8O

  41. neber permalink
    26 ottobre 2008 1:34 pm

    Grazie Lazza era proprio così, ho rinominato la cartella e adesso funge.

  42. vaino permalink
    18 gennaio 2009 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

  43. 18 gennaio 2009 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. ;-)

  44. Chemicky_Pes permalink
    8 marzo 2009 3:42 pm

    Grande Lazza…comoda guida.
    Sul web danno tutto per scontato senza farti capire bene. grazie.

  45. Chemicky_Pes permalink
    10 aprile 2009 7:07 pm

    comunque manca il comando “cd ..” per tornare nella directory superiore :D

  46. vaino permalink
    26 luglio 2009 8:38 pm

    Anche se è passato tempo volevo ringraziarti per la risposta
    Complimenti per il blog

  47. cromos permalink
    10 novembre 2009 6:44 pm

    Ciao hai volevo farti i complimenti per questa guida che è molto utile per i nuovi utilizzatori del terminale di ubuntu.

    Volevo domandare se tramite il terminale è possibile trovare i programmi installati dal sito internet degli stessi, in quanto synaptic e aggiungi/rimuovi non li trovano.

    Così per esempio se ho installato skype 2.1.0 e voglio disinstallarlo perchè la versione recente non funzione bene come quella precedente, tramite il terminale potrei dare i comandi per questa azione?.

    Esiste un manuale del terminale publicato da qualche casa editrice?

    Se non esiste sarebbe il caso di realizzarlo, visto il numero di utenti interessati a ubuntu avrebbe un notevole successo.

  48. 10 novembre 2009 6:46 pm

    Tramite Synaptic vai in Stato > Installato (locale od obsoleto) e a quel punto vedi i pacchetti che hai ma non sono nei repository. ;) Sicuramente esisteranno manuali sulla consolle, anzi peraltro molti libri su Linux ti fanno usare la consolle, casomai io mi chiedo se ne esistano per utenti principianti.

  49. leo permalink
    17 gennaio 2010 4:44 pm

    grazie per l’aiuto ho capito molte cose e non è niente male per chi vuole solo provare a fare qualcosa oltre al chattare

  50. willyams permalink
    27 aprile 2010 11:13 pm

    ciao scusami io vorrei sapere il mio nome utente PPPoE e la password ma sul cmd non so quale parola digitare per farmelo accomparire
    Ti Prego aiutami

  51. 28 aprile 2010 1:02 pm

    Se ti riferisci ai dati della connessione ad internet, sono informazioni che ti vengono fornite dal tuo provider.

  52. Mattia permalink
    27 novembre 2010 12:13 pm

    Io vorrei entrare dal terminale su una pennetta Usb c’è un comando che mi permette di farlo?

    PS: utilizzo Mac OS X

    grazie in anticipo

  53. 27 novembre 2010 12:31 pm

    Sì, basta che trovi in quale percorso è il mount point con il comando mount e ci entri col comando cd.

    PS: condoglianze allora!

  54. 22 febbraio 2011 10:07 pm

    Ciao…complimenti per la guida..ma se io volessi aprire una cartella..o un file interno ad una cartella: poniamo file “summertime.mp3″ in cartella “Musica”

  55. 23 febbraio 2011 2:49 pm

    Aprirlo come? Con un programma? Semplice, avvia il programma con quel parametro. :) Esempio:
    vlc /home/utente/Musica/summertime.mp3

  56. 23 febbraio 2011 9:43 pm

    mmh…non funziona! temo di sbagliare qualocsa ma non so cosa…ho provato anche con totem, ma non c’è verso..mi dice posizione non trovata. io ho scritto “totem /home/utente/Musica/summertime.mp3″ e lui mi dice “No such file /home/utente/Musica/summertime.mp3″

  57. 24 febbraio 2011 6:44 am

    Ovviamente al posto di “utente” devi mettere il tuo nome utente, insomma il percorso deve essere corretto. :-)

  58. 24 febbraio 2011 12:43 pm

    ahah…principiante, ma non imbecille! <3 <3

  59. 24 febbraio 2011 1:11 pm

    Eh? L’errore è quello, se non trova il file sbagli percorso.

  60. 10 maggio 2011 10:26 am

    Guida molto utile, quasi un tascabile per fronteggare vuoti di memoria ;D

  61. 11 giugno 2011 3:01 pm

    sai…mi sa proprio che questa è la guida perfetta per che è nuovo dell’ambiente del terminale di linux

  62. 11 giugno 2011 3:19 pm

    ascolta ti volevo chiedere come si fa a rinominare il computer da terminale?
    grazie

  63. 11 giugno 2011 4:28 pm

    Per cambiare l’hostname qui ci sono delle istruzioni dettagliate. ;) http://www.ducea.com/2006/08/07/how-to-change-the-hostname-of-a-linux-system/

  64. 12 giugno 2011 9:56 am

    grazie un ultima cosa esiste per caso un comando per cancellare tutto quello scritto sul terminale ma senza chiuderlo, tipo in Windows c’è “cls” in linux esiste un comando simile?grazie

  65. 12 giugno 2011 3:26 pm

    Puoi usare clear per ottenere un nuovo prompt (in pratica fa lo scroll in giù finché non vedi tutto ripulito, se torni su con la rotella del mouse lo noti). Per ritornare a un terminale completamente nuovo puoi usare reset.

Trackback

  1. Generazione Web » Guida base (ma abbastanza completa) al terminale
  2. Connettere il Nintendo DS a Linux con il wi-fi (non con l’adattatore Nintendo) « Il blog di Andrea Lazzarotto
  3. Space 4 Tutorial » Blog Archive » Guida base (ma abbastanza completa) al terminale

Che cosa ne pensi?

Fill in your details below or click an icon to log in:

Gravatar
Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 37 other followers