Guida base al terminale

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à, un terminale è qualunque programma abbiate aperto che vi presenti qualcosa del genere:

utente@computer:~$

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 -s
    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. Eesempio:

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 -r è 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, il che è utilissimo. Esempio:

man firefox

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. 😉

79 pensieri riguardo “Guida base al terminale

  1. Ciao Lazza… :mrgreen:
    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 :mrgreen:
    Cmq trovo molto utile per me sopprattutto la seconda parte 😉 , dove illustri tutti i comandi base che si possono eseguire che io naturalmente non sapevo 😆
    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 :mrgreen:

    Byy no1globe

  2. 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? 😉

  3. complimenti ma come mai il mio terminale dice sempre: nessuna file o directory per ogni cartella in cui cerco di entrare col comando: “cd”?

  4. @ 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

  5. 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!

  6. 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??

  7. 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!

  8. @ 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! 😉

  9. 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.

  10. 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.

  11. 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)

  12. 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).

  13. 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:~$

  14. 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

  15. 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

  16. @ 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.

  17. 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?

  18. 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. 😉

  19. 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

  20. 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

  21. 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? 😯

  22. 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

  23. 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. 😉

  24. 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.

    1. 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.

Lascia un commento

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