## Se sei agli inizi con Linux/UNIX

2000
Alexander Kirillov

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Molti dei nomi usati dalle compagnie per distinguere i propri prodotti sono registrati come marchi. Quando questi appaiono nella documentazione di GNOME e non appartengono a membri del GNOME Documentation Project vengono scritti in maiuscolo oppure con la prima lettera maiuscola.

## Introduzione

Uno degli obbiettivi di GNOME è quello di rendere il vostro computer facile da usare, senza richiedere la conoscenza di dettagli tecnici del vostro sistema operativo. Nonostante tutto rimangono alcune nozioni relative a UNIX che dovrebbero diventarvi familiari anche se usate la semplice interfaccia grafica di GNOME. Per venire incontro ai nuovi utenti questo documento raccoglie queste nozioni di base. Se avete necessità di ulteriori informazioni su UNIX dovreste leggere la documentazione provvista insieme al vostro sistema, oppure uno dei tanti libri e di guide che si trovano on-line disponibili per tutte le versioni di UNIX.

La seguente guida è valida per tutte le versioni di UNIX e tutti i sistemi operativi a questo assimilabili, compresi sia gli UNIX commerciali come Solaris e sistemi open-source come FreeBSD e Linux. Alcune parti di questo testo sono tratte dalla guida Linux Installation and Getting Started di Matt Welsh, Phil Hughes, David Bandel, Boris Beletsky, Sean Dreilinger, Robert Kiesling, Evan Leibovitch, e Henry Pierce. Questa guida è disponibile sia per essere scaricata che consultata in linea al link Linux Documentation Project o Open Source Writers Group.

## Utenti

UNIX è un sistema operativo multi-utente, cioè è stato progettato per permettere a più utenti di operare sullo stesso computer, sia contemporaneamente (mediante diversi terminali o connessioni di rete), sia alternativamente. Usando UNIX per identificarsi nel sistema dovete effettuare il log-in, che significa immettere il vostro nome di login (cioè il nome usato dal sistema per identificarvi) e successivamente la vostra password, cioè la vostra chiave personale per entrare nel sistema. Poiché solo voi conoscete la vostra password nessun altro la potrà usare per entrare a vostro nome nel sistema. Normalmente si usa scegliere il proprio nome o il proprio cognome o variazioni di questi come nome di login: così se ad esempio il vostro nome reale è Sasha Beilinson il vostro nome potrebbe essere sasha.

Ogni utente ha uno spazio separato per tenere i propri file personali (detta la sua home directory). UNIX possiede un sistema di permessi (vedi ), in modo che, se il sistema non è mal configurato, un utente non ha la possibilità di cambiare i file del sistema o di altri utenti. Questo permette inoltre ad ogni utente di personalizzare molti aspetti del sistema — in particolare il comportamento di GNOME — senza influire sugli altri utenti.

Su molti sistemi UNIX esiste anche un utente speciale, detto amministratore del sistema che usa il login root. Questi ha il controllo completo del sistema — compreso il completo accesso a tutti i file di sistema e quelli di tutti gli utenti; ha la possibilità di cambiare la password degli utenti esistenti, di aggiungere nuovi utenti, installare e disinstallare il software e molto altro. Normalmente l'amministratore è il responsabile del corretto funzionamento del sistema, così se avete problemi dovete chiedere a lui.

### IMPORTANTE

Anche se siete l'unico utente del vostro computer (ad esempio se questo è la vostra workstation personale), cioè siete anche l'amministratore, è importante che creiate un account normale e che lo usiate per il lavoro quotidiano, usando l'accesso come root solo quando realmente necessario per la manutenzione del sistema; visto che root può fare tutto è facile combinare pasticci che possono avere conseguenze disastrose. Immaginatevi l'accesso di root come una sorta di incantesimo che vi dona un potere immenso con il quale, solo muovendo le mani, potete creare o distruggere intere città, e visto che è molto semplice muovere le mani, anche in maniera pericolosa, non è una buona idea di invocare questa magia quando non necessario anche se la sensazione di potere può apparire meravigliosa.

## File e nomi dei file

Come in molti altri sistemi operativi anche in UNIX esiste il concetto di file, che è un insieme di informazioni a cui viene dato un nome (il nome file). Esempi di file possono essere la vostra ricerca di storia, un messaggio di posta elettronica o un programma che può essere eseguito, ma essenzialmente tutto ciò che si trova sul disco è salvato su un file individuale.

### Nomi dei file

I file vengono identificati dal loro nome; ad esempio il file che contiene il testo del vostro intervento alla conferenza potrebbe essere salvato con il nome `talk.txt`. Non esiste un formato standard per i nomi dei file come nell'MS-DOS e in altri sistemi operativi; in generale un nome di file può contenere qualsiasi carattere (eccetto il carattere / — vedi la discussione sui nomi dei path più avanti) ed è limitato a 256 carattere.

#### IMPORTANTE

A differenza dell'MS-DOS, i nome dei file in UNIX sono sensibili alle maiuscole (in gergo si dice case-sensitive): `miofile.txt` e `MioFile.txt` vengono considerati come due file differenti.

Dovreste anche conoscere alcune convenzioni tipiche di UNIX, per le quali, pur non essendo obbligatorie, è buona norma seguirle.

- la prima è quella di usare il formato `nome.estensione`, dove l'estensione indica il tipo di file; ad esempio l'estensione `txt` è normalmente usata per i file contenenti testo semplice, mentre l'estensione `jpeg` è usata per le immagini nel formato JPEG e via così. In particolare il File Manager di GNOME Nautilus) usa le estensioni per determinare il tipo del file. Potete vedere o modificare le estensioni riconosciute da GNOME selezionando la sezione Document Handlers Tipi MIME nell'Pannello di controllo di GNOME. Notate che la convenzione standard in UNIX è di non usare alcuna estensione per i programmi eseguibili (cioè i file dei programmi).

- I file e le directory il cui nome comincia con un punto (.) sono normalmente file di configurazione; ad esempio GNOME tiene tutte le sue impostazioni in molti file contenuti nella directory `.gnome` e `.gnome-desktop` nella home directory dell'utente. Poiché normalmente non c'è necessità di modificare questi file direttamente e neanche di conoscere i loro nomi e posizioni precisamente Nautilus non li mostra sempre (così come tutti gli altri file manager, NDT); è possibile modificare questo comportamento come descritto nel Manuale di Nautilus.

- i file il cui nome termina con una tilde (~) sono normalmente file di backup creati dalle applicazioni; ad esempio quando modificate un file `miofile.txt` con emacs, questo salva la versione precedente nel file `miofile.txt~`.

### Metacaratteri

Quando date comandi dalla linea di comando potete usare i cosiddetti metacaratteri (in inglese wildcards) invece del nome del file esatto. Il metacarattere più comune è l'asterisco (*), il quale comprende ogni sequenza di simboli, compresa una stringa vuota: ad esempio il comando `ls *.txt` mostrerà tutti i file con estensione `txt`, mentre il comando `rm chapter*` cancellerà tutti i file il cui nome comincia con `chapter` (`ls` e `rm` sono i comandi di UNIX per elencare ed eliminare i file). Un altro metacarattere molto utile è il punto interrogativo (?) il quale comprende ogni singolo simbolo: ad esempio `rm chapter?.txt` eliminerà i file `chapter1.txt` e `chapter2.txt` ma non `chapter10.txt`.

La maggior parte dei nuovi utenti di GNOME preferiscono usare il File Manager di GNOME per operare con i file invece che lavorare direttamente dalla linea di comando. I metacaratteri possono essere usati anche da Nautilus nelle finestre di dialogo seleziona e mostra.

### Usare gli spazi, le virgole e altro nei nomi dei file

Come detto prima un nome di file può non contenere solo lettere e numeri ma anche spazi, virgole e quant'altro — in pratica ogni carattere tranne lo slash (/). Comunque se state lavorando con questi file usando la riga di comando dovete porre particolare attenzione perché per evitare problemi dovete usare le virgolette semplici (queste -> ') per indicare i nomi che contengono caratteri che non siano semplici lettere, numeri o punti: per cancellare il file `My file` dovete digitare `rm 'My file'` invece che `rm My file`.

Naturalmente se invece state usando un programma grafico come il File Manager di GNOME per cancellare il file basta che lo trasciniate nel cestino.

## Directory e percorsi

### Struttura delle directory

Affrontiamo adesso il concetto di directory. Una directory è un insieme di file. Può essere pensata come una cartella contenente tanti fogli. A queste directory vengono assegnati dei nomi per identificarle. Inoltre vengono tenute in una struttura ad albero di modo che delle directory possano contenerne altre. La directory iniziale viene chiamata directory root e viene indicata con il simbolo `/` e contiene tutti i file del vostro sistema.

#### Persorsi

Un percorsi è il nome completo di un file, contenente cioè non solo il nome ma anche la sua posizione; è costituito dal nome del file, preceduto dalla directory che lo contiene preceduta a sua volta dalla directory che contiene questa e via così. Un percorso tipico è `/home/sasha/talk.txt` che indica il file `talk.txt` nella directory `sasha` la quale a sua volta è una sotto-directory di `/home`.

Come potete vedere, la directory e il nome del file vengono separate da una slash singola (/); per questa ragione i nomi dei file non possono contenere il carattere slash (/). Gli utenti che provengono dal sistema operativo MS-DOS troveranno familiare questa convenzione, anche se in quel sistema operativo veniva invece usata la back-slash (\). La directory che contiene quella attuale viene chiamata la directory superiore. Ad esempio in questo caso la directory `home` è la directory superiore di sasha.

Ogni utente ha una propria home directory che normalmente è la directory che contiene tutti i file personali dell'utente; normalmente queste directory si trovano dentro di `/home` e prendono il nome dall'utente proprietario così che la home directory dell'utente sasha sarà `/home/sasha`.

### Nomi relativi delle directory

In ogni momento i comandi inseriti vengono considerati relativi alla vostra directory corrente, la quale la potete pensare come la directory in cui trovate in quel momento. Quando entrate nel sistema all'inizio la directory corrente è la vostra home directory — per il solito utente sasha sarà `/home/sasha`. Ogni volta che dovete riferirvi ad un file potete farlo riferendovi alla vostra directory corrente invece che specificarne il percorso completo.

Ad esempio se la vostra directory corrente è `/home/sasha`, e qui avete un file chiamato `talk.txt` potete farci riferimento solo con il suo nome: il comando `emacs talk.txt` dato dalla directory `/home>sasha` è equivalente a `emacs /home/sasha/talk.txt` (emacs è un potente editor per file di testo, forse poco indicato per nuovi utenti che possono preferire cose più semplici come gnotepad, ma per gli utenti avanzati emacs risulta indispensabile).

Allo stesso modo, se in `/home/sasha` avete una sotto-directory chiamata `papers` nella quale si trova il file chiamato `fieldtheory.txt`, potete riferirvi a questo come `papers/fieldtheory.txt`.

Se il primo carattere che usate quando vi riferite ad un file non è lo slash (/) (come `papers/fieldtheory.txt`) allora state usando un percorso relativo, cioè il nome è relativo alla directory corrente. In altre parole se iniziate il nome del vostro file con il carattere slash (/) il sistema lo interpreta come un percorso completo — cioè un percorso che comprende l'indirizzo completo fino al file partendo dalla directory root /. Questo modo di indicare i file si dice percorso assoluto.

### Convenzioni sui percorsi

Di seguito alcune convenzioni standard usate negli indirizzi:

`~/` — la directory home dell'utente

`./` — la directory corrente

`../` — parent of the current directory

Ad esempio se la directory corrente di sasha è `/home/sasha/papers`, si può riferire al file `/home/sasha/talk.txt` come `~/talk.txt` oppure come `../talk.txt`.

## Permessi

Ogni file sul vostro sistema ha un proprietario (NDT: owner in inglese) — uno degli utenti (normalmente quello che ha creato effettivamente il file stesso) e un sistema di permessi che regolano l'accesso al file.

Per il file normali esistono tre tipi di permessi di accesso: lettura (read), scrittura (write) ed esecuzione (execute), il quale ha senso solo per i file eseguibili). Questi permessi possono essere impostati separatamente per tre categorie di utenti: il proprietario del file, gli utenti del gruppo che possiede il file e tutti gli altri. L'argomento dei gruppi di utenti va al di là degli scopi di questo scritto e gli altri due si spiegano da soli.. In questo modo, se i permessi sul file `/home/sasha/talk.txt` sono impostati per leggere e scrivere per l'utente sasha, che ne è anche il proprietario, e di sola lettura per tutti gli altri solo sasha potrà modificarlo.

Ogni file appena creato "eredita" i permessi standard, normalmente lettura e scrittura per l'utente e sola lettura per tutti gli altri. Potete visualizzare questi permessi usando il File Manager di GNOME cliccando sopra al file con il tasto destro e scegliendo Proprietà nel menù a comparsa e poi la voce Permessi. Usando questa finestra di dialogo potete anche cambiare i permessi — basta cliccare su un quadratino che rappresenta un permesso per modificarlo. Naturalmente solo il proprietario del file o l'amministratore possono cambiare i permessi di un file. Gli utenti avanzati possono anche cambiare i permessi standard che vengono assegnati a tutti i nuovi file — leggete la pagina del manuale della vostra shell predefinita (normalmente `bash`, `csh` o `tcsh`) e cercate il comando `umask`.

Un file può anche avere permessi con speciali proprietà come UID, GID e il bit sticky che servono solo per gli utenti avanzati — non li cambiate a meno che non sappiate esattamente quello che fate. (Se siete curiosi: questi permessi sono usati normalmente sui file eseguibili per permettere ad utenti normali di eseguire alcuni comandi che devono leggere o modificare file a cui l'utente stesso normalmente non potrebbe accedere).

Così come i file anche le directory hanno i permessi con le stesse tre possibilità: lettura, scrittura ed esecuzione. Nel caso delle directory però questi tre permessi hanno significati diversi: il permesso di scrittura per una directory significa la possibilità di elencare i file presenti nella directory oppure di effettuarvi ricerche; il permesso di scrittura significa la possibilità di creare ed eliminare file all'interno della directory e il permesso di esecuzione dà la possibilità di accedere ai file della directory.

Notate che i permessi dati ad un file dipendono dai permessi associati alla directory nella quale si trova il file: per poter leggere un file l'utente deve avere il permesso di scrittura sul file stesso e il permesso di esecuzione per la directory. In questo modo, nel caso in cui l'utente sasha non vuole che nessun altro possa vedere i suoi file può semplicemente eliminare il permesso di esecuzione per la sua directory home per tutti gli altri utenti; nessun altro (escluso chiaramente l'amministratore) potrà così leggere i suoi file, indipendentemente dai permessi di questi.

Una spiegazione dettagliata del sistema di permessi può essere letta, ad esempio nella pagina info del pacchetto GNU File Utilities.

## Link simbolici

Oltre ai file regolari, Unix possiede anche dei file speciali chiamati link simbolici (in inglese/gergo symlinks), file che non contengono dati ma che sono soltanto puntatori o scorciatoie ad altri file. Ad esempio sasha può avere un symlink chiamato `ft.txt` che punta al file `papers/fieldtheory.txt` in modo che, quando un programma accede al file `ft.txt` verrà aperto invece l'altro file `papers/fieldtheory.txt`. Come potete capire dall'esempio, i link simbolici e i file reali possono avere nomi differenti e possono trovarsi in directory diverse.

Notate che cancellare, muovere o cambiare nome ai link simbolici non ha alcun effetto sui file reali: se sasha prova a cancellare il file `ft.txt` verrà cancellato il link simbolico ma il file `papers/fieldtheory.txt` rimarrà invece invariato. Allo stesso modo i permessi sui link simbolici non hanno significato per gli altri perché sono i permessi su quest'ultimi a determinare se un utente può o meno accedervi.

I link simbolici possono puntare anche alle directory; ad esempio nel server FTP di GNOME(ftp.gnome.org) c'è un file `/pub/GNOME/stable/releases/october-gnome`, che è semplicemente un link simbolico alla directory `/pub/GNOME/stable/releases/gnome-1.0.53` — come avrete capito October GNOME è solo un altro nome per la versione 1.0.53 di GNOME.

## Montare e smontare i dischi

Come abbiamo accennato prima, le directory di un sistema Unix vengono organizzate secondo una struttura ad albero, struttura nella quale il livello più basso è rappresentato dalla directory `/`. A differenza di altri sistemi operativi, come ad esempio l'MS-DOS, non esistono dei nomi speciali per i file presenti sul vostro disco floppy o sul vostro CD-ROM: tutti i file accessibili dal vostro sistema devono apparire nella struttura delle directory che parte dalla root `/`.

Per questa ragione, prima di poter accedere ai file presenti su un dischetto floppy o su un CD-ROM dovete dare al vostro sistema un comando per incorporare il contenuto di questi dischi nella directory principale, comando che viene detto montare il dischetto (o il CD-ROM). Potete pensare questo comando come ad un'analogia con il collegamento hardware del lettore al vostro computer. Normalmente il contenuto del CD-ROM apparirà sotto il nome `/mnt/cdrom`, il floppy sotto `/mnt/floppy`, directory che vengono chiamate mount point e che vengono definite in un file di configurazione speciale, `/etc/fstab`. Questo non significa però che il sistema copi il contenuto del CD-ROM o del floppy nelle directory suddette, ma che rappresenta il contenuto di questi dentro quella directory: ad esempio, se un programma prova a leggere il file `/mnt/cdrom/index.html` il sistema cercherà il file index.html presente nel CD-ROM.

In breve, prima che possiate accedere ai file presenti su un lettore removibile come un CD-ROM o un floppy, dovete montare questi dispositivi. E di conseguenza prima di poter togliere i dischi da questi lettori dovete smontarli.

Quando usate GNOME normalmente non dovete preoccuparvi di montare e smontare i dischi perché GNOME legge i file di configurazione e mette le icone di tutti i dischi sulla scrivania. In questo modo cliccando sopra l'icona verranno automaticamente montati i dischi corrispondenti, sempre che non siano già stati montati e avvia il file manager nella giusta directory; cliccando invece con il tasto destro del mouse e scegliendo il comando Espelli il disco dal menù a comparsa GNOME smonterà il disco e poi lo espellerà. È possibile anche montare o smontare un disco sempre cliccando sopra l'icona corrispondente e scegliendo Monta il disco o Smonta il disco dal menù a comparsa oppure usando l'applet MontaDischi.

Notate che non potete smontare un disco se questo è in uso da parte di qualche programma; ad esempio se avete una finestra terminale aperta su una directory del disco che volete smontare otterrete il messaggio d'errore device occupato se provate a smontarlo.

In ogni caso GNOME non può impedirvi di espellere un disco usando il bottone fisico d'espulsione — in questo caso è vostra responsabilità smontare il disco prima di espellerlo. Per alcuni CD e per i dischi ZIP il sistema blocca il bottone d'espulsione se il disco è montato ma per i floppy questo è tecnicamente impossibile.

### NDT:

almeno nei computer del tipo PC-Compatibile

### IMPORTANTE

Se espellete un floppy usando il bottone del lettore senza smontarlo prima potreste perdere i vostri dati.

Alcuni sistemi possono avere in esecuzione programmi come supermount o magicdev con i quali i dischi vengono montati automaticamente quando viene inserito un disco e smontati quando non vengono più usati per un certo periodo; in questo caso non dovrete preoccuparvi di montare o smontare i dischi e neanche di leggere questa sezione di questo manuale.

Permettere agli utenti di montare e smontare i dischi può portare alcuni problemi di sicurezza; per questa ragione molti sistemi sono configurati in modo che solo l'utente root possa compiere queste azioni. Questa è la ragione più probabile dei messaggi di errore che ottenete quando provate a montare un disco, della qual cosa dovete informare il vostro amministratore di sistema.

Se il computer in questione è la vostra workstation personale o il vostro computer casalingo e non siete particolarmente preoccupati dei problemi legati alla sicurezza potete dare il permesso di montare e smontare i dischi agli utenti ordinari. Il modo più semplice è quello di usare il programma linuxconf (che però può essere usato solo da root). Selezionate il disco che volete far montare e smontare ai vostri utenti nella sezione Access local drive; nella sotto-sezione Opzioni selezionate l'opzione User Mountable. A questo punto il disco potrà essere montato dagli utenti.

Se non avete a disposizione linuxconf dovete modificare da soli il file `/etc/fstab` per permettere l'uso da parte degli utenti; aggiungete l'attributo user al disco. Ad esempio:

se il vostro file `fstab` contiene una linea simile a:

    /dev/cdrom /mnt/cdrom iso9660 exec,dev,ro,noauto 0 0

aggiungete la parola user nella quarta colonna:

    /dev/cdrom /mnt/cdrom iso9660 user,exec,dev,ro,noauto 0 0

## Dischi e dispositivi (device)

Nei Sistemi Operativi della famiglia Unix la parola dispositivo (ma è molto più diffusa, conosciuta ed usata la corrispondente parola inglese device) viene usata per indicare tutte le periferiche connesse al vostro computer, comprendendo perciò hard-disk, lettori CD-Rom, schede video e audio, porte seriali e parallele e molto altro. Ogni dispositivo ha un nome proprio come ad esempio `/dev/hda`. Elenchiamo i nomi dei dispositivi più comuni (usati per Linux perché altri Unix usano nomi differenti):

- `/dev/hd*` (dove *=a,b,c, …): sono i dispositivi connessi al bus IDE, come ad esempio gli hard-disk, i lettori di CD-Rom e ZIP che usano questo tipo di bus. Il nome `/dev/hda` indica il primo disco del controller IDE (normalmente il disco denominato master o anche disco `C:` sotto Windows), `/dev/hdb` è il disco slave, cioè il secondo disco del primo canale del controller, disco che può anche essere un lettore CD-Rom e via così. Vedi anche la nota più avanti a proposito dei dischi ZIP.

- `/dev/sd*` (dove *=a,b,c, …): sono i dispositivi connessi al bus SCSI, normalmente hard-disk.

### NOTA

Se le sigle IDE e SCSI sono per voi sconosciute questa è una breve spiegazione. Esistono due tipi di interfacce per gli hard-disk e altri dispositivi simili: IDE (e i suoi cuginetti come EIDE, ATAPI ed altri) e SCSI. La seconda offre maggiori prestazioni ma è più costosa e viene usata principalmente sui server, per cui se non sapete quale tipo abbiate voi a disposizione molto probabilmente state usando IDE.

- `/dev/fd*` (dove *=0,1, etc) sono i lettori dei floppy: `/dev/fd0` è il primo lettore (che corrisponde al disco `A:` di Windows), `/dev/fd1` è il secondo (`B:` di Windows), e via così.

- `/dev/lp*` (dove *=0,1, etc) sono le porte parallele. Comunemente queste porte vengono usate per connettere le stampanti al computer. `/dev/lp0` corrisponde a `LPT1` di Windows, `/dev/lp1` a `LPT2`, e via così.

- `/dev/ttyS*` (dove *=0,1, etc) sono le porte seriali, usate comunemente per connettere mouse oppure modem. `/dev/ttyS0` corrisponde a `COM1` di Windows, `/dev/ttyS1` a `COM2`, e via così.

- `/dev/audio` and `/dev/dsp` — questi due nomi di dispositivi vengono usati tutti e due per la scheda audio, ma senza equivalenza perché vengono usati per due differenti tipi di file sonori.

È uso comune avere dei link simbolici come `/dev/floppy`, `/dev/modem` e `/dev/cdrom` che puntano al dispositivo reale corrispondente al vostro lettore floppy, al modem e al lettore di CD-Rom rispettivamente.

Dovrete usare questi nomi raramente poiché se volete accedere ad un file che si trova su un floppy non dovrete usare il dispositivo (come, nel nostro esempio, `/dev/fd0` oppure `/dev/floppy` quale che sia) ma dovrete prima montare il dispositivo così da poter vedere il suo contenuto dentro ad una sotto-directory (che potrà essere ad esempio `/mnt/floppy` oppure `/floppy`) nella directory principale; vedi anche per maggiori informazioni. Molto probabilmente dovrete usare questi nomi solo quando dovrete configurare un nuovo programma; ad esempio un programma per spedire fax potrebbe chiedervi il nome del dispositivo del vostro modem, che potrebbe essere `/dev/ttyS1` oppure il link simbolico `/dev/modem`.

In puro spirito Unix esiste anche un dispositivo `/dev/null` che funziona esattamente come un buco nero poiché tutto ciò che viene inviato a questo viene completamente cancellato. Ad esempio, se non volete essere disturbati dai messaggi di errore potete inviarli a `/dev/null` e non li vedrete più -:).

### Partizioni

È possibile suddividere un hard-disk (o altri dispositivi simili) in parti che si comportano in tutti gli usi come dischi differenti anche se fisicamente stanno si tratta dello stesso disco. Queste parti vengono chiamate partizioni (Windows usa il nome dischi logici). Ad esempio è possibile suddividere un solo disco in diverse partizioni ed installare in ognuna diversi sistemi operativi poiché è possibile formattare ogni partizione in modo indipendente l'una dalle altre. Questo partizionamento viene normalmente fatto all'atto dell'installazione dei sistemi operativi; seguite le istruzioni di installazioni per maggiori informazioni.

Se il vostro hard-disk è stato partizionato ogni partizione viene considerata come un disco diverso: ad esempio se `/dev/hda` è il vostro disco principale allora la prima partizione è `/dev/hda1`, la seconda `/dev/hda2` e via così.

#### Partizionamento dei dischi ZIP

Per ragioni a noi sconosciute i dischi ZIP pre-formattati usando i programmi per Windows della ditta IOMEGA produttrice di questi dischi, sono partizionati in modo al quanto strano: hanno al loro interno una sola partizione (di tipo Windows, chiaramente) che però ha il numero 4. Così se il vostro lettore di dischi ZIP è `/dev/hdc`, il dispositivo corretto che dovrete usare è `/dev/hdc4`.

## Interfacce utente grafiche: X Window System, gestori di finestre e ambienti di desktop

Unix è un sistema modulare, che consiste cioè di molti componenti che possono essere scelti dall'utente (o dall'amministratore del sistema) a seconda dei gusti e delle necessità. In particolare ci sono molti livelli di software responsabili dell'interfaccia grafica, livelli che sono l'X Window System, i gestori di finestre e gli ambienti di desktop.

L'X Window System (conosciuto anche semplicemente come X o X11) è il componente di Unix che gestisce tutti i livelli grafici di base — in particolare disegna le icone, gli sfondi e le finestre dove girano i programmi. Senza X potete usare solo l'interfaccia grafica. X11 imposta la risoluzione dello schermo, la quantità di colori disponibili, muove il cursore del mouse nello schermo e altro; serve cioè come base per tutti gli altri componenti dell'interfaccia utente grafica come i gestori di finestre e gli ambienti di desktop.

I gestori di finestre estendono la possibilità dell'X Window System disegnando bordi e bottoni intorno alle finestre, permettendo così all'utente di muovere, chiudere, nascondere e ridimensionare le finestre. Normalmente X11 deve essere usato sempre insieme ad un gestore di finestre perché senza uno di questi rimane quasi inutilizzabile. Esistono molti gestori di finestre per X11, dei quali i più conosciuti sono fvwm, mwm, kwm (usato da KDE), Enlightenment, e Sawfish.

Infine ci sono gli ambienti di desktop che vanno un passo avanti dei gestori di finestre in quanto aggiungono un file manager grafico dal quale potete usare il metodo drag-n-drop sui vari elementi, un pannello contenente i programmi maggiormente usati e un insieme di programmi e di utilità. Esistono alcuni ambienti di desktop disponibili per tutte le versioni di Unix, delle quali le più conosciute sono GNOME, KDE e CDE (che però verrà presto rimpiazzato da GNOME).

Molti ambienti di desktop usano un gestore di finestre loro proprio: ad esempio KDE contiene il suo gestore di finestre kwm (anche se è possibile usare KDE con un altro gestore di finestre nella pratica ben pochi utenti lo fanno). GNOME non ha invece un proprio gestore di finestre, il che permette ad ogni utente di usare quello già installato nel sistema. Per rendere le cose più semplici possibili normalmente il gestore di finestre Sawfish viene distribuito insieme a GNOME come predefinito ma potete cambiarlo usando il Pannello di Controllo, anche se dovete usare un gestore che sia compatibile con GNOME per poter usare alcune caratteristiche come la gestione delle sessioni, l'applet taskbar e altro.