summaryrefslogtreecommitdiffstats
path: root/gnome-users-guide/gnome-users-guide-1.4/it/unix-primer.sgml
blob: 16742e686da8a89f803ba11eae96e985971fa28a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
<appendix id="newbies" label="A">

    <title>Se sei agli inizi con Linux/UNIX</title>
 
    <para>
      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.
    </para>

    <para>
      La seguente guida è valida per tutte le versioni di UNIX e tutti i sistemi
      operativi a questo assimilabili, compresi sia gli UNIX commerciali come
      <systemitem>Solaris</systemitem> e sistemi open-source come
      <systemitem>FreeBSD</systemitem> e <systemitem>Linux</systemitem>. Alcune
      parti di questo testo sono tratte dalla guida <citetitle>Linux
      Installation and Getting Started</citetitle> 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 <ulink
      url="http://www.linuxdoc.org" type="http">Linux Documentation
      Project</ulink> o <ulink url="http://www.oswg.org">Open Source Writers
      Group</ulink>.
    </para>

  <sect1 id="new-users">
    <title>Utenti</title> 
    <para>
      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 <emphasis>nome di
      login</emphasis> (cioè il nome usato dal sistema per identificarvi) e
      successivamente la vostra <emphasis>password</emphasis>, 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
      <systemitem>sasha</systemitem>.
    </para>
    <para>
      Ogni utente ha uno spazio separato per tenere i propri file personali
      (detta la sua <emphasis>home directory</emphasis>). UNIX possiede un
      sistema di permessi (vedi <xref linkend="permissions">), 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 &mdash; in
      particolare il comportamento di GNOME &mdash; senza influire sugli altri
      utenti.
    </para>
    <para>
      Su molti sistemi UNIX esiste anche un utente speciale, detto
      <emphasis>amministratore del sistema</emphasis> che usa il login
      <systemitem>root</systemitem>. Questi ha il controllo
      <emphasis>completo</emphasis> del sistema &mdash; 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.
    </para>
    <important>
      <title>IMPORTANTE</title>
      <para>
	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.
      </para>
    </important>
  </sect1>
  <sect1 id="new-file">
    <title>File e nomi dei file</title>
    <para>
      Come in molti altri sistemi operativi anche in UNIX esiste il concetto di
      <emphasis>file</emphasis>, che è un insieme di informazioni a cui viene
      dato un nome (il <emphasis>nome file</emphasis>). 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.
    </para>
    <sect2 id="new-filenames">
      <title>Nomi dei file</title>
      <para>
	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 <filename>talk.txt</filename>. 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 / &mdash; vedi la discussione sui nomi dei path
	più avanti) ed è limitato a 256 carattere.
      </para>
      <important>
	<title>IMPORTANTE</title>
	<para>
	  A differenza dell'MS-DOS, i nome dei file in UNIX sono sensibili alle
	  maiuscole (in gergo si dice case-sensitive):
	  <filename>miofile.txt</filename> e <filename>MioFile.txt</filename>
	  vengono considerati come due file differenti.
	</para>
      </important>
      <para>
	Dovreste anche conoscere alcune convenzioni tipiche di UNIX, per le quali,
	pur non essendo obbligatorie, è buona norma seguirle.
	<itemizedlist>
	  <listitem>
	    <para>
	      la prima è quella di usare il formato
	      <filename>nome.estensione</filename>, dove l'estensione indica il
	      tipo di file; ad esempio l'estensione <filename>txt</filename> è
	      normalmente usata per i file contenenti testo semplice, mentre
	      l'estensione <filename>jpeg</filename> è usata per le immagini nel
	      formato JPEG e via così. In particolare il <application>File
	      Manager di GNOME</application>
	      <application>Nautilus</application>) usa le estensioni per
	      determinare il tipo del file. Potete vedere o modificare le
	      estensioni riconosciute da <application>GNOME</application>
	      selezionando la sezione <menuchoice><guimenu>Document
	      Handlers</guimenu><guimenuitem>Tipi
	      MIME</guimenuitem></menuchoice>
	      nell'<application>Pannello di controllo di
	      GNOME</application>. Notate che la convenzione standard in UNIX è
	      di non usare alcuna estensione per i programmi
	      <emphasis>eseguibili</emphasis> (cioè i file dei programmi).
            </para>
          </listitem>
	  
	  <listitem>
	    <para>
	      I file e le directory il cui nome comincia con un punto (.) sono
	      normalmente <emphasis>file di configurazione</emphasis>; ad
	      esempio GNOME tiene tutte le sue impostazioni in molti file
	      contenuti nella directory <filename>.gnome</filename> e
	      <filename>.gnome-desktop</filename> 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 <application>Nautilus</application> non
	      li mostra sempre (così come tutti gli altri file manager, NDT); è
	      possibile modificare questo comportamento come descritto nel
	      <ulink type="help" url="gnome-help:nautilus">Manuale di
	      Nautilus</ulink>.
	    </para>
	  </listitem>
	  
	  <listitem> 
	    <para>
	      i file il cui nome termina con una tilde (~) sono normalmente file
	      di backup creati dalle applicazioni; ad esempio quando modificate
	      un file <filename>miofile.txt</filename> con
	      <application>emacs</application>, questo salva la versione
	      precedente nel file <filename>miofile.txt~</filename>.
	    </para>
	  </listitem>
	</itemizedlist>
      </para>
    </sect2>
    <sect2 id="new-wildcards">
      <title>Metacaratteri</title> 

      <para>
	Quando date comandi dalla linea di comando potete usare i cosiddetti
	<emphasis>metacaratteri</emphasis> (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 <command>ls *.txt</command> mostrerà tutti i file con
	estensione <filename>txt</filename>, mentre il comando <command>rm
	chapter*</command> cancellerà tutti i file il cui nome comincia con
	<filename>chapter</filename> (<command>ls</command> e
	<command>rm</command> 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 <command>rm
	chapter?.txt</command> eliminerà i file
	<filename>chapter1.txt</filename> e <filename>chapter2.txt</filename> ma
	non <filename>chapter10.txt</filename>.
      </para>
      <para>
	La maggior parte dei nuovi utenti di GNOME preferiscono usare il
	<application>File Manager di GNOME</application> per operare con i file
	invece che lavorare direttamente dalla linea di comando. I metacaratteri
	possono essere usati anche da <application>Nautilus</application> nelle
	finestre di dialogo seleziona e mostra.
      </para>
    </sect2>
    <sect2 id="quoting">
      <title>Usare gli spazi, le virgole e altro nei nomi dei file</title>
      <para>
	Come detto prima un nome di file può non contenere solo lettere e numeri
	ma anche spazi, virgole e quant'altro &mdash; 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 <filename>My file</filename>
	dovete digitare <command>rm 'My file'</command> invece che <command>rm
	My file</command>.
      </para>
      <para>
	Naturalmente se invece state usando un programma grafico come il
	<application>File Manager di GNOME</application> per cancellare il file
	basta che lo trasciniate nel cestino.
      </para>
    </sect2>

  </sect1>
  <sect1 id="new-dirs">
    <title>Directory e percorsi</title> 
    <sect2 id="new-dirstruct">
      <title>Struttura delle directory</title>
      <para>
	Affrontiamo adesso il concetto di directory. Una
	<emphasis>directory</emphasis> è un insieme di file. Può essere pensata
	come una <quote>cartella</quote> 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 <quote>directory
	root</quote> e viene indicata con il simbolo <filename>/</filename> e
	contiene tutti i file del vostro sistema. 
      </para>
      <sect3 id="new-path">
	<title>Persorsi</title>
	<para>
	  Un <emphasis>percorsi</emphasis> è il <quote>nome completo</quote> 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
	  <emphasis>questa</emphasis> e via così. Un percorso tipico è
	  <filename>/home/sasha/talk.txt</filename> che indica il file
	  <filename>talk.txt</filename> nella directory
	  <filename>sasha</filename> la quale a sua volta è una sotto-directory
	  di <filename>/home</filename>.
	</para>
	<para>
	  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
	  <emphasis>directory superiore</emphasis>. Ad esempio in questo caso la
	  directory <filename>home</filename> è la directory superiore di
	  <emphasis>sasha</emphasis>.
	</para>
	<para>
	  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 <filename>/home</filename> e
	  prendono il nome dall'utente proprietario così che la home directory
	  dell'utente <systemitem>sasha</systemitem> sarà
	  <filename>/home/sasha</filename>.
	</para>
      </sect3>
    </sect2>
    <sect2 id="new-relative"> 
      <title>Nomi relativi delle directory</title>
      <para>
	In ogni momento i comandi inseriti vengono considerati
	<emphasis>relativi</emphasis> alla vostra directory corrente, la quale
	la potete pensare come la directory in cui <quote>trovate in quel
	momento</quote>. Quando entrate nel sistema all'inizio la directory
	corrente è la vostra home directory &mdash; per il solito utente sasha
	sarà <filename>/home/sasha</filename>. Ogni volta che dovete riferirvi
	ad un file potete farlo riferendovi alla vostra directory corrente
	invece che specificarne il percorso completo.
      </para>
      <para>
	Ad esempio se la vostra directory corrente è
	<filename>/home/sasha</filename>, e qui avete un file chiamato
	<filename>talk.txt</filename> potete farci riferimento solo con il suo
	nome: il comando <command>emacs talk.txt</command> dato dalla directory
	<filename>/home>sasha</filename> è equivalente a <command>emacs
	/home/sasha/talk.txt</command> (<application>emacs</application> è un
	potente editor per file di testo, forse poco indicato per nuovi utenti
	che possono preferire cose più semplici come
	<application>gnotepad</application>, ma per gli utenti avanzati
	<application>emacs</application> risulta indispensabile).
      </para>
      <para>
	Allo stesso modo, se in <filename>/home/sasha</filename> avete una
	sotto-directory chiamata <filename>papers</filename> nella quale si
	trova il file chiamato <filename>fieldtheory.txt</filename>, potete
	riferirvi a questo come <filename>papers/fieldtheory.txt</filename>.
      </para>
      <para> 
	Se il primo carattere che usate quando vi riferite ad un file non è lo
	slash (/) (come	<filename>papers/fieldtheory.txt</filename>) 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 &mdash; cioè un percorso che comprende l'indirizzo completo
	fino al file partendo dalla directory root /. Questo modo di indicare i
	file si dice <emphasis>percorso assoluto</emphasis>.
      </para>
    </sect2>
    <sect2 id="new-path-conv">
      <title>Convenzioni sui percorsi</title>
      <para>
	Di seguito alcune convenzioni standard usate negli indirizzi:
      </para>
      <para>
	<filename>~/</filename> &mdash; la directory home dell'utente
      </para>
      <para>
	<filename>./</filename>  &mdash; la directory corrente
      </para>
      <para>
	<filename>../</filename>  &mdash; parent of the current directory
      </para>
      <para>
	Ad esempio se la directory corrente di sasha è
	<filename>/home/sasha/papers</filename>, si può riferire al file
	<filename>/home/sasha/talk.txt</filename> come
	<filename>~/talk.txt</filename> oppure come
	<filename>../talk.txt</filename>.
      </para>
    </sect2>
  </sect1>
  <sect1 id="permissions">
    <title>Permessi</title>
    <para>
      Ogni file sul vostro sistema ha un <emphasis>proprietario</emphasis> (NDT:
      owner in inglese) &mdash; uno degli utenti (normalmente quello che ha
      creato effettivamente il file stesso) e un sistema di
      <emphasis>permessi</emphasis> che regolano l'accesso al file.
    </para>
    <para>
      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..  <!--Which groups of users? I
      don't think the other two categories are self-explanatory. Would
      help if there was some exposition here which explicitly states
      who belongs where.-->
      In questo modo, se i permessi sul file
      <filename>/home/sasha/talk.txt</filename> 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.
      <!--How about adding something in parentheses here, like (Since
      sasha created the file <filename>talk.txt</filename>, sasha has
      the widest range of rights to access the file.)... or something
      like that?-->
    </para>
    <para>
      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 <application>File Manager di
      GNOME</application> cliccando sopra al file con il tasto destro e
      scegliendo <guimenuitem>Proprietà</guimenuitem> nel menù a comparsa e poi
      la voce <guilabel>Permessi</guilabel>. Usando questa finestra di dialogo
      potete anche cambiare i permessi &mdash; 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 &mdash; leggete la pagina del
      manuale della vostra shell predefinita (normalmente
      <command>bash</command>, <command>csh</command> o <command>tcsh</command>)
      e cercate il comando <command>umask</command>.
    </para>

    <para>
      Un file può anche avere permessi con speciali proprietà come UID, GID e il
      bit <quote>sticky</quote> che servono solo per gli utenti avanzati &mdash;
      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 <emphasis>alcuni</emphasis>
      comandi che devono leggere o modificare file a cui l'utente stesso
      normalmente non potrebbe accedere).
    </para>

    <para>
      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
      <quote>scrittura</quote> per una directory significa la possibilità di
      elencare i file presenti nella directory oppure di effettuarvi ricerche;
      il permesso di <quote>scrittura</quote> significa la possibilità di creare
      ed eliminare file all'interno della directory e il permesso di
      <quote>esecuzione</quote> dà la possibilità di accedere ai file della
      directory.
    </para>
    <para>
      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 <quote>esecuzione</quote> 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.
    </para>
    <para>
      Una spiegazione dettagliata del sistema di permessi può essere letta, ad
      esempio nella <ulink type="info" url="info:fileutils">pagina info</ulink>
      del pacchetto GNU <citetitle>File Utilities</citetitle>.
    </para>
  </sect1>

  <sect1 id="symlinks">
    <title>Link simbolici</title>
    <para>
      Oltre ai file regolari, Unix possiede anche dei file speciali chiamati
      <emphasis>link simbolici</emphasis> (in inglese/gergo
      <emphasis>symlinks</emphasis>), file che non contengono dati ma che sono
      soltanto <emphasis>puntatori</emphasis> o <emphasis>scorciatoie</emphasis>
      ad altri file. Ad esempio sasha può avere un symlink chiamato
      <filename>ft.txt</filename> che punta al file
      <filename>papers/fieldtheory.txt</filename> in modo che, quando un
      programma accede al file <filename>ft.txt</filename> verrà aperto invece
      l'altro file <filename>papers/fieldtheory.txt</filename>. Come potete
      capire dall'esempio, i link simbolici e i file <quote>reali</quote>
      possono avere nomi differenti e possono trovarsi in directory diverse.
    </para>
    <para>
      Notate che cancellare, muovere o cambiare nome ai link simbolici non ha
      alcun effetto sui file reali: se sasha prova a cancellare il file
      <filename>ft.txt</filename> verrà cancellato il link simbolico ma il file
      <filename>papers/fieldtheory.txt</filename> 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.
    </para>

    <para>
      I link simbolici possono puntare anche alle directory; ad esempio nel
      server FTP di GNOME(<systemitem>ftp.gnome.org</systemitem>) c'è un file
      <filename>/pub/GNOME/stable/releases/october-gnome</filename>, che è
      semplicemente un link simbolico alla directory
      <filename>/pub/GNOME/stable/releases/gnome-1.0.53</filename> &mdash; come
      avrete capito <quote>October GNOME</quote> è solo un altro nome per la
      versione 1.0.53 di GNOME.
    </para>
  </sect1>
  <sect1 id="new-mount">
    <title>Montare e smontare i dischi</title>
    <para>
      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
      <filename>/</filename>. 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: <emphasis>tutti</emphasis> i
      file accessibili dal vostro sistema devono apparire nella struttura delle
      directory che parte dalla root <filename>/</filename>.
    </para>
    <para>
      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 <quote>incorporare</quote> il contenuto di questi dischi nella
      directory principale, comando che viene detto <emphasis>montare</emphasis>
      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
      <filename>/mnt>cdrom</filename>, il floppy sotto
      <filename>/mnt/floppy</filename>, directory che vengono chiamate
      <emphasis>mount point</emphasis> e che vengono definite in un file di
      configurazione speciale, <filename>/etc/fstab</filename>. Questo non
      significa però che il sistema copi il contenuto del CD-ROM o del floppy
      nelle directory suddette, ma che <emphasis>rappresenta</emphasis> il
      contenuto di questi dentro quella directory: ad esempio, se un programma
      prova a leggere il file <filename>/mnt/cdrom/index.html</filename> il
      sistema cercherà il file index.html presente nel CD-ROM.
    </para>
    <para>
      In breve, prima che possiate accedere ai file presenti su un lettore
      removibile come un CD-ROM o un floppy, dovete <quote>montare</quote>
      questi dispositivi. E di conseguenza <emphasis>prima di poter togliere i
      dischi da questi lettori dovete smontarli</emphasis>.
    </para>
    <para>
      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 <guimenuitem>Espelli il disco</guimenuitem> 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 <guimenuitem>Monta il disco</guimenuitem> o <guimenuitem>Smonta
      il disco</guimenuitem> dal menù a comparsa oppure usando l'applet
      <application>MontaDischi</application>.
    </para>
    <para>
      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 <quote>device occupato</quote> se provate a smontarlo. 
    </para>
    <para>
      In ogni caso GNOME non può impedirvi di espellere un disco usando il
      bottone fisico d'espulsione &mdash; in questo caso <emphasis>è vostra
      responsabilità smontare il disco</emphasis> 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.
      <note>
	<title>NDT:</title>
	<para>
	  almeno nei computer del tipo PC-Compatibile
	</para>
      </note>
    </para>

    <important>
      <title>IMPORTANTE</title>
      <para>
	Se espellete un floppy usando il bottone del lettore senza smontarlo
	prima potreste perdere i vostri dati.
      </para>
    </important>

    <para>
      Alcuni sistemi possono avere in esecuzione programmi come
      <application>supermount</application> o
      <application>magicdev</application> 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.
    </para>
    <para>
      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.
    </para>
    <para>
      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 <application><emphasis>linuxconf</emphasis></application> (che
      però può essere usato solo da root). Selezionate il disco che volete far
      montare e smontare ai vostri utenti nella sezione <guilabel>Access local
      drive</guilabel>; nella sotto-sezione <guilabel>Opzioni</guilabel>
      selezionate l'opzione <guilabel>User Mountable</guilabel>. A questo punto
      il disco potrà essere montato dagli utenti.
    </para>
    <para>
      Se non avete a disposizione
      <application><emphasis>linuxconf</emphasis></application> dovete
      modificare da soli il file <filename>/etc/fstab</filename> per permettere
      l'uso da parte degli utenti; aggiungete l'attributo <quote>user</quote> al
      disco. Ad esempio:
    </para>
    <para>
      se il vostro file <filename>fstab</filename> contiene una linea simile a:
    </para>
    <programlisting>
/dev/cdrom /mnt/cdrom iso9660 exec,dev,ro,noauto 0 0
    </programlisting>
    <para>
      aggiungete la parola <quote>user</quote> nella quarta colonna:
    </para>
    <programlisting>
/dev/cdrom /mnt/cdrom iso9660 user,exec,dev,ro,noauto 0 0
    </programlisting>
  </sect1>

  <sect1 id="devices">
    <title>Dischi e dispositivi (device)</title>
    <para>
      Nei Sistemi Operativi della famiglia Unix la parola
      <quote>dispositivo</quote> (ma è molto più diffusa, conosciuta ed usata la
      corrispondente parola inglese <quote>device</quote>) 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 <filename>/dev/hda</filename>. Elenchiamo i nomi dei dispositivi
      più comuni (usati per Linux perché altri Unix usano nomi differenti):
    </para>
    <itemizedlist>
      <listitem>
	<para>
	  <filename>/dev/hd*</filename> (dove *=a,b,c, &hellip;): 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
	  <filename>/dev/hda</filename> indica il primo disco del controller IDE
	  (normalmente il disco denominato <quote>master</quote> o anche disco
	  <filename>C:</filename> sotto Windows), <filename>/dev/hdb</filename> è
	  il disco <quote>slave</quote>, cioè il secondo disco del primo canale
	  del controller, disco che può anche essere un lettore CD-Rom e via
	  così. Vedi anche la <link linkend="zippartition">nota</link> più
	  avanti a proposito dei dischi ZIP.
	</para>
      </listitem>

      <listitem>
	<para>
	  <filename>/dev/sd*</filename> (dove *=a,b,c, &hellip;): sono i
	  dispositivi connessi al bus SCSI, normalmente hard-disk.
	</para>
      </listitem>
    </itemizedlist>

    <note>
      <title>NOTA</title> 
      <para>
	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.
      </para>
    </note> 
    <itemizedlist>
      <listitem>
	<para>
	  <filename>/dev/fd*</filename> (dove *=0,1, etc) sono i lettori dei
	  floppy: <filename>/dev/fd0</filename> è il primo lettore (che
	  corrisponde al disco <filename>A:</filename> di Windows),
	  <filename>/dev/fd1</filename> è il secondo (<filename>B:</filename> di
	  Windows), e via così. 
	</para>
      </listitem>
      <listitem>
	<para>
	  <filename>/dev/lp*</filename> (dove *=0,1, etc) sono le porte
	  parallele. Comunemente queste porte vengono usate per connettere le
	  stampanti al computer. <filename>/dev/lp0</filename> corrisponde a
	  <filename>LPT1</filename> di Windows, <filename>/dev/lp1</filename> a
	  <filename>LPT2</filename>, e via così.
	</para>
      </listitem>
      <listitem>
	<para>
	  <filename>/dev/ttyS*</filename> (dove *=0,1, etc) sono le porte
	  seriali, usate comunemente per connettere mouse oppure
	  modem. <filename>/dev/ttyS0</filename> corrisponde a
	  <filename>COM1</filename> di Windows, <filename>/dev/ttyS1</filename>
	  a <filename>COM2</filename>, e via così.
	</para>
      </listitem>
      <listitem>
	<para> 
	  <filename>/dev/audio</filename> and <filename>/dev/dsp</filename>
	  &mdash; 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.
	</para>
      </listitem>
    </itemizedlist>
    <para>
      È uso comune avere dei link simbolici come
      <filename>/dev/floppy</filename>, <filename>/dev/modem</filename> e
      <filename>/dev/cdrom</filename> che puntano al dispositivo reale
      corrispondente al vostro lettore floppy, al modem e al lettore di CD-Rom
      rispettivamente.
    </para>
    <para>
      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, <filename>/dev/fd0</filename> oppure
      <filename>/dev/floppy</filename> 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
      <filename>/mnt/floppy</filename> oppure <filename>/floppy</filename>)
      nella directory principale; vedi anche <xref linkend="new-mount"> 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 <filename>/dev/ttyS1</filename> oppure il link
      simbolico <filename>/dev/modem</filename>.
    </para>
    <para>
      In puro spirito Unix esiste anche un dispositivo
      <filename>/dev/null</filename> che funziona esattamente come un
      <quote>buco nero</quote> 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 <filename>/dev/null</filename> e non
      li vedrete più -:).
    </para>

    <sect2 id="partitions">
      <title>Partizioni</title>
      <para>
	È 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 <quote>partizioni</quote> (Windows usa il nome <quote>dischi
	logici</quote>). 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 <quote>partizionamento</quote> viene normalmente
	fatto all'atto dell'installazione dei sistemi operativi; seguite le
	istruzioni di installazioni per maggiori informazioni.
      </para>
      <para>
	Se il vostro hard-disk è stato partizionato ogni partizione viene
	considerata come un disco diverso: ad esempio se
	<filename>/dev/hda</filename> è il vostro disco principale allora la
	prima partizione è <filename>/dev/hda1</filename>, la seconda
	<filename>/dev/hda2</filename> e via così.
      </para>
      <warning id="zippartition">
	<title>Partizionamento dei dischi ZIP</title>

	<para>
	  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 è
	  <filename>/dev/hdc</filename>, il dispositivo corretto che dovrete
	  usare è <filename>/dev/hdc4</filename>.
	</para>
      </warning>
    </sect2>
  </sect1>
  <sect1 id="X11"> 
    <title>
      Interfacce utente grafiche: X Window System, gestori di finestre e
      ambienti di desktop
    </title>
    <para>
      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'<quote>X Window System</quote>, i gestori di finestre e gli ambienti di
      desktop.
    </para>
    <para> L'<emphasis>X Window System</emphasis> (conosciuto anche
      semplicemente come X o X11) è il componente di Unix che gestisce tutti i
      livelli grafici di base &mdash; 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 <quote>base</quote> per tutti gli altri componenti
      dell'interfaccia utente grafica come i gestori di finestre e gli ambienti
      di desktop.
    </para>
    <para>
      I <emphasis>gestori di finestre</emphasis> 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 <application>fvwm</application>,
      <application>mwm</application>, <application>kwm</application> (usato da
      KDE), <application>Enlightenment</application>, e
      <application>Sawfish</application>.
    </para>
    <para>
      Infine ci sono gli <emphasis>ambienti di desktop</emphasis> che vanno un
      passo avanti dei gestori di finestre in quanto aggiungono un file manager
      grafico dal quale potete usare il metodo <quote>drag-n-drop</quote> 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 <ulink type="http" url="http://www.gnome.org">GNOME</ulink>, <ulink
      type="http" url="http://www.kde.org">KDE</ulink> e <ulink type="http"
      url="http://www.sun.com/solaris/cde/">CDE</ulink> (che però verrà presto
      rimpiazzato da GNOME).
    </para>
    <para>
      Molti ambienti di desktop usano un gestore di finestre loro proprio: ad
      esempio KDE contiene il suo gestore di finestre
      <application>kwm</application> (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
      <application>Sawfish</application> viene distribuito insieme a GNOME come
      predefinito ma potete cambiarlo usando il <application>Pannello di
      Controllo</application>, 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.
    </para>

  </sect1>
	
  
</appendix>