Principali comandi Linux - Riga di comando

Ubuntu, come tutte le distribuzioni Linux, consente di dare comandi attraverso il cosiddetto Terminale che può essere attivato nei seguenti modi:
- Da Applicazioni > Accessori > Terminale.
- premendo contemporaneamente CTRL + ALT + F1. A tutto schermo appare il 1° terminale dei sei disponibili (F1, F2, F3, F4, F5, F6). Per ritornare a lavorare in modalità grafica premere CTRL + ALT + F7.
La necessità di ricorrere al Terminale nasce dal fatto che attraverso la riga di comando è possibile eseguire operazioni molto efficaci, che in certi casi risultano quasi impossibili utilizzando l'interfaccia grafica.
Inoltre è possibile ripetere o correggere un comando dato precedentemente semplicemente richiamandolo con le frecce su o giù da tastiera.
Vuoi Saperne di più ? Partecipa al nostro Corso di Linux Ubuntu
Principali comandi Linux
Segue un elenco dei principali comandi di Linux. Un comando può avere una serie di opzioni che solitamente sono indicate con il segno "-"
<comando> <-opzione1> <-opzione2> ...
Ogni spazio bianco separa il comando da ogni opzione.
Esempio
$ ls -l
help: manuale dei comandi
<comando> --help è la guida che spiega la sintassi del comando
$ ls --help | E' la guida che spiega la sintassi del comando ls |
$ ls --help | less | consente di visualizzare la guida del comando ls su più pagine video (vedi comando less) |
cd: cambio directory (cartella)
cd <directory> consente di cambiare la directory corrente in quella indicata in <directory> (change directory)
$ cd Desktop | se la directory corrente è home porta nella directory Desktop |
$ cd .. | porta della directory superiore (o padre) |
$ cd /var | in qualunque directory ci si trovi porta nella directory /var |
$ cd ~ oppure cd | porta della directory home dell'utente (/home/[nome utente]) |
$ cd - | porta della directory precedente |
pwd: mostra la directory corrente
pwd: questo comando ci permette di sapere in che directory ci troviamo
ls: lista il contenuto di una directory (cartella)
ls <opzioni> [<directory>] visualizza il contenuto di una directory (list)
-a lista anche i file nascosti
-l mostra tutte le informazioni per ogni file (formato lungo)
-k dimensione dei file è in Kb (normalmente è in byte).
-F classifica i file a seconda del tipo.
$ ls -l | contenuto della directory corrente in formato lungo |
$ ls -a / | contenuto della directory iniziale (root) compresi i file nascosti |
$ ls -lah | contenuto della directory corrente in formato lungo |
$ ls -R | elenco ricorsivo |
cp: copia file e directory
cp: questo comando ci permette di copiare un file o una directory (copy)
-r copia le directory e le sottodirectory ricorsivamente
$ cp file1 cart1 | copia file1 dentro la directory cart1 |
$ cp -r cart1 cart2 | copia tutta la directory cart1 dentro a cart2 |
$ sudo cp -a cart1 cart2 | copia tutta la directory cart1 dentro a cart2 mantenendo gli stessi permessi e le informazioni su data e ora di creazione |
$ cp -rv cart1 cart2 | copia tutta la directory cart1 dentro a cart2 visualizzando l'operazione (verbose) |
mv: muove o rinomina un file o una directory
mv: con questo comando è possibile spostare file o directory (move). Può essere anche utilizzato per rinominare un file o una directory.
-i chiede la conferma
$ mv vecchio nuovo | rinomina il file vecchio in nuovo |
$ mv file1 cart1 | sposta il file file1 dentro la directory cart1 |
rm: rimuove un file o una directory
rm con questo comando è possibile cancellare uno o più file (remove)
-rf cancella ricorsivamente sia le cartelle che il loro contenuto
$ rm file1 file2 | cancella file1 e file2 |
$ rm *.* | cancella TUTTO il contenuto della directory corrente. Le eventuali directory presenti non saranno rimosse. Da usare con cautela ! |
$ rm -rf cart1 | cancella tutto il contenuto della directory cart1 |
rmdir: rimuove una directory vuota
rmdir: con questo comando è possibile cancellare una o più directory vuote (remove directory)
$ rmdir prova | cancella la directory vuota prova |
mkdir: crea una directory
mkdir: con questo comando è possibile creare una directory (make directory)
$ mkdir prova | crea la directory prova |
pwd: mostra la directory corrente
pwd: con questo comando è possibile sapere in quale directory ci troviamo (print working directory)
$ pwd | Se l'utente ECOmmunication si trova nella cartella principale visualizza /home/ecommunication |
chmod: modificare i permessi di un file
chown con questo comando è possibile modificare il permessi di un file.
Per un approfondimento dettagliato sui permessi vedi http://it.wikipedia.org
Il parametro -R consente di modificare ricorsivamente i permessi delle directory indicate e del loro contenuto.
$ chmod 0755 file1 | imposta lettura, scrittura ed esecuzione per il proprietario, e lettura ed esecuzione per gruppo ed altri per file1 |
$ sudo chmod -R 0755 dir1 | imposta lettura, scrittura ed esecuzione per il proprietario, e lettura ed esecuzione per gruppo ed altri per la directory di1 e per i file contenuti |
$ chmod u+rwx file1 | imposta lettura, scrittura ed esecuzione per il proprietario lasciando inalterati gli altri permessi |
$ chmod ugo+rwx file1 | imposta lettura, scrittura esecuzione per tutti (u user, g group, o other) |
$ chmod ugo-x file1 | rimuove il permesso di esecuzione a tutti |
chown: modificare il proprietario di un file
chown: con questo comando è possibile modificare il proprietario di un file.
Il parametro -R consente di modificare ricorsivamente i permessi delle directory indicate e del loro contenuto.
$ chown nome1 file1 | rende il file1 proprietario di nome1 |
$ chown nome1:gruppo1 file1 | rende il file1 proprietario di nome1 e del gruppo1 |
$ chown -R nome1:gruppo1 dir1 | rende la directory dir1 e i file contenuti proprietari di nome1 e del gruppo1 |
$ sudo chown -R root:root drupal | rende la directory drupal e i file contenuti proprietari di root e del root |
cat: visualizza il contenuto di uno o più file
cat con questo comando è possibile visualizzare il contenuto di uno o più files
$ cat file1 | Visualizza il contenuto del file1 |
$ cat file1 file2 > file3 | crea file3 con il contenuto di file1 e file2 |
$ cat file1 file2 >> file3 | aggiunge il contenuto di file1 e file2 al file3 |
$ cat file1 -n | Visualizza il contenuto del file1 numerandolo |
$ tac file1 | Visualizza il contenuto del file1 in ordine inverso |
more: visualizza il contenuto di un file su più pagine video
more: con questo comando è possibile visualizzare il contenuto di un file in più pagine video. Il tasto di Invio fa avanzare la visualizzazione riga per riga mentre la barra spaziatrice fa avanzare di pagine video. Per interrompere utilizzare CTRL+Z
$ more file1 | Visualizza il contenuto del file1 in pagine video |
$ ls -l | more | visualizza il contenuto della directory corrente in formato lungo su più pagine video (vedi comando ls) |
less: più efficiente di more visualizza il contenuto di un file su più pagine video
less: A differenza di more è possibile scorrere il testo avanti e indietro. Per interrompere utilizzare CTRL+Z
$ less file1 | Visualizza il contenuto del file1 in pagine video |
$ ls -l | less | visualizza il contenuto della directory corrente in formato lungo su più pagine video (vedi comando ls) |
head - tail visualizza le prime / ultime righe
$ head -<n> file | visualizza le prime <n> righe di file |
$ tail -<n> file | visualizza le ultime <n> righe di file |
find: ricerca di files / directory
$ find . -name "*.tmp" | ricerca dei files temporanei *.tmp nella directory corrente |
$ find . -name "*.tmp" -exec rm {} \; | ricerca ed eliminazione dei files temporanei nella directory corrente |
Comandi di sistema
free: mostra lo stato della memoria
free: con questo comando è possibile visualizzare lo stato della memoria.
df: spazio libero su disco
df: con questo comando è possibile visualizzare lo spazio libero su disco
$ df -h | Visualizza il contenuto dello spazio libero su disco utilizzando G,M,K byte |
top: mostra i processi attualmente in esecuzione
top: questo comando visualizza i processi attualmente in esecuzione e le informazioni importanti relative a tali processi.
Si possono utilizzare i seguenti comandi
q - per uscire da top
u - ordina per utente
M - ordina per uso della memoria
P - ordina per l'uso del processore
h - visualizza la guida (help)
k - termina un processo
n - modifica il numero di processi visualizzati
lshw: lista hardware del computer
lshw: con questo comando è possibile avere una lista di tutti i dispositivi che compongono l'hardware del computer
$ sudo lshw | lista completa di tutti i dispositivi hardware del computer |
$ sudo lshw -short | lista abbreviata di tutti i dispositivi hardware del computer |
uname: informazioni sul sistema
uname: con questo comando è possibile sapere se il processore è a 32 o 64 bit
$ uname -a | informazioni complete |
$ sudo lshw -short | lista abbreviata di tutti i dispositivi hardware del computer |
Rete
nast: strumento di analisi della rete
nast: con questo strumento è possibile analizzare lo stato della rete
$ sudo nast -m | mappa dei dispositivi connessi alla rete |
ifconfig: stato delle connessioni di rete
ifconfig: con questo strumento è possibile sapere lo stato di connessone della rete (LAN, WAN) e l'indirizzo IP assegnato alle schede
$ isconfig | stato di connessone della rete |
Creare un file iso
Creare una iso con tutti i file della cartella corrente
sudo mkisofs -r -o iso_da_masterizzare.iso .
Importante il punto finale
Gestione cartelle compresse .tar
tar: crea/decomprime archivi compressi
Comprimere file1 file2 in archivio.tar.gz
$ tar -cvzf archivio.tar.gz file1 file2 | c= crea, v=verbose, z=comprimi, f=nome archivio (ES archivio.tar.gz) |
$ tar -xvf archivio.tar.gz | x=estrai, v=verbose, f=nome archivio (ES archivio.tar.gz) |
Utility
vncviewer
Questo potente strumento consente di visualizzare quello che avviene su un altro Computer
Impostazioni pc host
Per prima cosa bisogna impostare il pc a cui ci si vuole connettere (host). Andare su Sistema > preferenze > Desktop remoto
attivare [ ] Consentire agli altri utenti di visualizzare il proprio desktop. Se si vuole controllare anche il pc remoto occorre attivare anche
Consentire agli altri utenti di controllare il proprio desktop.
Impostazioni pc server
Dare da terminale il comando
vncviewer <opzioni> <indirizzo-IP>:<porta>
-shared : consente la condivisione della connessione con altri client
-viewonly : con questa opzione non è possibile interagire sul computer remoto
-fullscreen : con questa opzione il PC server viene visualizzato a tutto schermo. Premendo F8 compare una finestra pop-up per terminare vncviewer o disabilitare il fullscreen
$ vncviewer -viewonly -fullscreen 192.168.100.1:0 | Visualizza a pieno schermo ciò che avviene sul pc con indirizzo 192.168.100.1 |
Approfondimenti
- Introduzione alla riga di comando
- comandi base della shell GNU/Linux
- Sudo
- Learning the Shell (inglese)