Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


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.

Ulteriori risorse


CategoryAmministrazione