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 eseguesudo bash
osudo -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. 😉
grazie per l’aiuto ho capito molte cose e non è niente male per chi vuole solo provare a fare qualcosa oltre al chattare
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
Se ti riferisci ai dati della connessione ad internet, sono informazioni che ti vengono fornite dal tuo provider.
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
Sì, basta che trovi in quale percorso è il mount point con il comando
mount
e ci entri col comandocd
.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”
Aprirlo come? Con un programma? Semplice, avvia il programma con quel parametro. 🙂 Esempio:
vlc /home/utente/Musica/summertime.mp3
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”
Ovviamente al posto di “utente” devi mettere il tuo nome utente, insomma il percorso deve essere corretto. 🙂
ahah…principiante, ma non imbecille! <3 <3
Eh? L’errore è quello, se non trova il file sbagli percorso.
Guida molto utile, quasi un tascabile per fronteggare vuoti di memoria ;D
sai…mi sa proprio che questa è la guida perfetta per che è nuovo dell’ambiente del terminale di linux
ascolta ti volevo chiedere come si fa a rinominare il computer da terminale?
grazie
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/
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
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 usarereset
.Non è che questa guidsa sia migliore delle altre!
Ma nulla ti vieta di suggerire qualche miglioramento. 🙂
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!!!
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?
Di questo abbiamo avuto modo di conversare parecchio nei commenti a questo articolo sull’università per cui ti consiglio di darci un’occhiata. 🙂
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. 🙂
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).
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? 😉 😀
Se ho usato mkdir per fare una cartella, come posso trovarla?
Dipende cosa intendi per “trovarla”. Mettiamo caso che io faccia:
In tal caso ho creato una directory
prova
dentro alla directory dove stavo operando (che vedi conpwd
). Ma potrei anche aver indicato il percorso completo della directory da creare:In tal caso be’… il percorso lo sai già.
Poi se vuoi veramente cercare, puoi sempre usare
find
. 😛Ciao, è possibile verificare la temperatura della CPU da terminale di Big Sur? grazie.
Non saprei, l’articolo è dedicato principalmente a Linux dove verrebbe usato il comando
sensors
.