Sei sulla pagina 1di 8

UbuntuSecrets.

it
Terminale, questo (s)conosciuto
Questa breve guida ha l'intenzione di guidare il nuovo utente, spesso impaurito, a conoscere meglio questo
strumento che presto diventerà il suo più fidato amico.
Il terminale può essere lanciato da: Applicazioni → Accessori → Terminale
Quando aprite il Terminale, questo si apre di default nella vostra home indicata con la tilde ~.
I comandi, le collocazioni ed i files sono case sensitive (sensibili a maiuscole e minuscole) per cui /home non è
la stessa cosa di /HOME o di /Home.
Usate il tasto Tab per completare il nome del file. Se avete il nome di un file driver molto lungo come driver-
128947232jaseu.sh, digitate semplicemente dri e il tasto Tab farà il resto. Se avete due file che iniziano con dri,
aggiungete un altra lettera per ottenere il risultato.
Tutti  i  comandi  di  questa  guida  saranno  evidenziati  in  verde  e  faranno  uso  di  
questo  stile  di  testo.  
Ogni comando ha una sua spiegazione che può essere letta usando le pagine del manuale o digitando -­‐h o –
help dopo il comando stesso.
Quindi, per conoscere ad esempio la funzione del comando nome_comando, digitate:
man  nome_comando o nome_comando  -­‐h o command_name  -­‐-­‐help
Un comando può essere cercato usando info  nome_comando
Praticamente tutti i comandi possono mostrare esplicitamente cosa vanno a fare. Questo può essere fatto
aggiungendo al comando l'operatore –verbose.
Per uscire dalla schermata di aiuto che si apre quando digitate i comandi info o man basta digitare la lettera Q.
Per cancellare la schermata del terminale ripulendola da tutte le vecchie digitazioni e/o risultati basta digitare il
comando clear.

I comandi

1. cd
cd è usato per navigare tra directories. Potete spostarvi in luoghi diversi indicando il percorso.
 cd da solo vi sposta nella vostra directory home
 cd  .. vi farà tornare indietro esattamente di una directory. Per esempio se sono in /home/utente/tutorial
il comando cd  .. mi riporterà in /home/utente. Ciò può essere espanso, per cui se mi trovo nella
directory /home/utente/pippo, cd  ../../ mi porterà direttamente alla /home.
 cd  nomecartella/ vi porterà verso la cartella indicata, contenuta nella vostra attuale directory. Da
notare che la mancanza del prefisso / è una importante omissione. Se sono in /home/utente e voglio
recarmi in pippo, devo digitare cd  pippo/ senza / prima di pippo. Digitando / prima di esso verrò
inviato nella root del file system, risultato diverso da quello desiderato.
 cd  /topolino/paperino vi porterà nella cartella paperino specificata dal percorso, sempre che sia

   
http://www.ubuntusecrets.it/  
   
stata digitata bene o che esista. Non dimenticate di usare il tasto tab per il completamento!

2. ls
ls è usato per mostrare come listato i contenuti di una cartella. Potete vedere molti tipi di attributi di file e
cartelle.
 ls da solo mostrerà semplicemente il contenuto di una cartella
 ls  -­‐l fornisce un lungo e dettagliato elenco di informazioni come i proprietari dei file, i permessi, le
dimensioni e la data di modifica
 ls  -­‐a mostra i filenascosti , le cartelle nascoste e le altre voci in elenco
 ls  -­‐al combinazione delle due opzioni precedenti che mostra sia i file nascosti sia le informazioni in
un listato dettagliato
 ls  -­‐h mostra le dimensioni dei file in modalità di lettura umana (Kbyte, Mbyte e Gbyte), invece di
usare i soli bytes. Spesso usato in combinazione con il flag -­‐l
È possibile, inlotre, vedere i file di una cartella nella quale non siete posizionati al momento. Se mi trovo in
/home/utente/pippo e voglio vedere i file in /home/utente, basta che dia il comando ls  ../ per avere l'elenco
dei file di una directory precedente senza dover tornare indietro.

3. cp
cp è il comando usato per copiare i file
 cp  file  /topolino/paperino/pluto copia il file specificato nella cartella di cui è indicato il
percorso, in questo caso in pluto.
 cp  -­‐r  pippo  /topolino/paperino/pluto copia ricorsivamente i contenuti della cartella in
un'altra cartella. In questo esempio la cartella pippo, e tutti i file e le sottodirectory di tale cartella,
verrebbero copiati nella cartella pluto.
 cp  *.extension  /topolino/paperino/pluto copia i file con una specifica estensione, in una
nuova cartella. Per copiare tutti i file .doc in pluto occorrerà scrivere cp  *.doc  
/topolino/paperino/pluto
N.B. la cartella di destinazione deve già esistere.
 cp  nome*  /topolino/paperino/pluto copia tutti file che iniziano con 'nome', nella cartella
indicata (in questo caso pluto). Per copiare nella cartella pluto tutti i file che iniziano con 'esempio' si
dovrà digitare cp  esempio*  /topolino/paperino/pluto  
N.B. la cartella di destinazione deve già esistere.

4. mv
mv è il comando usato per spostare i file.
La sintassi del comando mv è molto simile agli esempi mostrati sopra con cp.
mv non accetta l'operatore -­‐r dato che, se muove una cartella, muove anche il suo contenuto. La sintassi quindi
non è proprio la stessa in ogni circostanza ma funziona come negli esempi indicati precedentemente. In ogni
caso, ora che sapete come fare, potete consultare la pagina di manuale per maggiori dettagli.

5. rm
rm è il comando utilizzato per rimuove file.
Unico avvertimento: i file rimossi con il comando rm vengono eliminati permanentemente. Non viene fatto

   
http://www.ubuntusecrets.it/  
   
uso del cestino. Vi consiglio di usarlo con cautela e, nel caso in cui lo facciate, assicuratevi di cancellare il file
che avete intenzione di eliminare controllando bene il suo path e la sintassi del comando.
 rm  file rimuove il file specificato dal sistema
 rm  -­‐r  directory rimuove la cartella specificata dal sistema
 rm  -­‐rf  directory rimuove forzatamente la cartella specificata dal sistema. Questo comando può
danneggiare seriamente il sistema se usato in modo non corretto. Il rischio è la totale ed irrimediabile
cancellazione di file e cartelle di sistema.

6. nano
nano è il comando per richiamare un editor di testo totalmente a linea di comando.
È possibile usarlo per modificare dei file direttamente dalla linea di comando ed è particolarmente utile per la
modifica di file di sistema e configurazione. È pratico ma tenete presente che può modificare solo file di testo e
file di programmazione e non i documenti di Word e/o simili (per quelli è sempre bene avere installata sulla
propria macchina una versione di OpenOffice).
Se un file è proprietà di root non può essere modificato da un utente normale. nano deve essere lanciato con
sudo per poter salvare i cambiamenti apportati a tale file, altrimenti può essere aperto solo in lettura.
 nano  nuovofile.qualsiasi crea un nuovo file con il nome specificato e lo apre per la modifica
 nano  nome_file apre il file già esistente per la modifica

Quando avete finito con la modifica potete salvare il file usando la combinazione di tasti CTRL+O.
Potete uscire da Nano usando la combinazione di tasti CTRL+X. Se avete delle modifiche non ancora salvate
l'editor vi chiederà di farlo.

7. mkdir
mkdir comando per creare nuove directories.
 mkdir  pippo crea una cartella con il nome specificato, in questo caso pippo, nel percorso in cui ci
troviamo in quel momento
 mkdir  -­‐p  /topolino/paperino/pluto crea tutte le cartelle indicate. Per creare la cartella
/home/utente/appunti_linux/terminale, ma se esistono solo /home/utente, usando mkdir  -­‐p verranno
create le cartelle appunti_linux e terminale

8. ps
ps è il comando che restituisce l'elenco dei processi attivi sulla nostra macchina
 ps  aux elenca tutti i processi in esecuzione nel sistema, compreso utente, Process ID (PID) ed il nome
del processo. Usare questo comando è utile per controllare l'elenco dei processi in corso ed
eventualmente “uccidere” quelli inutili o bloccati.

9. kill / killall / xkill


Kill , killall , xkill sono comandi che arrestano processi in stallo o inutili
 kill  PID Il PID è un numero che si riferisce al processo in atto. È possibile ottenere il PID da linea di
comando come ps  aux. Se un processo si rifiuta di chiudersi, è possibile forzare tale operazione con
kill  -­‐9  PID.

   
http://www.ubuntusecrets.it/  
   
 killall  programma chiude in base al nome tutte le istanze del programma nominato. Se per
esempio ci sono tre istanze di Firefox aperte, usando il comando killall  firefox, verranno chiuse
tutte le tre istanze.
 xkill è un modo grafico per cliccare e chiudere una finestra. Digitando xkill la freccia del mouse viene
trasformata in una croce (o in un teschio) e con un semplice clic del mouse possiamo chiudere la finestra
che vogliamo.

10. > e >>


> e >> inviano l'output ad un file invece che al terminale
 > è usato per "sovrascrivere" i contenuti di un file esistente e sostituirli con l'output generato dal nuovo
comando.
 >> è usato per "allegare" informazioni all'attuale file esistente. È utile per il logging.
Esempio: ps  aux  >  processes.log invia l'output di ps  aux al file processes.log per visualizzare
l'output del comando in un editor di testo e sovrascrivere l'attuale contenuto del file.

11. Eseguibili - Esecuzione dei file


Volete eseguire dei file o dei programmi da terminale? Assicuratevi che siano eseguibili. Non lo sono? Allora
leggete i trucchetti utili alla fine della guida.
Avete bisogno di eseguire un file nell'attuale directory dopo averlo reso eseguibile? L'operatore ./ può eseguire
il file come utente normale, evitando di farlo con i privilegi di root.
./ può essere usato solo su file che risiedono nella directory attuale e non su un percorso specifico.
Avete bisogno di eseguire un file non inserito nell'attuale directory? Dovete passare il comando appropriato per
eseguire il programma.
 se è un programma in Python, è python  /percorso/al/file
 se è un file di shell sh  /percorso/al/file
Questi due sono solo esempi. Naturalmente ci sono altri comandi ma questi saranno i più comuni per i
principianti.
Avete bisogno di eseguire un file con i privilegi di root perchè avete ricevuto un messaggio di operazione non
permessa? Precedete il comando con sudo. Pertanto, ripetendo l'esempio riportato prima,  sudo  python  
/percorso/al/file eseguirà lo script con privilegi di root.
Avete bisogno di eseguire un programma grafico da terminale? Digitate semplicemente il nome del programma
e verrà lanciato. Potete provare digitando il comando nautilus per aprire una finestra di esplorazione risorse.
Avete bisogno di eseguire un programma grafico da terminale con privilegi di root? Precedete il comando con
gksudo o gksu e non con sudo. Usare sudo per lanciare una applicazione grafica è una brutta abitudine e
dovrebbe essere evitata.
Mai, e ripeto, MAI usare sudo solo perché si è avuto un avviso di operazione non consentita. Assicuratevi
SEMPRE di sapere cosa state per fare prima di compromettere l'intero sistema operativo lanciando un file con
privilegi di root.

3. Trucchetti utili
 Vi siete persi in una directory? Non siete sicuri di dove siete? Digitate pwd per conoscere la directory
   
http://www.ubuntusecrets.it/  
   
attuale
 Volete conoscere rapidamente l'utilizzazione del vostro spazio sul disco? df  -­‐h vi fornirà un rapido
resoconto
 Volete calcolare le dimensioni dell'attuale directory? du  -­‐cksh
 Volete calcolare rapidamente le dimensioni di un file o di una cartella? du  -­‐cksh  
nome_file_o_cartella vi darà la risposta.
 Dovete rendere eseguibile un file? chmod  +x  nomefile può farlo. La prossima volta che vedrete un
file che volete rendere eseguibile e non lo è saprete cosa fare.
Infine ecco una piccola raccolta di tutti quei comandi che, prima o poi, vi potranno tornare utili:

GUIDA COMANDI TERMINALE

FILE E CARTELLE

ls = lista di file e archivi


ls -a = lista dei file compresi quelli nascosti
mv old_name new_name = cambia il nome a file e cartelle
mv file_or_directory /new/location = sposta file e cartelle
pwd = mostra la posizione corrente all'interno dell'albero delle cartelle
nano file_name = permette di visualizzare, modificare o creare un nuovo file tramite l'editor nano
vi file_name = permette di visualizzare, modificare o creare un nuovo file tramite l'editor vi
rm file_name = cancella file
rm *xxx = cancella tutti i file che terminano con xxx
rm xxx* = cancella tutti i file che iniziano con xxx
mkdir dir_name = crea una nuova cartella
rm -r dir_name = cancella ricorsivamente cartella e contenuto
rmdir dir_name = cancella cartella
cat file = mostra il contenuto di un file tramite un listato a terminale
cp file new_file = copia file in new_file
cp file /new/location = copia il file in una nuova posizione
find file_or_direcory = ricerca file o cartelle nel livello corrente
head -n X file = mostra a terminale le prime X righe di un file
tail -n X file = mostra a terminale le ultime X righe di un file
cd /path = permette di spostarsi nell'albero delle cartelle
cd .. = sale di un livello verso la radice
cd / = torna alla root /
ln link_file_or_directory /path/to/real/file/or/directory = crea un link a file o cartelle nella posizione
corrente
chmod XXX file_name = setta a XXX i permessi su un file
chmod XXX -R dir_name = setta a XXX i permessi su una cartella

   
http://www.ubuntusecrets.it/  
   
chown pippo file_name = cambia il proprietario del file, dall'attuale a pippo
chown pippo dir_name = cambia il proprietario della cartella, dall'attuale a pippo

ARCHIVI

zip archive_name.zip file_name = crea un archivio .zip contenente il file indicato


zip -r archivio_name.zip dir_name = crea un archivio .zip contenente la cartella indicata
unzip archive_name.zip = decomprime l'archivio zippato
gzip file_name = crea un archivio .gz
gzip -d archive_name.gz = decomprime l'archivio
gunzip archive_name.gz = decomprime l'archivio
bzip2 file_name = crea un archivio .bzip2
bzip2 -d archive_name.bz2 = decomprime l'archivio
bunzip2 archive_name.bz2 = decomprime l'archivio
tar -cvf archive_name.tar directory_name = crea un archivio .tar a partire da una cartella
tar -xvf archive_name.tar = estrae l'archivio
tar -tf archive_name.tar = lista il contenuto dell'archivio senza estrarlo
tar
 -c (crea un archivio)
 -f (specifica un file da estrarre o da creare)
 -x (estrae un archivio)
 -t (permette di mostrare il contenuto degli archivi)
 -v (dà in output maggiori informazioni sui file compressi o decompressi)

Nota: tar serve solo ad archiviare, non riduce lo spazio occupato dai file; al contrario gzip e bzip2
comprimono ma non archiviano; combinandone l'uso è possibile archiviare comprimendo (basta
aggiungere una z, gzip, o j, bzip2, alle opzioni del comando tar)

tar czvf archive_name.tgz dir_name = archivio compresso di una cartella


tar czvf archive_name.tar.gz dir_name = archivio compresso di una cartella
tar cjvf archive_name.bz2 dir_name = archivio compresso di una cartella
tar cjvf archive_name.tar.bz2 dir_name = archivio compresso di una cartella
tar xvfz archive_name.tgz = decomprime l'archivio
tar xvfz archive_name.tar.gz = decomprime l'archivio
tar xjvf archive_name.bz2 = decomprime l'archivio
tar xjvf archive_name.tar.bz2 = decomprime l'archivio
tar -ztf archive_name.tar.gz = lista il contenuto dell'archivio senza estrarlo

   
http://www.ubuntusecrets.it/  
   
SISTEMA

su = per diventare amministratore (richiede password di root)


sudo command_string = esegue un comando come super utente (richiede password di root)
df = informazioni sullo stato dell'hard disk
df -l = informazioni sull'occupazione dell' hard disk in blocchi e %
df -h = informazioni sull'occupazione dell' hard disk in Byte e %
date = mostra giorno della settimana, giorno del mese, mese, anno, ora correte
cal = visualizza un calendario del mese corrente
id = mostra UID, GID e gruppi dell'utente corrente
ps = mostra processi attivi
ps aux = mostra processi attivi
kill -k process_PID_number = uccide il processo identificato dal PID utilizzato nella sintassi
top = mostra processi attivi, tempo di attività , occupazione % della CPU
free = mostra informazioni sullo stato della memoria
arch = mostra informazioni sulla natura del processore
cat /proc/cpuinfo = mostra informazioni relative alla CPU
mount /dev/hdaX /mnt/dir_name = monta la partizione X dell'hda sulla cartella dir_name
umount /dev/hdaX = smonta il volume
whoami = mostra il nome dell'utente corrente
who = mostra il nome degli utenti connessi al sistema
w = mostra il nome degli utenti connessi al sistema
finger = mostra info relative agli uenti del sistema
useradd X = crea un utente X
userdel X = elimina l'utente X
passwd = modifica la password dell'utente corrente
fdisk = crea o modifica partizioni
fdisk -l = mostra volumi, partizioni e file system
last = mostra gli ultimi login utenti
uname = mostra informazioni relative al kernel di sistema
hostname = mostra il nome del computer
uptime = mostra il tempo di attività del sistema
shutdown -r now = riavvia il sistema (anche via ssh o ftp)
shutdown -h now = spegne il computer (anche via ssh o ftp)
clear = pulisce il terminale

   
http://www.ubuntusecrets.it/  
   
RETE

ping ip_or_domain_name_or_host_name = verificare la comunicazione tra due host


ssh ip_or_domain_name_or_host_name = apre una connessione con un server ssh
ftp ip_or_domain_name_or_host_name = apre una connessione con un server ftp
put local_file remote_file = copia file locale in un host remoto via ftp
scp local_file user@remote_host:remote_file = copia file locale in un host remoto
get remote_file = copia file remoto sull'host locale via ftp
lynx = apre lynx, un browser web testuale
curl -I ip_or_domain_name_or_host_name = informazioni su un host
host ip_or_domain_name_or_host_name = informazioni su un host
dig ip_or_domain_name_or_host_name = informazioni su un host
whois ip_or_domain_name_or_host_name = informazioni su un host

   
http://www.ubuntusecrets.it/