Guida base (ma abbastanza completa) al terminale

29 04 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:~$ firefoxPremendo 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 AndreaQui 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 | lessQuesto 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.


Azioni

Informazione

48 risposte

29 04 2007
no1globe

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

29 04 2007
Lazza

Grazie. :cool:

29 04 2007
Flax

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? ;-)

1 05 2007
Bl@ster

Bella questa. La metto tra le guide preferite.

10 05 2007
11 05 2007
pandalife

ottima guida!! :D

11 05 2007
Lazza

Ti rigrazio. :-)

19 06 2007
Socialscalator

Grazie mille ;)

19 06 2007
Lazza

Prego.

3 07 2007
Simlav

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

3 07 2007
Lazza

@ 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

3 07 2007
Simlav

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!

3 07 2007
Lazza

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

3 07 2007
Simlav

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

3 07 2007
Lazza

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

3 07 2007
Simlav

hai ragione!!! …studiero’

grazie della compassione!

Simlav!

3 07 2007
Lazza

@ Simlav, prego figurati. :-)

30 07 2007
4 08 2007
30 09 2007
Alessandro Guerra

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!

1 10 2007
Lazza

@ 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! ;-)

1 10 2007
RikyM

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.

1 10 2007
Lazza

Infatti. :-)

2 12 2007
Marco

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.

2 12 2007
Lazza

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

5 08 2008
marco

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)

5 08 2008
Lazza

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

23 08 2008
gerardo

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

23 08 2008
Lazza

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

29 09 2008
Luigi

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

29 09 2008
Lazza

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

29 09 2008
Luigi

cavolo, era proprio così

non ci posso credere…

30 09 2008
Lazza

Eh succede a tutti le prime volte. :-)

4 10 2008
visual ubuntu

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

6 10 2008
Lazza

Prego, figurati.

18 10 2008
Fork bomb

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

18 10 2008
Lazza

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

24 10 2008
neber

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?

24 10 2008
Lazza

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

24 10 2008
neber

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

24 10 2008
Lazza

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

24 10 2008
neber

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

25 10 2008
Lazza

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

26 10 2008
neber

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

18 01 2009
vaino

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

18 01 2009
Lazza

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

8 03 2009
Chemicky_Pes

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

10 04 2009
Chemicky_Pes

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

Lascia un commento