3.3. Comandi Linux importanti

In questa sezione sono riportati i comandi più importanti del sistema SUSE Linux. In questo capitolo sono elencati molti altri comandi. Insieme ai singoli comandi, sono elencati i parametri e, nel caso, viene presentata un'applicazione di esempio. Per ulteriori informazioni sui vari comandi, utilizzare le pagine man alle quali è possibile accedere con man seguito dal nome del comando, ad esempio, man ls.

All'interno delle pagine man, spostarsi verso l'alto e verso il basso con Pag su e Pag giù. Spostarsi tra l'inizio e la fine del documento con i tasti Home e Fine. Terminare questa modalità di visualizzazione premendoQ. È possibile ottenere ulteriori informazioni sul comando man con man man.

Nella panoramica riportata qui di seguito, gli elementi dei singoli comandi sono scritti con caratteri diversi. Il comando effettivo e le sue opzioni obbligatorie sono sempre stampati come command option. Le specifiche o i parametri che non sono necessari sono racchiusi tra [parentesi quadre].

Adattare le impostazioni in base alle proprie esigenze. Non ha senso scrivere ls file, se non esiste effettivamente nessun file chiamato file. Generalmente è possibile combinare vari parametri, ad esempio, scrivendo ls -la anzichè ls -l -a.

3.3.1. Comandi per i file

Nella sezione riportata qui di seguito, sono elencati i comandi più importanti per la gestione dei file. Nella sezione viene trattato qualsiasi argomento, dall'amministrazione generale dei file alla manipolazione di ACL di file system.

3.3.1.1. Amministrazione dei file

ls [opzioni] [file]

Se si esegue ls senza nessun parametro aggiuntivo, il programma riporta un elenco dei contenuti della directory corrente in forma abbreviata.

-l

Lista dettagliata

-a

Visualizza i file nascosti

cp [opzioni] sorgente destinazione

Copia source in target.

-i

Attende una conferma, se necessario, prima che venga sovrascritto un target esistente

-r

Copia in modo ricorsivo (include le sottodirectory)

mv [opzioni] sorgente destinazione

Copia source in target poi cancella il file source originale.

-b

Crea una copia di backup del source prima di spostarlo

-i

Attende una conferma, se necessario, prima che venga sovrascritto un targetfile esistente

rm [opzioni] file

Rimuove i file indicati dal file system. Le directory non vengono rimosse dal comando rm a meno che non venga utilizzata l'opzione -r.

-r

Cancella qualsiasi sottodirectory esistente

-i

Attende conferma prima di cancellare file.

ln [opzioni] sorgente destinazione

Crea un collegamento da source a target. Normalmente, questo link punta direttamente a source sullo stesso file system. In ogni caso, se ln viene eseguito con l'opzione -s, crea un link simbolico che punta solo alla directory nella quale è posizionato source, abilitando il collegamento tramite file system.

-s

Crea un link simbolico

cd [opzioni] [directory]

Modifica la directory corrente. cd senza parametri modifica la home directory dell'utente.

mkdir [opzioni] directory

Crea una nuova directory.

rmdir [opzioni] directory

Cancella la directory indicata se è già vuota.

chown [opzioni] nome utente[:[gruppo]] file

Trasferisce la proprietà di un file all'utente con il nome utente indicato.

-R

Modifica i file e le directory in tutte le sottodirectory

chgrp [opzioni] nome gruppo file

Trasferisce la proprietà del gruppo di un dato file al gruppo con il nome gruppo indicato. Il proprietario del file può solo modificare la proprietà del gruppo se è membro sia del gruppo corrente, sia di quello nuovo.

chmod [opzioni] modalità file

Modifica i permessi di accesso.

Il parametro mode ha tre parti: group, access e access type. group accetta i seguenti caratteri:

u

user

g

group

o

others

Per i parametri accesso, aggiungere con + e togliere con -.

Il tipo di accesso è controllato dalle seguenti opzioni:

r

read

w

write

x

eXecute - l'esecuzione di file o il passaggio alla directory.

s

Setuid bit—l'applicazione o il programma viene avviato come se fosse avviato dal proprietario del file

Come alternativa, è possibile utilizzare un codice numerico. Le quattro cifre di questo codice sono composte dalla somma dei valori 4, 2 e 1—il risultato decimale di una maschera binaria. La prima cifra imposta la ID dell'utente impostato (SUID) (4), il gruppo impostato (2) e i bit permanenti (1). La seconda cifra definisce i permessi del proprietario del file. La terza cifra definisce i permessi dei membri del gruppo e l'ultima imposta i permessi per tutti gli altri utenti. Il permesso di lettura è impostato con 4, il permesso di scrittura con 2 e quello per l'esecuzione di un file è impostato con 1. Il proprietario di un file dovrebbe generalmente ricevere un 6 o un 7 per i file eseguibili.

gzip [parametri] file

Questo programma comprime i contenuti dei file utilizzando algoritmi matematici complessi. I file compressi in questo modo hanno estensione.gz e devono essere decompressi prima di essere utilizzati. Per comprimere vari file o intere directory, utilizzare il comando tar.

-d

Decomprime i file gzip compressi in modo tale che tornino al formato originale e possano essere elaborati normalmente (come il comando gunzip)

tar opzioni archivio file

tar inserisce uno o più file in un archivio. La compressione è facoltativa. tar è un comando abbastanza complesso con molte opzioni disponibili. Le opzioni utilizzate con maggiore frequenza sono:

-f

Scrive l'output a un file e non sullo schermo come avviene di solito

-c

Crea un nuovo archivio tar

-r

Aggiunge file a un archivio esistente

-t

Emette i contenuti di un archivio

-u

Aggiunge file, ma solo se sono più recenti rispetto a quelli già contenuti nell'archivio

-x

Decomprime i file da un archivio (estrazione)

-z

Comprime l'archivio che ne risulta con gzip

-j

Comprime l'archivio che ne risulta con bzip2

-v

Elenca i file elaborati

I file di archivio creati da tar finiscono con .tar. Se l'archivio tar fosse stato solo compresso con gzip, la fine sarebbe.tgz o .tar.gz. Se fosse stato compresso con bzip2, la fine sarebbe .tar.bz2. Alcuni esempi di applicazione sono reperibili nella Sezione 3.1.5, "Archivi e compressione dei dati".

locate modelli

Questo comando è disponibile solo se è stato installato il pacchetto findutils-locate. Il comando locate è in grado di reperire in quale directory si trova un dato file. Se si vuole, è possibile utilizzare i caratteri jolly per indicare i nomi dei file. Il programma è molto veloce perchè utilizza un database appositamente creato per questo scopo (anzichè cercare nell'intero file system). Questo presenta anche un inconveniente: locate non è in grado di trovare i file creati dopo l'ultimo aggiornamento del suo database. Il database può essere generato da root con updatedb.

updatedb [opzioni]

Questo comando esegue un aggiornamento del database utilizzato da locate. Per includere file in tutte le directory, eseguire il programma come root. È anche possibile metterlo in background aggiungendovi un simbolo & (&), in modo tale da essere subito in grado di lavorare sulla stessa riga di comando (updatedb &). Questo comando, di solito, esegue un processo cron quotidiano (vedere cron.daily).

find [opzioni]

Con find, è possibile cercare un file in una data directory. Il primo argomento indica la directory nella quale avviare la ricerca. L'opzione -name deve essere seguita da una stringa di ricerca, che può anche comprendere caratteri jolly. Al contrario, locate, che utilizza un database, find effettua la scansione della directory corrente.

3.3.1.2. Comandi per accedere ai contenuti di un file

file [opzioni] [file]

Il comando file rileva il contenuto dei file specificati.

-z

Cerca all'interno dei file compressi.

cat [opzioni] file

Il comando cat visualizza i contenuti di un file, stampando sullo schermo tutto il contenuto senza interruzione.

-n

Numera l'output sul margine sinistro

less [opzioni] file

Questo comando può essere utilizzato per sfogliare i contenuti del file indicato. Scorrere fino a raggiungere metà schermo verso l'alto o verso il basso con Pag su e Pag giù o l'intera schermata con lo Spazio. Andare all'inizio o alla fine di un file con Home e Fine. Premere Q per uscire dal programma.

grep [opzioni] stringa di ricerca file

Il comando grep trova una stringa di ricerca particolare nei file indicati. Se la stringa di ricerca viene trovata, il comando visualizza la riga nella quale la searchstring è stata trovata insieme al nome del file.

-i

Ignora maiuscole e minuscole

-H

Visualizza solo i nomi dei rispettivi file, ma non le righe di testo

-n

Visualizza inoltre i numeri delle righe nelle quali ha trovato un risultato

-l

Elenca solo i file nei quali la searchstring non è presente

diff [opzioni] file1 file2

Il comando diff confronta i contenuti di due file su uno. L'output prodotto dal programma elenca tutte le righe che non corrispondono. Questo comando è frequentemente utilizzato dai programmatori che devono inviare le modifiche dei programmi e non tutto il codice sorgente.

-q

Riporta solo se due file sono diversi

-u

Produce una"unified" diff, che rende l'output più leggibile

3.3.1.3. File system

mount [opzioni] [dispositivo] punto di montaggio

Questo comando può essere utilizzato per l'attivazione di supporti dati, come dischi rigidi, unità CD-ROM e altre unità in una directory del file system Linux.

-r

mount read-only

-t filesystem

Indica il file system, di solito ext2, per i dischi rigidi Linux, msdos per i supporti MS-DOS, vfat per il file system Windows eiso9660 per i CD

Per i dischi rigidi non definiti nel file /etc/fstab, si deve indicare anche il tipo di dispositivo. In questo caso solo l'utente root può effettuare l'attivazione. Se il file system deve essere anche attivato da altri utenti, immettere l'opzione user nella giusta riga nel file /etc/fstab (separata da virgole) e salvare questa modifica. Ulteriori informazioni sono disponibili alla pagina man mount(1).

umount [opzioni] punto di montaggio

Questo comando disattiva un drive attivato dal file system. Per evitare perdite di dati, eseguire questo comando prima di rimuovere un supporto dati dalla sua unità. Di solito, solo l'utente root è autorizzato a eseguire i comandi mount e umount. Per abilitare altri utenti all'esecuzione di questi comandi, modificare il file /etc/fstab in modo tale da indicare l'opzione userper la rispettiva unità.

3.3.2. Comandi di sistema

La sezione riportata qui di seguito elenca alcuni dei più importanti comandi necessari a reperire le informazioni relative al sistema, al controllo dei processi e della rete.

3.3.2.1. Informazioni sul sistema

df [opzioni] [directory]

Il comando df (disk free), quando utilizzato senza opzioni, visualizza le informazioni relative allo spazio totale su disco, allo spazio su disco attualmente in uso e allo spazio libero presente su tutte le unità attivate. Se viene indicata una directory, le informazioni sono limitate all'unità sulla quale è posizionata quella directory.

-h

Mostra il numero di blocchi occupati in gigabyte, megabyte o kilobyte—in formato leggibile

-T

Tipo di file system (ext2, nfs e così via.)

du [opzioni] [percorso]

Questo comando, quando eseguito senza alcun parametro, mostra lo spazio totale su disco occupato dai file e dalle sottodirectory nella directory corrente.

-a

Visualizza la dimensione di ogni singolo file

-h

Output in formato leggibile

-s

Visualizza solo la dimensione totale calcolata

free [opzioni]

Il comando free consente di visualizzare informazioni sulla RAM e l'utilizzo dello spazio di scambio, mostrando la quantità totale e quella utilizzata in entrambe le categorie. Per ulteriori informazioni, vedere la Sezione 10.1.6, "Il comando free" (↑Riferimento).

-b

Output in byte

-k

Output in kilobyte

-m

Output in megabyte

date [opzioni]

Questo semplice programma consente di visualizzare l'ora corrente del sistema. Se viene eseguito come root, questo programma può anche essere utilizzato per modificare l'ora del sistema. Ulteriori informazioni sul programma sono disponibili alla pagina man date(1).

3.3.2.2. Processi

top [opzioni]

top consente di ottenere una panoramica rapida dei processi attualmente in esecuzione. Premere H per accedere a una pagina nella quale sono spiegate brevemente le opzioni principali per la personalizzazione del programma.

ps [opzioni] [ID processo]

Se eseguito senza opzioni, questo comando consente di visualizzare una tabella di tutti i programmi o i processi—avviati. Le opzioni per questo comando non sono precedute dal trattino.

aux

Consente di visualizzare un elenco dettagliato di tutti i processi, senza tener conto del proprietario

kill [opzioni] ID processo

Purtroppo, a volte, non è possibile terminare normalmente un programma. Nella maggior parte dei casi, dovrebbe essere ancora possibile fermare il programma eseguendo il comando kill, indicando la rispettiva ID del processo (vedere top e ps). kill consente di inviare un segnale TERM che invia un'istruzione di chiusura al programma. Se questo non è di aiuto, è possibile utilizzare il seguente parametro:

-9

Invia un segnale KILL anzichè un segnaleTERM che consente di terminare il programma in quasi tutti i casi

killall [opzioni] nome processo

Questo comando è simile a kill, ma utilizza come argomento il nome di processo (anzichè l'ID), terminando tutti i processi con quel nome.

3.3.2.3. Rete

ping [opzioni] nome host o indirizzo IP

Il comando ping è lo strumento standard per provare la funzionalità principale delle reti TCP/IP. Tramite questo comando viene inviato un piccolo pacchetto di dati all'host di destinazione con la richiesta di una risposta immediata. Se ping funziona, viene visualizzato un messaggio, a indicare che il collegamento di rete è in linea di massima funzionante.

-c number

Consente di definire il numero complessivo di pacchetti da inviare e terminare dopo la distribuzione (come impostazione predefinita, non è impostato alcun limite)

-f

flood ping: consente di inviare il maggior numero di pacchetti dati possibile; un mezzo comune, riservato agli utenti root, per provare le reti

-i value

Consente di indicare l'intervallo tra due pacchetti di dati in secondi (predefinito: un secondo)

nslookup

Il sistema del nome di dominio risolve i nomi di dominio agli indirizzi IP. Con questo strumento, è possibile inviare interrogazioni ai server dei nomi (server DNS).

telnet [opzioni] nome host o indirizzo IP [porta]

Telnet è un protocollo Internet che consente di lavorare su host remoti tramite una rete. telnet è anche il nome di un programma Linux che utilizza questo protocollo per abilitare le operazioni sui computer remoti.

[Warning]Avvertimento

Non utilizzare telnet su una rete dove è possibile l' "intercettazione" da parte di terzi. In particolare su Internet, utilizzare metodi di trasferimento cifrati come ssh, per evitare il rischio di un uso scorretto doloso di una parola d'ordine (vedere la pagina man di ssh).

3.3.2.4. Informazioni varie

passwd [opzioni] [nome utente]

Questo comando consente agli utenti di modificare la loro parola d'ordine in qualsiasi momento. L'amministratore root può utilizzare questo comando per modificare la parola d'ordine di qualsiasi utente sul sistema.

su [opzioni] [nome utente]

Il comando su consente di eseguire il log in con un nome utente diverso da una sessione in esecuzione. Specificare un nome utente e la parola d'ordine corrispondente. All'utente root non è richiesta la parola d'ordine, perchè l'utente root è autorizzato ad assumere l'identità di qualsiasi utente. Quando si utilizza il comando senza specificare un nome utente, si è invitati a immettere la parola d'ordine dell'utente root e a passare a superutente (root).

-

Utilizzare il comando su - per avviare una shell di login per l'utente diverso.

halt [opzioni]

Per evitare perdite di dati, si dovrebbe sempre utilizzare questo programma per spegnere il sistema.

reboot [opzioni]

Come il comando halt con l'unica eccezione che consente di riavviare immediatamente il sistema.

clear

Questo comando consente di ripulire l'area visibile della console. Non ha opzioni.

3.3.3. Ulteriori informazioni

In questo capitolo sono elencati molti altri comandi. Per informazioni relative agli altri comandi o ulteriori dettagli, si consigli il testo di O'Reilly Linux guida di riferimento.