Indice
- Introduzione
- Gestione di file e directory
- Funzioni di ricerca e sostituzione
- Gestione dei file compressi
- Gestione del filesystem
- Ottenere informazioni sul sistema
- Amministrazione degli utenti e gruppi
- Altri comandi utili
- Eseguire comandi con privilegi di amministrazione
- Gestione dei pacchetti
- Ottenere maggiore aiuto
- Ulteriori risorse
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa pagina ha come scopo la presentazione schematica dei comandi base della shell GNU/Linux. Per tale ragione costituisce più un riferimento per l'uso corretto dei comandi che una guida introduttiva alla shell.
Tutti i comandi all'interno di questa pagina devono essere eseguiti nel terminale.
Sotto Linux ci sono le GUI (Graphical User Interfaces), dove è possibile puntare, cliccare, trascinare e svolgere il proprio lavoro senza prima aver letto una montagna di documentazione. L'ambiente di lavoro tradizionale di Unix è la CLI (Command Line Interface), dove si scrivono le istruzioni che il computer deve fare. Questo metodo è molto più veloce e potente, ma bisogna scoprire quali sono le istruzioni. [...]
(Estratto da man intro) |
Linux è case sensitive. «User», «user», e «USER» sono tutte cose diverse.
Gestione di file e directory
pwd
Il comando pwd serve per mostrare la directory in cui ci si trova.
La sintassi del comando è la seguente:
pwd [opzioni]
Opzioni utilizzabili con il comando pwd:
Opzione |
Risultato |
-L |
utilizza PWD dall'ambiente, anche se contiene collegamenti simbolici |
-P |
evita tutti i collegamenti simbolici |
--help |
visualizzare questo aiuto ed esce |
--version |
fornisce informazioni sulla versione ed esce |
ls
Il comando ls serve per elencare il contenuto di una directory.
La sintassi del comando è la seguente:
ls [opzione] [directory]
Alcune opzioni da utilizzare con il comando ls:
Opzione |
Risultato |
[directory] |
elenca il contenuto della directory specificata, se non specificata viene considerata la directory corrente |
-a |
elenca anche i file nascosti |
-l |
elenco dettagliato di file e sotto directory con i loro attributi |
-R |
elenca ricorsivamente i file nella directory indicata e in tutte le sottodirectory |
-s |
mostra la dimensione dei file |
-S |
ordina i file per dimensione partendo dal più grande |
-u |
ordina i file per data e ora di accesso partendo dal più recente |
-X |
ordina i file per estensione e ordine alfabetico |
-r |
elenca i file invertendone l'ordine |
--color |
mostra i file con colori differenti |
cd
Il comando cd serve per spostarsi all'interno delle directory del filesystem.
La sintassi del comando è la seguente:
cd [directory]
Alcuni esempi di uso del comando cd:
spostarsi alla directory superiore:
cd ..
Spostarsi da qualsiasi punto nella propria directory home:
cd
è equivalente a:
cd ~
Spostarsi nella directory /etc:
cd /etc
mkdir
Il comando mkdir serve per creare directory all'interno del filesystem.
La sintassi del comando è:
mkdir [opzioni] directory
Alcuni esempi di uso del comando mkdir:
creare la directory prova/ all'interno della directory corrente:
mkdir prova
Creare la directory prova all'interno della propria home directory, qualunque sia la directory in cui ci si trova al momento:
mkdir ~/prova
Qualora non esistessero, verranno create anche tutte le directory intermedie, a partire dalla directory corrente:
mkdir -p prova1/prova2/prova3/bin
cp
Il comando cp serve per:
- copiare un file in un altro file;
- copiare un file in un'altra directory;
- copiare più file in un'altra directory;
- copiare directory.
La sintassi del comando è la seguente:
cp [opzioni] origine destinazione
Alcune opzioni da utilizzare con il comando cp:
Opzione |
Risultato |
-b |
esegue automaticamente una copia di backup di ogni file di destinazione esistente |
-f |
forza la sovrascrittura dei file, senza richiedere interventi da parte dell'utente |
-i |
attiva la modalità interattiva, che chiede conferma prima dell'eventuale sovrascrittura di file preesistenti |
-p |
mantiene, se possibile, gli attributi del file |
-r |
permette di attivare la modalità ricorsiva, consentendo la copia di directory |
-v |
attiva la modalità "verbose", visualizza ciò che il sistema ha fatto in seguito al comando |
Alcuni esempi di uso del comando cp:
copiare il file miofile della directory prova nella directory /prova1:
cp /prova/miofile /prova1
Copiare il file miofile della directory /prova nella directory /prova1 dandogli il nome nuovofile:
cp /prova/miofile /prova1/nuovofile
Copiare la cartella /prova, e tutto il suo contenuto, nella cartella /prova_copia:
cp -r /prova /prova_copia
mv
Il comando mv serve per spostare, o rinominare, file e directory.
La sintassi del comando è la seguente:
mv [opzioni] origine destinazione
Le opzioni sono le stesse del comando cp.
Alcuni esempi di uso del comando mv:
Cambiare il nome al file miofile in nuovofile:
mv miofile nuovofile
Spostare il file miofile nella directory /prova, sovrascrivendo un eventuale file con lo stesso nome:
mv miofile /prova
Cambiare il nome alla directory /prova in /prova_nuova:
mv /prova /prova_nuova
Spostare la directory /prova nella directory già esistente /prova.bak:
mv /prova /prova.bak
rm e rmdir
L'eliminazione tramite rm è irreversibile. Un uso incauto potrebbe provocare danni al sistema e/o perdite di dati. Consultare la guida sui comandi pericolosi per maggiori informazioni.
Il comando rm serve per cancellare file o directory dal file system.
La sintassi del comando è la seguente:
rm [opzioni] file ...
Alcune opzioni da utilizzare con il comando rm:
Opzione |
Risultato |
-i |
chiede conferma prima di cancellare |
-f |
forza la cancellazione del file senza chiedere conferma |
-r |
abilita la modalità ricorsiva usata per la cancellazione delle directory |
Il comando rmdir serve per cancellare directory dal file system.
La sintassi del comando è la seguente:
rmdir directory
Alcuni esempi di uso dei comandi rm e rmdir:
cancellare il file miofile:
rm miofile
Cancellare la directory prova/ e tutto il suo contenuto:
rm -rf prova/
Cancellare la directory prova/ solo se questa non contiene alcun file all'interno:
rmdir prova/
touch
Il comando touch serve per aggiornare la data dell'ultimo accesso o quello dell'ultima modifica di un file. Se seguito da un nome di file non ancora presente, ne crea uno vuoto con l'estensione indicata.
La sintassi del comando è la seguente:
touch [opzioni] file
Alcune opzioni da utilizzare con il comando touch:
Opzione |
Risultato |
-a |
cambia solo la data dell'ultimo accesso |
-c |
non creare il file |
-m |
cambia solo la data dell'ultima modifica |
-t STAMP |
specifica la data nel formato «[[CC]YY]MMDDhhmm[.ss]» |
Alcuni esempi di uso del comando:
digitando il comando:
touch miofile
Se ./miofile è un file già esistente, la data e l'ora di ultima modifica verranno impostate a quelle correnti.
- Se il file non esiste, allora verrà creato.
Impostare come data e ora di ultima modifica del file ./miofile alle ore 11.00 del 21 febbraio 2007:
touch -t 0702211100 miofile
ln
Il comando ln serve a creare un collegamento (o link) ad un file o una directory.
Un collegamento è un file speciale che non contiene dati, ma solo un riferimento ad un altro file: ogni operazione effettuata sul collegamento viene in realtà eseguita sul file a cui punta.
La sintassi del comando è la seguente:
ln -s /percorso_file_da_collegare/file_da_collegare /percorso_del_collegamento/nome_del_collegamento
L'opzione -s specifica che verrà creato un collegamento simbolico.
L'uso di tale opzione è consigliato.
chmod
Consultare la guida ai permessi dei file.
diff
Il comando diff serve per confrontare file originali con backup all'interno di una directory o sottodirectory.
La sintassi del comando è la seguente:
diff [opzioni] [fileoriginale] [filebackup]
Alcune opzioni da utilizzare con il comando diff:
Opzione |
Risultato |
-q |
permette di ignorare la visualizzazione nell'output le differenze |
-r |
permette di includere le sottocartelle. |
Alcuni esempi di usi del comando:
confrontare due file:
diff /home/<nomeutente>/Documenti/LibreriaCasa.txt /home/<nomeutente>/Documenti/LibreriaUfficio.txt
confrontare directory:
diff -r ~/Immagini /media/<nome_utente>/Dati/Immagini
Per approfondire l'uso del comando consultare la relativa pagina man.
rename
Il comando rename serve per rinominare più file o cartelle ricorsivamente.
Installare il pacchetto rename
La sintassi del comando è la seguente:
rename [-v] [-n] [-f] perlexpr [nomi file]
Alcune opzioni da utilizzare con il comando rename:
Opzione |
Risultato |
-n |
simula la rinomina mostrandola solo sullo schermo |
-v |
mostra i file rinominati con successo |
-f |
forza la sovrascrittura dei file originali (da usare con prudenza) |
espr. perl |
's/<termine da sostituire>/<termine sostitutivo>/g' <selezione parte nome (possono essere usati i caratteri jolly ? per selezione un carattere e * per selezione più caratteri)> |
Alcuni esempi di usi del comando:
creare la copia di backup di file .pdf:
rename 's/.pdf/.pdf.~/g' *.pdf
simulare la modifica dell'estensione di tutti i file .jpg in .jpeg:
rename -n 's/.jpg/.jpeg/g' *.jpg
verificare la modifica dell'estensione di tutti i file .jpg in .jpeg:
rename -v 's/.jpg/.jpeg/g' *.jpg
forzare correzione tramite rinomina di cartelle:
rename -f 's/viagio*/viaggio*/g viagio*
intercalare una particella di testo tra il nome e l'estensione:
rename -v 's/.odt/.marzo.odt/g' *.odt
Per approfondire l'uso del comando consultare la relativa pagina man.
Funzioni di ricerca e sostituzione
find
Il comando find serve per cercare all'interno di una directory e delle sue sottodirectory i file che soddisfano dei criteri stabiliti dall'utente.
La sintassi del comando è la seguente:
find [directory] [espressione]
Alcuni esempi di usi del comando:
cercare all'interno della directory corrente ./ tutti i file con estensione .mp3:
find . -name '*.mp3'
Cercare all'interno della directory corrente tutti i file con permessi di lettura e scrittura per il proprietario e il gruppo, ma solo di lettura per gli altri utenti:
find . -perm 664
Cercare ed eliminare tutti i file temporanei all'interno della directory corrente:
find . -name '*.tmp' -exec rm {} \;
Cercare tutti i file appartenenti all'utente specificato:
find /tmp -user mario
locate
Il comando locate serve per cercare file o cartelle all'interno del filesystem in modo veloce e semplice.
La sintassi del comando è la seguente:
locate [opzione] [nome cercato]
Alcuni esempi di usi del comando:
aggiornare il database prima della ricerca:
sudo updatedb
cercare un file:
locate <nome file>
cercare una directory:
locate -b <nome directory>
A causa del bug #1968190 , per rendere possibile il funzionamento del comando su file system Btrfs, occorre aprire come amministratore con un editor di testo il file /etc/updatedb.conf e modificare la stringa PRUNE_BIND_MOUNTS = “yes” in PRUNE_BIND_MOUNTS = “no”.
grep
Il comando grep serve per filtrare all'interno di una directory o di un file dei caratteri, termini o frasi che soddisfano i criteri stabiliti dall'utente.
La sintassi del comando è la seguente:
grep [opzioni] ["testo cercato"] [locazione completa]
Alcune opzioni da utilizzare con il comando grep:
Opzione |
Risultato |
-r |
permette di cercare ricorsivamente nelle sottocartelle, può essere omesso se non necessario. |
-i |
permette di ignorare la distinzione tra maiuscole e minuscole. |
-n |
mostra la riga del file in cui è contenuto il testo cercato. |
-o |
mostra solo la parte della riga corrispondente al testo cercato. |
Alcuni esempi di usi del comando:
cercare un file:
grep -ri "preventivo carrozziere" /home/<nomeutente>/*
cercare un termine in un file:
grep -rin "alignment horizontal" /usr/share/locale/*/LC_MESSAGES/
Per approfondire l'uso del comando consultare la relativa pagina man.
sed
Il comando sed serve per sostituire all'interno di uno o più file dei caratteri, termini o frasi che soddisfano i criteri stabiliti dall'utente.
La sintassi del comando è la seguente:
sed [opzioni]... ["testo cercato|testo sostitutivo"] [locazione completa]
Alcune opzioni da utilizzare con il comando sed:
Opzione |
Risultato |
-i |
in-place salva la modifica sul file di origine. |
s |
tentativo di far corrispondere l'espressione regolare allo spazio del modello |
g |
copia/aggiunge spazio di attesa allo spazio del pattern. |
Alcuni esempi di usi del comando:
modificare un termine nel file buridda.txt:
sed -i 's/1 cipolla/2 cipolle/g' /home/<nomeutente>/Ricette/buridda.txt
correggere un termine errato in tutti i file .txt contenuti in una directory:
sed -i 's|rooso|rosso|g' /home/<nomeutente>/Documenti/Piastrelle/*.txt
Per approfondire l'uso del comando consultare la relativa pagina man.
Gestione dei file compressi
Consultare la guida ai formati di compressione.
Gestione del filesystem
mount
Il comando mount serve per effettuare il montaggio di un filesystem all'interno della gerarchia di file del sistema, rendendo accessibile un filesystem a partire da una specifica directory chiamata punto di mount (o di montaggio).
Alcuni esempi di uso del comando mount:
visualizzare i dispositivi attualmente montati, il loro punto di montaggio e il tipo di filesystem utilizzato per gestirne i dati
mount
Montare in /media/cdrom il dispositivo CD-Rom:
mount /media/cdrom
Montare la partizione identificata come /dev/sda1 all'interno della directory /media/dati_windows, in modo che tutti i dati presenti in questa partizione diventino accessibili a partire dalla directory scelta:
mount -t ntfs /dev/sda1 /media/dati_windows
umount
Il comando umount serve per smontare un dispositivo precedentemente montato.
La sintassi del comando umount è la seguente:
umount [dispositivo]
Alcuni esempi di uso del comando umount:
Smontare il dispositivo CD-ROM:
umount /media/cdrom
Ottenere informazioni sul sistema
du
Il comando du visualizza lo spazio occupato sul disco da file o directory.
La sintassi è la seguente:
du [opzioni] [file...]
Alcune opzioni da utilizzare con il comando du:
Opzione |
Risultato |
-a |
visualizza le informazioni sia sui file che sulle directory |
-h |
visualizza le dimensioni in formato leggibile umano |
-k |
visualizza le dimensioni in unità di 1 k |
-m |
visualizza le dimensioni in unità di 1 M |
-P |
non visualizza nessun collegamento simbolico |
-s |
visualizza la dimensione totale complessiva |
-x |
esclude le sottodirectory che siano parte di un altro filesystem |
Alcuni esempi di uso del comando du:
visualizzare la quantità di spazio occupata da miofile:
du miofile
Visualizza la quantità di spazio complessiva occupata dalla propria directory home:
du -s ~
Visualizza la quantità di spazio complessiva occupata dall'intero sistema / in blocchi di 1k:
sudo du -kshP /
Questo comando necessita dei privilegi di amministrazione.
df
Il comando df visualizza a schermo lo spazio rimasto sulle partizioni e sui dischi del proprio sistema.
La sintassi del comando è la seguente:
df [opzioni] [file...]
Alcune opzioni da utilizzare con il comando df:
Opzione |
Risultato |
-a |
include nell’elenco anche i filesystem con una dimensione di 0 blocchi, che sono di natura omessi. Normalmente questi filesystem sono pseudo-filesystem con scopi particolari, come le voci per l’ automounter. Filesystem di tipo «ignore» o «auto», supportati da alcuni sistemi operativi, sono inclusi solo se quest’opzione è specificata |
-h |
aggiunge a ciascuna dimensione un suffisso, come «M» per megabyte, «G» per gigabyte, ecc |
-H |
ha lo stesso effetto di -h, ma usa le unità ufficiali SI (con potenze di 1000 piuttosto che di 1024, per cui M sta per 1000000 invece di 1048576) |
-t tipofs |
limita l’elenco a filesystem del tipo specificato |
-x tipofs |
limita l’elenco a filesystem non del tipo specificato |
Un esempio di uso del comando df:
mostrare lo spazio occupato solo dai dischi con filesystem ext3, utilizzando il suffisso specifico per l'unità di misura:
df -Ht etx3
free
Il comando free mostra informazioni sulla memoria di sistema. Molto utile se si vuole rendersi conto della memoria disponibile sul sistema, della memoria attualmente in uso e di quella libera.
La sintassi del comando è la seguente:
free [opzioni]
Alcune opzioni da utilizzare con il comando free:
Opzione |
Risultato |
-b |
mostra la quantità di memoria in byte |
-k |
mostra la quantità di memoria in KiB (impostato di default) |
-t |
mostra una riga contente i totali |
top
Il comando top visualizza informazioni riguardanti i processi in esecuzione e risorse di sistema, il numero di task in esecuzione, utilizzo di CPU, memoria RAM e swap utilizzate. Per informazioni sul suo utilizzo consultare la relativa guida.
uname
Il comando uname mostra informazioni sul sistema.
La sintassi è la seguente:
uname [opzione]
Alcune opzioni da utilizzare con il comando uname:
Opzione |
Risultato |
-a |
visualizzerà tutte le informazioni del sistema |
-m |
mostra il tipo di macchina |
-n |
mostra il nome host del nodo di rete della macchina |
-s |
mostra il nome del kernel |
-r |
mostra la release del kernel |
-o |
mostra il nome del sistema operativo |
lsb_release
Il comando lsb_release mostra informazioni sulla distribuzione installata.
La sintassi è la seguente:
lsb_release [opzione]
Alcune opzioni da utilizzare con il comando lsb_release:
Opzione |
Risultato |
-d |
mostra la descrizione della distribuzione |
-c |
mostra il nome in codice della distribuzione |
-r |
mostra il numero di rilascio della distribuzione |
-a |
mostra tutte le informazioni sulla distribuzione |
lshw
Il comando lshw mostra informazioni sulla composizione hardware del computer. Per maggiori informazioni consultare questa pagina.
Amministrazione degli utenti e gruppi
adduser
Il comando adduser consente di aggiungere nuovi utenti al sistema.
Creare un nuovoutente digitare:
sudo adduser nuovoutente
Sostituire nuovoutente col nome dell'utente scelto.
Inserire l'utente in uno specifico gruppo esistente digitare:
sudo adduser nomeutente nomegruppo
sostituire nomeutente col nome dell'utente desiderato e nomegruppo col nome del gruppo desiderato.
deluser
Il comando deluser consente di rimuovere gli utenti dal sistema.
Rimuovere l'utente nomeutente digitare:
sudo deluser nomeutente
Sostituire nomeutente col nome dell'utente scelto.
Rimuovere l'utente da uno specifico gruppo digitare:
sudo deluser nomeutente nomegruppo
Sostituire nomeutente col nome dell'utente desiderato e nomegruppo col nome del gruppo desiderato.
passwd
Il comando passwd consente di cambiare o impostare la propria password o la password di un utente.
Impostare la password dell'utente nomeutente :
sudo passwd nomeutente
Sostituire nomeutente col nome dell'utente scelto.
Cambiare la propria password:
passwd
groups
Il comando groups permette di visualizzare i gruppi d'appartenenza del proprio utente o d'un utente specifico.
Visualizzare i gruppi d'appartenza del proprio utente digitare:
groups
Visualizzare i gruppi d'appartenza dell'utente nomeutente digitare:
groups nomeutente
Sostituire nomeutente col nome dell'utente scelto.
Altri comandi utili
cat, zcat e less
I comandi cat, zcat e less servono per mostrare il contenuto di un file:
cat mostra semplicemente il contenuto del file specificato;
zcat mostra semplicemente il contenuto del file compresso con bzip2, gzip, lzip o xz specificato;
less visualizza il contenuto di file, permette di spostarsi avanti e indietro nel testo utilizzando i tasti freccia quando i file occupano più di una pagina di schermo. È inoltre possibile eseguire delle ricerche nel testo digitando «/» seguito dalla parola da cercare e premendo «Invio».
Per terminare il programma premere il tasto «q».
La sintassi del comando cat è la seguente:
cat nomefile
La sintassi del comando zcat è la seguente:
zcat nomefile.formatocompressione
Sostituire nomefile col nome del file e formatocompressione col tipo usato.
La sintassi del comando less è la seguente:
less nomefile
more
Il comando more viene solitamente utilizzato in abbinamento ad altri comandi. È un filtro che permette di visualizzare l'output di un comando una schermata alla volta.
Alcuni esempi d'uso del comando more abbinato ad altri comandi:
Il comando:
ls | more
permette di scorrere l'output del comando ls tramite il tasto Invio.
Il comando:
cat miofile | more
permette di visualizzare e scorrere il contenuto del file miofile tramite il tasto Invio.
Il simbolo «|», solitamente chiamato pipe, serve per redirigere l'output del comando a sinistra al comando alla sua destra.
Eseguire comandi con privilegi di amministrazione
Per eseguire alcuni comandi come amministratori del sistema o per modificare file non all'interno della propria directory Home, è necessario anteporre al comando la parola sudo. Per maggiori informazioni sui privilegi di amministrazione consultare la relativa guida.
Gestione dei pacchetti
Per maggiori informazioni sui programmi per la gestione dei pacchetti in Ubuntu, consultare la relativa guida.
Ottenere maggiore aiuto
Per ottenere maggiore aiuto o informazioni riguardo un determinato comando, esiste il comando man che serve per visualizzare il manuale di un determinato comando.
La sintassi del comando man è la seguente:
man [comando]
Ad esempio, per visualizzare la pagina di manuale dello stesso comando man è sufficiente digitare il seguente comando:
man man
Una volta all'interno del manuale, per poter spostarsi al suo interno, basta utilizzare le frecce direzionali. Per uscire dal manuale premere il tasto «q».
Quasi tutti i comandi accettano anche l'opzione -h (o --help) che fornisce una breve descrizione sull'utilizzo del comando e delle sue opzioni.
Per installare le versioni tradotte delle pagine di manuale consultare la relativa guida.