19.3. Sommario dei comandi Linux più importanti

In questo capitolo, vi presenteremo i comandi più importanti del vostro sistema SUSE LINUX, accennandone il significato e soffermandoci su alcuni parametri con relativi esempi di applicazione. Per maggiori informazioni sui comandi, lanciate il programma man, seguito dall'opzione corrispondente al comando di cui desiderate conoscere il significato (ad esempio, man ls).

In queste manpage (“pagine di manuale”), potete muovervi in su e in giù con Pag Giù e Pag Sù oppure andare all'inizio o alla fine della documentazione con Home o Fine. Potete terminare questa modalità  di visualizzazione premendo Q. Immettendo man man, potete avere ulteriori informazioni sul comando man stesso.

Se siete interessati ad avere un elenco dei diversi programmi a riga di comando più dettagliato di quanto fornito più sotto, vi consigliamo il libro Linux in a Nutshell dell'editore O'Reilly. Nella seguente breve descrizione, i singoli elementi dei comandi saranno contraddistinti da differenti caratteri.

Il comando e le opzioni vanno scritti nell'ordine comando opzione. Le indicazioni o i parametri che non sono assolutamente indispensabili vengono indicati fra [parentesi quadre].

Dovrete adattare le possibili indicazioni alle vostre necessità . Non ha senso scrivere ls file se non esiste veramente un file chiamato file. Potete generalmente combinare più parametri semplicemente scrivendo ls -la invece di ls -l -a.

19.3.1. Comandi dei file

Nel seguente sezione elencheremo i comandi principali in tema di amministrazione dei file. Tratteremo dalla amministrazione dei file generale fino alla impostazione delle ACL di file system.

19.3.1.1. Amministrazione dei file

ls [opzioni] [file]

Inserendo ls senza altre indicazioni o parametri, otterrete, in forma abbreviata, il contenuto della directory in cui vi trovate.

-l

elenco dettagliato

-a

mostra i file nascosti

cp [opzioni] fileorigine filedestinazione

Crea una copia del file di partenza sul file di destinazione.

-i

Aspetta una conferma, prima di soprascrivere un file di destinazione esistente.

-r

Copia in modo ricorsivo (includendo le sottodirectory)

mv [opzioni] fileorigine filedestinazione

Crea una copia del file di partenza nel file di destinazione e cancella il file originario.

-b

Crea una copia di sicurezza d fileorigine prima di spostarlo

-i

Aspetta eventualmente una conferma, prima di sovrascrivere un filedestinazione esistente

rm [opzioni] file

Elimina i file indicati dal file system. rm non cancella le directory, a meno che non aggiungiate il parametro -r.

-r

Cancella anche le sottodirectory.

-i

Aspetta una conferma prima di cancellare ogni file.

ln [opzioni] fileorigine filedestinazione

Crea sul file di destinazione un richiamo interno (“link”) al file di partenza, sotto un altro nome. Normalmente, questo richiamo riporta direttamente alla posizione esatta del file di partenza all'interno di un file system. Invece, immettendo il comando ln accompagnato dall'opzione -s, si crea un cosiddetto link simbolico che riporta solamente al path del file di partenza e funziona pertanto anche oltre i confini del file system.

-s

Crea un collegamento simbolico

cd [opzioni] directory

Passa da una directory ad un'altra. Inserendo solo cd, il programma vi fa passare nella home directory.

mkdir opzioni nomedirectory

Crea una nuova directory.

rmdir [opzioni] nomedirectory

Cancella la directory indicata solo se è già  vuota.

chown [opzioni] nomeutente.gruppo file

Cambia il proprietario di un file, mettendoci lo username indicato.

-R

Modifica i file e le directory in tutte le sottodirectory

chgrp [opzioni] nomegruppofile

Cambia il nome del gruppo che possiede un dato file con il nome del gruppo da voi indicato. Il proprietario del file può cambiare questo valore solo se è membro sia del gruppo precedente che del nuovo gruppo.

chmod [Opzioni] modo file

Modifica i diritti di accesso.

Il parametro modo ha tre parti: gruppo, accesso e tipo di accesso. gruppo accetta i seguenti caratteri:

u

utente

g

gruppo

o

tutti gli altri

+ e - sono accettati da accesso; il simbolo + permette l'accesso, il simbolo - lo impedisce.

Il tipo di accesso è controllato dalle seguenti opzioni:

r

lettura

w

scrittura

x

esecuzione – per eseguire i file o per entrare nella directory.

s

bit setuid – il programma viene avviato come se venisse eseguito dal proprietario del file.

Alternativamente, potete usare il codice numerico: le quattro cifre di questo codice risultano rispettivamente dalla somma dei valori 4, 2, e 1. Al primo posto, mettete la set user ID (4), la set group ID (2) e gli atttributi sticky (1). Al secondo posto, definite i diritti del proprietario del file; al terzo posto, i diritti dei membri del gruppo; l'ultimo valore, invece, determina i diritti di tutti gli altri utenti. Il diritto di lettura è codificato dal numero 4, quello di scrittura dal 2 ed il diritto di esecuzione dall'1. Il proprietario di un file, di solito, ottiene un valore di 7, che corrisponde alla somma di tutti i diritti.

gzip [parametri] file

Questo programma comprime il contenuto dei file per mezzo di una una complessa procedura matematica. I nomi dei file cosà compressi terminano con .gz e devono essere decompressi prima di potere essere usati. Per comprimere più file o intere directory, invece, si ricorre anche al comando tar.

-d

decomprime i file gzip compressi; questi ritornano alla loro dimensione originale e possono venire elaborati normalmente (corrisponde al comando gunzip).

tar opzioni nome archivio file

tar riunisce uno o (più solitamente) una serie di file in un unico “archivio”, che può in seguito essere compresso.

tar è un comando molto complesso che mette a disposizione un gran numero di opzioni. Qui sotto vi spiegheremo le opzioni usate più frequentemente.

-f

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

-c

Crea un nuovo archivio tar

-r

Aggiunge file ad un archivio già esistente

-t

Elenca il contenuto di un archivio

-u

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

-x

Estrae i file da un archivio eXtraction

-z

Comprime l'archivio creato con gzip

-j

Comprime l'archivio creato con bzip2

-v

Elenca i nomi di tutti i file elaborati

I file di archivio creati da tar terminano con .tar. Se l'archivio tar è stato anche compresso usando gzip, il suffisso è .tgz oppure .tar.gz. Se è stato compresso usando bzip2, il suffisso è .tar.gz, per bzip2 è .tar.bz2.

Potete trovare alcuni esempi nella Sezione 19.1.8, “Archiviazione e compressione dei dati”.

locate modelli

Questo comando è disponibile solo se avete installato il pacchetto findutils-locate. Con locate, potete scoprire in quale directory si trovi un determinato file. Potete anche usare i "caratteri jolly". Il programma lavora molto velocemente, perché non cerca lentamente nel filesystem, ma in una banca dati creata appositamente. Questo, tuttavia, è anche il tallone d'Achille di questo velocissimo comando, dal momento che, nella banca dati, non troverete i file creati successivamente al suo ultimo aggiornamento. Il database può essere generato da root tramite il comando updatedb.

updatedb [opzioni]

Questo comando vi permette di aggiornare la banca dati di locate. Per includervi tutti i file, dovrebbe essere l'utente root ad avviare il programma. Inoltre, vi conviene farlo eseguire in sottofondo aggiungendo, alla fine del comando, una “e” commerciale (&); in questo modo, potete continuare a lavorare anche voi (updatedb &). Questo comando viene eseguito di solito come job di cron quotidiano (si veda cron.daily).

find [opzioni]

Con il comando find, potete cercare un file in una determinata directory. Il primo argomento indica la directory da cui debba partire la ricerca. L'opzione -name ha bisogno di una stringa da cercare, la quale potrà  contenere anche le "wildcard". Al contrario di locate, find va a cercare il file nella directory e non in una banca dati propria.

19.3.1.2. Comandi del contenuto

cat [opzioni] file

Il comando cat stampa senza interruzione il contenuto del file indicato.

-n

Aggiunge sul bordo sinistro i numeri di riga

less [opzioni] file

Questo comando vi permette di percorrere il contenuto del file indicato. Ad esempio, con i tasti PagGiù e PagSu, potete far scorrere una mezza pagina in avanti ed indietro, mentre, con la barra dello spazio, saltate di una pagina intera. Inoltre, con Pos1 o Fine, passate rispettivamente all'inizio e alla fine del file. Con Q, si chiude il programma.

grep [comandi] lemma nomefile

grep serve a trovare un determinato lemma nei file indicati. Se la ricerca ha successo, grep indica la riga in cui ha trovato il lemma e anche il nome del file.

-i

Ignora le differenze tra maiuscole e minuscole

-H

Indica solo il nome del file corrispondente, ma non la riga del testo

-n

Indica anche il numero delle righe in cui si trova il lemma

-l

Elenca solo i file in cui lemma non appare

diff [opzioni] file1 file2

Il comando diff è stato creato per confrontare il contenuto di due file e visualizzarne le righe modificate, in forma di elenco. Questo comando viene spesso usato dai programmatori che in questo modo possono scambiarsi solo le loro modifiche dei programmi e non l'intero codice sorgente.

-q

Comunica solo se i due file indicati differiscono

-u

Produce un diff “unified” per un output comodamente leggibile

19.3.1.3. Filesystem

mount [opzioni] [dispositivo] punto di mount

Questo comando vi permette di montare qualsiasi lettore o supporto dati nel filesystem. "Montare" significa integrare disci rigidi, CD-ROM e altre unità  in una directory del filesystem di Linux.

-r

montare solo per la lettura read-only.

-t filesystem

indica il filesystem. I più usati sono: ext2 per i dischi rigidi di Linux, msdos per i dispositivi MS-DOS, vfat per il filesystem di Windows e iso9660 per i CD.

Per i dischi rigidi che non sono definiti nel file /etc/fstab, dovete indicare anche il tipo di dispositivo. In questo caso, solo l'utente root può montare. Se il filesystem deve essere montato anche da altri utenti, indicate , nell'apposita riga del file /etc/fstab, l'opzione user (separata da virgole) e salvate questa modifica. Per maggiori dettagli, vi preghiamo di consultare la voce mount(1).

umount [opzioni] puntodimount

Questo comando estrae un qualsiasi dispositivo dal filesystem. Date questo comando prima di rimuovere un supporto di dati dal lettore, altrimenti rischiate di perdere i dati del supporto. Sia mount, che umount possono essere eseguiti solo da root, a meno che non si specifichi l'opzione user nel file /etc/fstab.

19.3.2. Comandi di sistema

Nella seguente sezione elencheremo alcuni dei principali comandi per recuperare delle informazioni sul sistema nonché per il controllo dei processi di sistema e della rete.

19.3.2.1. Informazioni

df [opzioni] [directory]

Il comando df disk free chiamato senza opzioni, mostra i dati relativi a tutto lo spazio disco, allo spazio disco occupato e allo spazio disponibile su tutte le unità  montate. Se invece specificate una directory, verranno mostrate le informazioni relative all'unità  su cui si trova la directory.

-h

mostra il numero dei blocchi occupati in Gigabyte, Megabyte o Kilobyte — in formato umanamente leggibile

-T

tipo dell'unità  (ext2, nfs, ecc.).

du [opzioni] [percorso]

Questo comando, immesso senza parametri, mostra lo spazio totale del disco usato da tutti i file contenuti nella directory corrente. Se esistono sottodirectory, vengono mostrate anche le loro dimensioni.

-a

Indica la dimensione di ogni singolo file

-h

Visualizzazione in forma umanamente leggibile

-s

Indica solo la dimensione totale calcolata

free [opzioni]

free indica l'insieme della memoria totale, della RAM e della memoria di swap.

-b

Indicazione in byte,

-k

Indicazione in kilobyte,

-m

Indicazione in megabyte

date [opzioni]

Questo piccolo programma indica l'ora attuale del sistema. L'utente root può usare questo comando anche per cambiare l'ora del sistema. Potete trovare ulteriori dettagli nella manpage (date(1)).

19.3.2.2. Processi

top [opzioni]

top elenca i processi attualmente in esecuzione. Premete H ed otterrete una spiegazione delle opzioni più importanti che permettono di adattare il programa alle necessità  individuali dell'utente.

ps [opzioni] [ID processo]

Immesso senza opzioni, questo comando fornisce una tabella di tutti i vostri processi, cioè quei programmi o processi avviati da voi. Attenzione: le opzioni di questo comando non hanno bisogno di essere precedute da un trattino.

aux

Fornisce un elenco dettagliato di tutti i processi, indipendentemente dal proprietario.

kill [opzioni] ID processo

Può succedere che non si riesca più a chiudere un programma. Specificate l' ID di processo (vd. top e ps) quindi eseguite kill per “fredderà” tutti quei processi “duri a morire”. Tale comando invia un cosiddetto segnale TERM che ingiunge al programma di terminare le proprie operazioni. Se ciò non dovesse funzionare, esiste un parametro più utile:

-9

Invia un segnale KILL al posto di un segnale TERM terminando nella maggioranza dei casi il processo specificato.

killall [opzioni] nomeprocesso

Questo comando funziona in maniera simile a kill, con la differenza che gli basta il nome del processo (e non l'ID) per terminare tutti i processi con quel nome.

19.3.2.3. Reti

ping [opzioni] nomehost o indirizzo IP

Non c'è niente di meglio di ping per verificare il funzionamento delle reti TCP/IP. Questo programma invia un piccolo pacchetto di dati ad un altro computer con l'ordine di rimandarlo subito indietro. Se funziona, ping vi comunica che la vostra rete è in grado di trasmettere e ricevere.

-c

numero stabilisce il numero totale dei pacchetti da spedire e il programma termina dopo il loro invio. Se non si specifica questa opzione, non vi è alcun limite prestabilito.

-f

flood ping, ossia inondazione ping invia la maggior quantità  possibile di pacchetti di dati. E' un buon metodo, riservato a root, per controllare le reti.

-i

valore stabilisce l'intervallo in secondi fra due pacchetti di dati; di solito si tratta di un secondo.

nslookup

Per trasformare il nome di un dominio in un indirizzo IP, ecco a voi il Domain Name System. Questo strumento vi consente di contattare irelativi servizi di informazione (server DNS).

telnet [opzioni] hostname/indirizzo IP

Telnet, comunque, è anche il nome di un programma Linux che interpreta proprio questo protocollo e vi rende possibile lavorare con altri computer senza dover sedere davanti ad essi.

[Warning]Avvertimento

Fate attenzione, tuttavia, a non usare telnet su reti che possono venire intercettate da altre persone. Soprattutto su Internet, è bene usare metodi di trasmissione cifrati, come ssh, per evitare il rischio di un uso improprio della vostra password (consultate la pagine di manuale di ssh).

19.3.2.4. Varie

passwd [opzioni] [nomeutente]

Ogni utente può cambiare in qualsiasi momento la propria password con questo comando. Anche il superutente root può usarlo per cambiare la password di qualsiasi utente.

su [opzioni] [nomeutente]

su vi permette di cambiare utente durante la sessione. Senza altri parametri, il comando vi chiede la password di root e, se la immettete correttamente, vi fornisce i diritti di superutente. Inoltre, indicando il nome di un utente e la sua password corretta, potete lavorare a suo nome. Per inciso, l'utente root non ha bisogno di questa password, dal momento che può assumere l'identità  di qualunque utente. Se utiizzate il comando senza specificare un nome utente vi verrà chiesta la password di root per diventare il superuser (root).

halt [opzioni]

Se non volete perdere dati, vi consigliamo di usare sempre questo programma per spegnere gradualmente il vostro computer.

reboot [opzioni]

Funziona allo stesso modo di halt, con la differenza che riavvia subito il sistema.

clear

Se la console di testo vi è diventata troppo piena, “ripulitela” con questo comando. E' un comando senza opzioni.


SUSE LINUX Manuale dell'utente 9.3