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. grazie per l’aiuto ho capito molte cose e non è niente male per chi vuole solo provare a fare qualcosa oltre al chattare

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

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

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

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

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

    1. Ovviamente al posto di “utente” devi mettere il tuo nome utente, insomma il percorso deve essere corretto. 🙂

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

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

  6. Ciao. Son giunt’anch’io. Come si dice?: meglio tardi che mai!!
    Non dar retta ai criticoni! Hai fatto un ottimo lavoro, hai semplificato il discorso, è l’unica guida che introduce ai passi basilari e ammetti ch’è aperta a modifiche e miglioramenti.
    Complimenti e grazie.
    Buon lavoro!!!

  7. Ciao, non so se puoi rispondere ancora, vedo che i commenti sono vecchi del 2012. Comunque scrivo lo stesso. Premetto che quello che scrivo centra poco con l’articolo. Mi piacerebbe trovare un amico che se ne intende di programmazione, diciamo un “Iron Man (film) che invece di fare l’ hardware, si occupi di software, non solo, anche web ecc.,” con quale posso conversare.
    Studio alle superiori e imparo diversi linguaggi di programmazione. È difficile occuparsi di tutti e due, ho intenzione almeno di diplomarmi e dedicare tutto il tempo al computer. Voi come gestite o gestivate il vostro tempo quando studiavate alle superiori e/o all’università? Chi siete diventati?
    A proposito del terminale: Io uso mac, e a volte linux. Sono due sistemi operativi basati su UNIX, ma ho visto che i comandi cambiano, ad esempio, per configurare la rete uso “ifconfig” o sapere informazioni “iwconfig” ma nel terminale del mac non esistono questi comandi, perchè? Che differenza c’è tra shell, bash, terminale e altri simili? Terminale serve per interagire con il pc, ma anche online ad esempio siti, altri computer “php”?
    Se sí, quali comandi sono più usati? Preferisci terminale del mac e linux o console di windows?

  8. Voi come gestite o gestivate il vostro tempo quando studiavate alle superiori e/o all’università?

    Di questo abbiamo avuto modo di conversare parecchio nei commenti a questo articolo sull’università per cui ti consiglio di darci un’occhiata. 🙂

    nel terminale del mac non esistono questi comandi, perchè?

    Perché OS X è ispirato da (o meglio è una copia spudoratissima di) BSD e BSD non è del tutto uguale a Linux. Cambiano alcune convenzioni e alcuni tool presenti lì. Poi sono programmi, quindi ogni programma deve essere portato e non è detto che sistemi operativi diversi abbiano gli stessi programmi per gli stessi task. 🙂

    Che differenza c’è tra shell, bash, terminale e altri simili?

    La shell è un’interprete di linee di comando, cioè il software che legge i comandi che gli dai e agisce di conseguenza eventualmente avviando gli altri programmi che hai indicato. Bash è una delle tante shell disponibili (vedi anche sh, csh, ksh, …). L’emulatore di terminale è il programma che mostra la finestrella in cui si vede l’interfaccia della shell che usi (per esempio Bash).

    Preferisci terminale del mac e linux o console di windows?

    Tra la Bash su Linux e la Bash che hanno inserito poi su OS X non c’è moltissima differenza, ma comunque la domanda è un’altra… se uno può scegliere, perché usare qualcosa di diverso da Linux? 😉 😀

    1. Dipende cosa intendi per “trovarla”. Mettiamo caso che io faccia:

      mkdir prova
      

      In tal caso ho creato una directory prova dentro alla directory dove stavo operando (che vedi con pwd). Ma potrei anche aver indicato il percorso completo della directory da creare:

      mkdir /home/andrea/Immagini/prova
      

      In tal caso be’… il percorso lo sai già.

      Poi se vuoi veramente cercare, puoi sempre usare find. 😛

      find / -name prova
      

Lascia un commento

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