Add the Italian translated unix-introduction book. These still need individual

Makefiles.

Submitted by:	Alex Dupre <sysadmin@alexdupre.com>
This commit is contained in:
Tom Rhodes 2003-03-19 18:46:43 +00:00
parent ef89ca0a6d
commit 2e6dbe9339
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=16301
17 changed files with 14374 additions and 0 deletions

View file

@ -0,0 +1,43 @@
#
# $FreeBSD$
#
# Crea l'Introduzione a Unix.
#
MAINTAINER= sysadmin@alexdupre.com
DOC?= book
FORMATS?= html-split
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
#
# SRCS lista i singoli files SGML che compongono il documento. Modifiche
# a qualunque di questi files obbligano la ricreazione
#
# Contenuto SGML
SRCS = book.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= command-summary/chapter.sgml
SRCS+= commands/chapter.sgml
SRCS+= editors/chapter.sgml
SRCS+= getting-started/chapter.sgml
SRCS+= glossary/chapter.sgml
SRCS+= history/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= shell-programming/chapter.sgml
SRCS+= shells/chapter.sgml
SRCS+= special-features/chapter.sgml
SRCS+= structure/chapter.sgml
SRCS+= system-resource/chapter.sgml
SRCS+= text-processing/chapter.sgml
# Entities
SRCS+= chapters.ent
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,189 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<chapter id="bibliography">
<title>Una breve bibliografia Unix</title>
<table frame="all" id="bibliography-table">
<title>Una breve bibliografia Unix</title>
<tgroup cols="4">
<colspec colwidth="3in">
<colspec colwidth="1.8in">
<colspec colwidth="1in">
<thead>
<row>
<entry align="center">Titolo</entry>
<entry align="center">Autori</entry>
<entry align="center">Editore</entry>
<entry align="center">Anno pub.</entry>
</row>
</thead>
<tbody>
<row>
<entry><emphasis>UNIX: concetti, strutture,
utilizzo</emphasis></entry>
<entry>James R. Groff, Paul N. Weinberg</entry>
<entry>Jackson</entry>
<entry>1988</entry>
</row>
<row>
<entry><emphasis>Guida completa Unix System V. Release
4</emphasis></entry>
<entry>Coffin Steven</entry>
<entry>Mc Graw Hill</entry>
<entry>1991</entry>
</row>
<row>
<entry><emphasis>Introduzione all'architettura di sistema
Unix</emphasis></entry>
<entry>Prabhat K. Andleigh</entry>
<entry>Jackson</entry>
<entry>1991</entry>
</row>
<row>
<entry><emphasis>Usare Unix senza fatica</emphasis></entry>
<entry>John R. Levine, Margaret Levine Young</entry>
<entry>Mc Graw Hill</entry>
<entry>1993</entry>
</row>
<row>
<entry><emphasis>La grande guida Unix</emphasis></entry>
<entry>John J. Valley</entry>
<entry>Jackson</entry>
<entry>1993</entry>
</row>
<row>
<entry><emphasis>Shell Unix guida alla
programmazione</emphasis></entry>
<entry>Arthur, Burns</entry>
<entry>Mc Graw Hill</entry>
<entry>1998</entry>
</row>
<row>
<entry><emphasis>Introduzione alla struttura interna di
Unix</emphasis></entry>
<entry>Le Van Huu</entry>
<entry>Unicopli</entry>
<entry>1998</entry>
</row>
<row>
<entry><emphasis>Unix guida completa</emphasis></entry>
<entry>Rosen, Host, Farber, Rosinski</entry>
<entry>Mc Graw Hill</entry>
<entry>1999</entry>
</row>
<row>
<entry><emphasis>Gestione del sistema operativo Unix</emphasis></entry>
<entry>Bruno Catalano, Ezio Raddi</entry>
<entry>Citt&agrave; Studi</entry>
<entry>2000</entry>
</row>
<row>
<entry><emphasis>Guida a Unix seconda edizione</emphasis></entry>
<entry>Hahn H.</entry>
<entry>Mc Graw Hill</entry>
<entry>2000</entry>
</row>
<row>
<entry><emphasis>I segreti di Unix Seconda edizione</emphasis></entry>
<entry>Armstrong James</entry>
<entry>Apogeo</entry>
<entry>2000</entry>
</row>
<row>
<entry><emphasis>Guida a Unix con Linux</emphasis></entry>
<entry>Jack Dent, Tony Gaddis</entry>
<entry>Apogeo</entry>
<entry>2001</entry>
</row>
<row>
<entry><emphasis>Introduzione a Unix</emphasis></entry>
<entry>David L. Schwartz</entry>
<entry>Apogeo</entry>
<entry>2001</entry>
</row>
<row>
<entry><emphasis>Unix manuale per l'amministratore di sistema - terza
edizione</emphasis></entry>
<entry>Nemeth Evi, Snyder Garth, Seebass Scott, Hein Trent</entry>
<entry>Pearson Education Italia</entry>
<entry>2002</entry>
</row>
</tbody>
</tgroup>
</table>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "chapter")
End:
-->

View file

@ -0,0 +1,136 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//IT">
%translators;
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
]>
<book lang="it">
<bookinfo>
<title>Introduzione a Unix</title>
<author>
<firstname>Frank G.</firstname>
<surname>Fiamingo</surname>
<affiliation>
<address><email>fiamingo.1@osu.edu</email></address>
</affiliation>
</author>
<author>
<firstname>Linda</firstname>
<surname>DeBula</surname>
<affiliation>
<address><email>debula.2@osu.edu</email></address>
</affiliation>
</author>
<author>
<firstname>Linda</firstname>
<surname>Condron</surname>
<affiliation>
<address><email>condron.1@osu.edu</email></address>
</affiliation>
</author>
<pubdate>Settembre 1998</pubdate>
<copyright>
<year>1996</year>
<year>1997</year>
<year>1998</year>
<holder>University Technology Services, The Ohio State
University.</holder>
</copyright>
<legalnotice>
<para>&copy; 1996-1998 University Technology Services, The Ohio State
University, Baker Systems Engineering Building, 1971 Neil Avenue,
Columbus, OH 43210.</para>
<para>Tutti i diritti riservati. La ridistribuzione e l'uso, con o senza
modifiche, sono permesse purch&egrave; siano rispettate le seguenti
condizioni:</para>
<orderedlist>
<listitem>
<para>La ridistribuzione deve contenere la precedente nota di
copyright, questa lista di condizioni, e il seguente
disclaimer.</para>
</listitem>
<listitem>
<para>N&eacute; il nome dell'Universit&agrave; n&eacute; i nomi dei
suoi contributori possono essere usati per appoggiare o promuovere
prodotti o servizi derivanti da questo documento senza un precedente
specifico permesso scritto.</para>
</listitem>
</orderedlist>
<para>QUESTA PUBBLICAZIONE VIENE FORNITA <quote>COS&Igrave;
COM'&Egrave;</quote> SENZA NESSUN TIPO DI GARANZIA. QUESTA
PUBBLICAZIONE PU&Ograve; CONTENERE IMPRECISIONI TECNICHE O ERRORI
TIPOGRAFICI.</para>
<para>Unix &egrave; un marchio registrato della The Open Group, AT&amp;T
&egrave; un marchio registrato della American Telephone and Telegraph,
Inc.</para>
</legalnotice>
<abstract>
<para>Traduzione a cura di &a.it.mark;</para>
<para>Questo documento introduce il vasto mondo dei sistemi operativi
Unix e lo fa in stile manualistico. Unix non &egrave; un sistema
operativo unico, come molti potrebbero pensare, bens&igrave; &egrave;
una grande famiglia di sistemi operativi (come ad esempio FreeBSD,
NetBSD, OpenBSD, BSD, AIX, System V, SunOS, varie distribuzioni di
Linux, ecc.), aventi comandi e caratteristiche simili e disponibili per
molte architetture hardware (come ad esempio x86, alpha, ecc.).</para>
<para>Copyright e URL rivisti nel Settembre 1998.</para>
</abstract>
</bookinfo>
&chap.preface;
&chap.history;
&chap.structure;
&chap.getting-started;
&chap.system-resource;
&chap.shells;
&chap.special-features;
&chap.text-processing;
&chap.commands;
&chap.shell-programming;
&chap.editors;
&chap.command-summary;
&chap.bibliography;
&chap.glossary;
</book>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
End:
-->

View file

@ -0,0 +1,27 @@
<!--
The FreeBSD Italian Documentation Project
Crea le entities per ogni capitolo dell'Introduzione a Unix.
Ogni entity &egrave; chiamata chap.foo, dove foo &egrave; il valore
dell'attributo id di quel capitolo, e corrisponde al nome della directory
nella quale il file sgml del capitolo &egrave; salvato.
I capitoli devono essere listati nell'ordine in cui sono referenziati.
$FreeBSD$
-->
<!ENTITY chap.preface SYSTEM "preface/preface.sgml">
<!ENTITY chap.history SYSTEM "history/chapter.sgml">
<!ENTITY chap.structure SYSTEM "structure/chapter.sgml">
<!ENTITY chap.getting-started SYSTEM "getting-started/chapter.sgml">
<!ENTITY chap.system-resource SYSTEM "system-resource/chapter.sgml">
<!ENTITY chap.shells SYSTEM "shells/chapter.sgml">
<!ENTITY chap.special-features SYSTEM "special-features/chapter.sgml">
<!ENTITY chap.text-processing SYSTEM "text-processing/chapter.sgml">
<!ENTITY chap.commands SYSTEM "commands/chapter.sgml">
<!ENTITY chap.shell-programming SYSTEM "shell-programming/chapter.sgml">
<!ENTITY chap.editors SYSTEM "editors/chapter.sgml">
<!ENTITY chap.command-summary SYSTEM "command-summary/chapter.sgml">
<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml">
<!ENTITY chap.glossary SYSTEM "glossary/chapter.sgml">

View file

@ -0,0 +1,681 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<chapter id="command-summary">
<title>Riassunto dei comandi Unix</title>
<sect1 id="command-summary-">
<title>Comandi Unix</title>
<para>Nella tabella che segue vengono riassunti i comandi maggiormente usati
su un sistema Unix. In questa tabella, come in generale avviene, per
molti comandi Unix, <replaceable>file</replaceable> pu&ograve; essere un
nome di file, una lista di nomi di file o input/output che potrebbe essere
rediretto per o dal comando.</para>
<table frame="all" id="command-summary-table">
<title>Comandi Unix</title>
<tgroup cols="2">
<colspec colwidth="4in">
<thead>
<row>
<entry align="center">Comando/Sintassi</entry>
<entry align="center">Cosa fa</entry>
</row>
</thead>
<tbody>
<row>
<entry><command>awk/nawk [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>esamina schemi in un file e processa i risultati</entry>
</row>
<row>
<entry><command>cat [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>concatena (lista) un file</entry>
</row>
<row>
<entry><command>cd
[<replaceable>directory</replaceable>]</command></entry>
<entry>cambia directory</entry>
</row>
<row>
<entry><command>chgrp [<replaceable>opzioni</replaceable>]
<replaceable>gruppo file</replaceable></command></entry>
<entry>cambia il gruppo di appartenenza di un file</entry>
</row>
<row>
<entry><command>chmod [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>cambia i permessi di accesso a file o directory</entry>
</row>
<row>
<entry><command>chown [<replaceable>opzioni</replaceable>]
<replaceable>proprietario file</replaceable></command></entry>
<entry>cambia il proprietario di un file; pu&ograve; essere solo
fatto dal super-user</entry>
</row>
<row>
<entry><command>chsh (passwd -e/-s) <replaceable>username
login_shell</replaceable></command></entry>
<entry>cambia la shell di login dell'utente (spesso solamente
attraverso il super-user)</entry>
</row>
<row>
<entry><command>cmp [<replaceable>opzioni</replaceable>]
<replaceable>file1 file2</replaceable></command></entry>
<entry>confronta due file e mostra dove avvengono le differenze
(file di testo e file binari)</entry>
</row>
<row>
<entry><command>compress [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>comprime il file specificato e lo salva con l'estensione
<filename>.Z</filename></entry>
</row>
<row>
<entry><command>cp [<replaceable>opzioni</replaceable>]
<replaceable>file1 file2</replaceable></command></entry>
<entry>copia <filename><replaceable>file1</replaceable></filename>
in <filename><replaceable>file2</replaceable></filename>;
<filename><replaceable>file2</replaceable></filename> non dovrebbe
gi&agrave; esistere. Questo comando crea o sovrascrive
<filename><replaceable>file2</replaceable></filename></entry>
</row>
<row>
<entry><command>cut (<replaceable>opzioni</replaceable>)
[<replaceable>file</replaceable>]</command></entry>
<entry>taglia specifici campi/caratteri dalle linee del file
specificato</entry>
</row>
<row>
<entry><command>date
[<replaceable>opzioni</replaceable>]</command></entry>
<entry>riporta data e ora corrente</entry>
</row>
<row>
<entry><command>dd [if=<replaceable>infile</replaceable>]
[of=<replaceable>outfile</replaceable>]
[operando=<replaceable>valore</replaceable>]</command></entry>
<entry>copia un file, converte tra ASCII e EBCDIC o scambia l'ordine
di byte, come specificato</entry>
</row>
<row>
<entry><command>diff [<replaceable>opzioni</replaceable>]
<replaceable>file1 file2</replaceable></command></entry>
<entry>confronta i due file e visualizza le differenze (solamente
file di testo)</entry>
</row>
<row>
<entry><command>df [<replaceable>opzioni</replaceable>]
[<replaceable>risorsa</replaceable>]</command></entry>
<entry>riporta il sommario dei blocchi del disco e degli inode
liberi e usati</entry>
</row>
<row>
<entry><command>du [<replaceable>opzioni</replaceable>]
[<replaceable>directory</replaceable> o
<replaceable>file</replaceable>]</command></entry>
<entry>riporta lo spazio di disco usato</entry>
</row>
<row>
<entry><command>echo
[<replaceable>stringa di testo</replaceable>]</command></entry>
<entry>riporta la stringa di testo specificata in standard
output</entry>
</row>
<row>
<entry><command>ed</command> o <command>ex
[<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>editor a linea di comando</entry>
</row>
<row>
<entry><command>emacs [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>editor a schermo-pieno</entry>
</row>
<row>
<entry><command>expr
<replaceable>argomenti</replaceable></command></entry>
<entry>valuta gli argomenti. Usato per l'aritmetica, ecc. in
shell</entry>
</row>
<row>
<entry><command>file [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>classifica il tipo di file</entry>
</row>
<row>
<entry><command>find <replaceable>directory</replaceable>
[<replaceable>opzioni</replaceable>]
[<replaceable>azioni</replaceable>]</command></entry>
<entry>cerca file basandosi sul tipo o su uno schema</entry>
</row>
<row>
<entry><command>finger [<replaceable>opzioni</replaceable>]
<replaceable>user</replaceable>[<replaceable>@nomehost</replaceable>]</command></entry>
<entry>riporta informazioni circa gli utenti di macchine locali e
remote</entry>
</row>
<row>
<entry><command>ftp [<replaceable>opzioni</replaceable>]
<replaceable>host</replaceable></command></entry>
<entry>trasferisce file utilizzando il protocollo di trasferimento
di file (FTP)</entry>
</row>
<row>
<entry><command>grep [<replaceable>opzioni</replaceable>]
'<replaceable>stringa di ricerca</replaceable>'
<replaceable>argomento</replaceable></command></entry>
<entry morerows="2">ricerca nell'argomento (in questo caso
probabilmente un file) tutte le occorrenze della stringa di
ricerca specificata e le visualizza</entry>
</row>
<row>
<entry><command>egrep [<replaceable>opzioni</replaceable>]
'<replaceable>stringa di ricerca</replaceable>'
<replaceable>argomento</replaceable></command></entry>
</row>
<row>
<entry><command>fgrep [<replaceable>opzioni</replaceable>]
'<replaceable>stringa di ricerca</replaceable>'
<replaceable>argomento</replaceable></command></entry>
</row>
<row>
<entry><command>gzip [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry morerows="2">comprime o decomprime un file. I file compressi
vengo memorizzati con l'estensione
<filename>.gz</filename></entry>
</row>
<row>
<entry><command>gunzip [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
</row>
<row>
<entry><command>zcat [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
</row>
<row>
<entry><command>head [-<replaceable>numero</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>mostra le prime 10 (o numero di) linee di un file</entry>
</row>
<row>
<entry><command>hostname</command></entry>
<entry>mostra o setta (solamente super-user) il nome della macchina
attuale</entry>
</row>
<row>
<entry><command>kill [<replaceable>opzioni</replaceable>]
[-<replaceable>SEGNALE</replaceable>]
[<replaceable>pid#</replaceable>]
[%<replaceable>job</replaceable>]</command></entry>
<entry>manda un segnale al processo specificato dal numero di
processo id (<replaceable>pid#</replaceable>) o dal numero di
controllo del job (%<replaceable>n</replaceable>). Il segnale di
default termina il processo</entry>
</row>
<row>
<entry><command>ln [<replaceable>opzioni</replaceable>]
<replaceable>sorgente
destinazione</replaceable></command></entry>
<entry>crea un collegamento di nome
<filename><replaceable>destinazione</replaceable></filename> a
<filename><replaceable>sorgente</replaceable></filename></entry>
</row>
<row>
<entry><command>lpq
[<replaceable>opzioni</replaceable>]</command></entry>
<entry morerows="1">mostra lo stato dei job di stampa</entry>
</row>
<row>
<entry><command>lpstat
[<replaceable>opzioni</replaceable>]</command></entry>
</row>
<row>
<entry><command>lpr [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry morerows="1">stampa sulla stampante specificata</entry>
</row>
<row>
<entry><command>lp [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
</row>
<row>
<entry><command>lprm
[<replaceable>opzioni</replaceable>]</command></entry>
<entry morerows="1">rimuove un job di stampa dalla coda di
stampa</entry>
</row>
<row>
<entry><command>cancel
[<replaceable>opzioni</replaceable>]</command></entry>
</row>
<row>
<entry><command>ls [<replaceable>opzioni</replaceable>]
[<replaceable>directory</replaceable> o
<replaceable>file</replaceable>]</command></entry>
<entry>elenca il contenuto della directory specificata o i permessi
del file specificato</entry>
</row>
<row>
<entry><command>mail [<replaceable>opzioni</replaceable>]
[<replaceable>user</replaceable>]</command></entry>
<entry morerows="2">semplice utility per la posta elettronica
disponibile su un sistema Unix. Si digita un punto come primo
carattere su una nuova linea per trasmettere il messaggio, un
punto interrogativo per richiamare l'help</entry>
</row>
<row>
<entry><command>mailx [<replaceable>opzioni</replaceable>]
[<replaceable>user</replaceable>]</command></entry>
</row>
<row>
<entry><command>Mail [<replaceable>opzioni</replaceable>]
[<replaceable>user</replaceable>]</command></entry>
</row>
<row>
<entry><command>man [<replaceable>opzioni</replaceable>]
<replaceable>comando</replaceable></command></entry>
<entry>mostra la pagina di manuale (<emphasis>man</emphasis>)
del comando specificato</entry>
</row>
<row>
<entry><command>mkdir [<replaceable>opzioni</replaceable>]
<replaceable>directory</replaceable></command></entry>
<entry>crea una directory</entry>
</row>
<row>
<entry><command>more [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry morerows="2">impaginatore di un file testuale</entry>
</row>
<row>
<entry><command>less [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
</row>
<row>
<entry><command>pg [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
</row>
<row>
<entry><command>mv [<replaceable>opzioni</replaceable>]
<replaceable>file1 file2</replaceable></command></entry>
<entry>muove <filename><replaceable>file1</replaceable></filename>
in <filename><replaceable>file2</replaceable></filename></entry>
</row>
<row>
<entry><command>od [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>dump su un file binario, in ottale, in ASCII, in
esadecimale, in decimale o in modalit&agrave; carattere.</entry>
</row>
<row>
<entry><command>passwd
[<replaceable>opzioni</replaceable>]</command></entry>
<entry>setta o modifica la propria password</entry>
</row>
<row>
<entry><command>paste [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>incolla campi nelle linee del file specificato</entry>
</row>
<row>
<entry><command>pr [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>filtra il file e lo stampa su un terminale</entry>
</row>
<row>
<entry><command>ps
[<replaceable>opzioni</replaceable>]</command></entry>
<entry>mostra lo stato dei processi attivi</entry>
</row>
<row>
<entry><command>pwd</command></entry>
<entry>stampa la directory di lavoro (corrente)</entry>
</row>
<row>
<entry><command>rcp [<replaceable>opzioni</replaceable>]
<replaceable>nomehost</replaceable></command></entry>
<entry>copia file in remoto dalla macchina corrente in un'altra
macchina</entry>
</row>
<row>
<entry><command>rlogin [<replaceable>opzioni</replaceable>]
<replaceable>nomehost</replaceable></command></entry>
<entry>effettua il login in remoto su un'altra macchina</entry>
</row>
<row>
<entry><command>rm [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>rimuove (elimina) un file o una directory
(<option>-r</option> elimina ricorsivamente la directory ed il suo
contenuto) (<option>-i</option> chiede conferma prima di eliminare
i file)</entry>
</row>
<row>
<entry><command>rmdir [<replaceable>opzioni</replaceable>]
<replaceable>directory</replaceable></command></entry>
<entry>rimuove una directory</entry>
</row>
<row>
<entry><command>rsh [<replaceable>opzioni</replaceable>]
<replaceable>nomehost</replaceable></command></entry>
<entry>shell remota da eseguire su un'altra macchina</entry>
</row>
<row>
<entry><command>script
<replaceable>file</replaceable></command></entry>
<entry>memorizza ogni cosa che appare sullo schermo in un file fino
a quando si esegue <command>exit</command></entry>
</row>
<row>
<entry><command>sed [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>editor di flusso per editare file da uno script o da linea di
comando</entry>
</row>
<row>
<entry><command>sort [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>ordina le linee del file specificato basandosi sulle opzioni
scelte</entry>
</row>
<row>
<entry><command>source
<replaceable>file</replaceable></command></entry>
<entry morerows="1">legge i comandi dal file specificato
e li esegue nella shell corrente. <command>source</command> per
la shell C, <command>.</command> per la shell Bourne</entry>
</row>
<row>
<entry><command>. <replaceable>file</replaceable></command></entry>
</row>
<row>
<entry><command>strings [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>riporta sequenze di 4 o pi&ugrave; caratteri stampabili
terminanti in &lt;NL&gt; o &lt;NULL&gt;. Generalmente viene usato
per ricercare in file binari stringhe ASCII</entry>
</row>
<row>
<entry><command>stty
[<replaceable>opzioni</replaceable>]</command></entry>
<entry>setta o visualizza le opzioni del terminale di
controllo</entry>
</row>
<row>
<entry><command>tail [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>mostra le ultime linee (o parte) di un file</entry>
</row>
<row>
<entry><command>tar [<replaceable>opzioni</replaceable>]
[<replaceable>file</replaceable>]</command></entry>
<entry>archivio a nastro--riferirsi alle pagine man per dettagli su
come creare, elencare ed estrarre file da un archivio. I file tar
possono essere memorizzati su disco o su nastro.</entry>
</row>
<row>
<entry><command>tee [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>copia standard output in uno o pi&ugrave; file</entry>
</row>
<row>
<entry><command>telnet [<replaceable>host</replaceable>
[<replaceable>porta</replaceable>]]</command></entry>
<entry>comunica con un altro host usando il protocollo
telnet</entry>
</row>
<row>
<entry><command>touch [<replaceable>opzioni</replaceable>]
[<replaceable>data/ora</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>crea un file vuoto o aggiorna la data/ora di accesso di un
file esistente</entry>
</row>
<row>
<entry><command>tr [<replaceable>opzioni</replaceable>]
<replaceable>stringa1 stringa2</replaceable></command></entry>
<entry>traduce i caratteri di <replaceable>stringa1</replaceable>
provenienti da standard input in quelli di
<replaceable>stringa2</replaceable> per standard output</entry>
</row>
<row>
<entry><command>uncompress
<replaceable>file.Z</replaceable></command></entry>
<entry>decomprime il file specificato e lo salva in un file</entry>
</row>
<row>
<entry><command>uniq [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>rimuove le linee ripetute in un file</entry>
</row>
<row>
<entry><command>uudecode
[<replaceable>file</replaceable>]</command></entry>
<entry>decodifica un file codificato con
<command>uuencode</command>, riportandolo al file
originale</entry>
</row>
<row>
<entry><command>uuencode [<replaceable>file</replaceable>]
<replaceable>nuovo_nome</replaceable></command></entry>
<entry>codifica un file binario in codice ASCII 7-bit; utile quando
lo si trasmette via email, per essere poi decodificato come
<filename><replaceable>nuovo_nome</replaceable></filename> alla
destinazione</entry>
</row>
<row>
<entry><command>vi [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>editor visuale, a pieno schermo</entry>
</row>
<row>
<entry><command>wc [<replaceable>opzioni</replaceable>]
[<replaceable>file</replaceable>]</command></entry>
<entry>mostra il numero di parole (o di caratteri o di linee) del
file specificato</entry>
</row>
<row>
<entry><command>whereis [<replaceable>opzioni</replaceable>]
<replaceable>comando</replaceable></command></entry>
<entry>riporta le locazioni del binario, del sorgente e della pagina
man per il comando specificato</entry>
</row>
<row>
<entry><command>which
<replaceable>comando</replaceable></command></entry>
<entry>riporta il percorso del comando o l'alias di shell in
uso</entry>
</row>
<row>
<entry><command>who</command> o <command>w</command></entry>
<entry>riporta chi &egrave; <quote>loggato</quote> e quali processi
ha in esecuzione</entry>
</row>
<row>
<entry><command>zcat
<replaceable>file</replaceable>.Z</command></entry>
<entry>concatena (lista) il file non compresso a video, lasciando il
file compresso su disco</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "chapter")
End:
-->

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,596 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<glossary>
<title>Glossario</title>
<glossdiv>
<title>A</title>
<glossentry>
<glossterm>account</glossterm>
<glossdef>
<para>struttura di dati che contiene alcune informazioni (come password,
nome reale, username, indirizzo, ecc.) relative a un utente</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>alias</glossterm>
<glossdef>
<para>meccanismo che permette di invocare un comando (o una combinazione
di comandi) attraverso un nome pseudonimo precedentemente
assegnato</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>B</title>
<glossentry>
<glossterm>background</glossterm>
<glossdef>
<para>riferito alla modalit&agrave; di gestione dell'esecuzione di un
processo in shell corrente: la shell non aspetta la fine di tale
processo ma continua la sua normale esecuzione</para>
<para><emphasis>Vedere:</emphasis>
<link linkend="shells-job-control">sezione 5.5</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>backquote</glossterm>
<glossdef>
<para>caratteri speciali utilizzati per inserire in una stringa l'output
del comando specificato tra questi caratteri</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="shell-programming-sett-param-val">sezione 9.2</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>built-in</glossterm>
<glossdef>
<para>comandi incorporati nel codice della shell</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="shells-built-in-comm">sezione 5.1</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>C</title>
<glossentry>
<glossterm>case sensitive</glossterm>
<glossdef>
<para>distinzione tra lettere maiuscole e lettere minuscole</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>D</title>
<glossentry>
<glossterm>directory-home</glossterm>
<glossdef>
<para>&egrave; la directory dell'utente, nella quale ci si ritrova
(in generale) dopo la fase di login</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-directory-nav-control">sezione
3.6</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>directory-root</glossterm>
<glossdef>
<para>&egrave; la directory padre di tutte le altre directory (indicata
spesso con il segno /)</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="structure-file-system">sezione 2.2</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>E</title>
<glossentry>
<glossterm>editor</glossterm>
<glossdef>
<para>strumenti per manipolare testi (programmi, ecc.)</para>
<para><emphasis>Vedere:</emphasis> <link linkend="editors">Capitolo
10</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>EOF</glossterm>
<glossdef>
<para>sta per <quote>end of file</quote> e indica la fine del
file</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>F</title>
<glossentry>
<glossterm>filename</glossterm>
<glossdef>
<para>nome del file</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>file system</glossterm>
<glossdef>
<para>architettura formata da un insieme di strutture dati che permetto
di organizzare e gestire i dati su disco</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="structure-file-system">sezione 2.2</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>foreground</glossterm>
<glossdef>
<para>riferito alla modalit&agrave; di gestione dell'esecuzione di un
processo in shell corrente: la shell aspetta che il processo termini
prima di riprendere la sua esecuzione</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="shells-job-control">sezione 5.5</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>G</title>
<glossentry>
<glossterm>groupid</glossterm>
<glossdef>
<para>numero che identifica in maniera univoca un gruppo di utenti su un
sistema Unix</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-login-identity">sezione 3.1.4</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>groupname</glossterm>
<glossdef>
<para>nome che identifica un gruppo su un sistema Unix</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-login-identity">sezione 3.1.4</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>H</title>
<glossentry>
<glossterm>hard link</glossterm>
<glossdef>
<para>link fisico tra due file</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="commands-work-files-ln">sezione 8.1.7</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>here document</glossterm>
<glossdef>
<para>speciale forma di quoting</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="shell-programming-here-doc">sezione 9.6</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>history</glossterm>
<glossdef>
<para>storia dei comandi digitati precedentemente</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="shells-history">sezione 5.6</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>I</title>
<glossentry>
<glossterm>inode</glossterm>
<glossdef>
<para>struttura di dati contenente informazioni sui file</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="structure-directories-files-inodes">sezione 2.3</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>J</title>
<glossentry>
<glossterm>job</glossterm>
<glossdef>
<para>sinonimo di processo</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>K</title>
<glossentry>
<glossterm>kernel</glossterm>
<glossdef>
<para>&egrave; il cuore del sistema operativo, il posto in cui sono
caricati tutti i driver per i device, gestisce i processi, le
operazione di I/O, ecc.</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>L</title>
<glossentry>
<glossterm>login</glossterm>
<glossdef>
<para>riferito sia al nome utente di un account Unix (login username)
sia alla fase (fase di login) di accesso a un sistema Unix
(login+password) (il riferimento risulta chiaro dal contesto)</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-login">sezione 3.1</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>M</title>
<glossentry>
<glossterm>man page</glossterm>
<glossdef>
<para>pagina del manuale di un sistema Unix</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-get-help">sezione 3.5</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>multi-level file system </glossterm>
<glossdef>
<para>file system a pi&ugrave; livelli organizzati in gerarchia</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="structure-file-system">sezione 2.2</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>multi-processor</glossterm>
<glossdef>
<para>o multi-tasking; capacit&agrave; del sistema operativo che
permette di eseguire pi&ugrave; programmi (processi) senza doverne
aspettare la terminazione sequenziale</para>
<para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione
2.1</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>multi-user</glossterm>
<glossdef>
<para>capacit&agrave; del sistema operativo che permette di gestire
pi&ugrave; utenti contemporaneamente</para>
<para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione
2.1</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>O</title>
<glossentry>
<glossterm>OS</glossterm>
<glossdef>
<para>operating system, sistema operativo</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>P</title>
<glossentry>
<glossterm>password</glossterm>
<glossdef>
<para>codice segreto di un account Unix utilizzato per autenticare un
utente nel sistema</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-login">sezione 3.1</link> e
<link
linkend="getting-started-login-passwords">sezione 3.1.2</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>path name</glossterm>
<glossdef>
<para>percorso dei nomi, che indica i <quote>rami</quote> del file
system (directory separate da un /) che bisogna attraversare per
raggiungere un determinato file o directory</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="structure-file-system">sezione 2.2</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>pattern</glossterm>
<glossdef>
<para>schema</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>pipe/piping</glossterm>
<glossdef>
<para>meccanismo che porta l'output di un comando nell'input di
un altro</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="special-features-file-redir">sezione 6.2</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>Q</title>
<glossentry>
<glossterm>quoting</glossterm>
<glossdef>
<para>tecnica di interpretazione di una stringa da parte della
shell</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="shell-programming-quoting">sezione 9.3</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>S</title>
<glossentry>
<glossterm>script</glossterm>
<glossdef>
<para>programma scritto nel linguaggio della shell</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="shell-programming-scripts">sezione 9.1</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>shell</glossterm>
<glossdef>
<para>interprete a linea di comando. &Egrave; l'interfaccia tra
l'utente e il sistema operativo (kernel)</para>
<para><emphasis>Vedere:</emphasis> <link linkend="shells">Capitolo
5</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>simbolic link</glossterm>
<glossdef>
<para>link simbolico (collegamento tramite path name) tra due file o
directory</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="commands-work-files-ln">sezione 8.1.7</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>system call</glossterm>
<glossdef>
<para>sono delle procedure (routine) standard, che i programmi utente
utilizzano per accedere ai servizi che il kernel mette
a disposizione</para>
<para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione
2.1</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>standard error</glossterm>
<glossdef>
<para>dispositivo standard di errori (terminale di default)</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="special-features-file-desc">sezione 6.1</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>standard input</glossterm>
<glossdef>
<para>dispositivo standard di ingresso (tastiera di default)</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="special-features-file-desc">sezione 6.1</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>standard output</glossterm>
<glossdef>
<para>dispositivo standard di uscita (terminale di default)</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="special-features-file-desc">sezione 6.1</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>super-user</glossterm>
<glossdef>
<para>o root, utente speciale che amministra un sistema Unix</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>U</title>
<glossentry>
<glossterm>userid</glossterm>
<glossdef>
<para>numero che identifica univocamente l'utente su un sistema
Unix</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-login-identity">sezione 3.1.4</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>username</glossterm>
<glossdef>
<para>o user, nome di un utente Unix (utilizzato nella fase di
login)</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="getting-started-login-identity">sezione 3.1.4</link></para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>V</title>
<glossentry>
<glossterm>verbose</glossterm>
<glossdef>
<para>modalit&agrave; di esecuzione di un comando che fornisce molte
informazioni addizionali (utile per gli utenti novizi)</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv>
<title>W</title>
<glossentry>
<glossterm>wild card</glossterm>
<glossdef>
<para>anche conosciuti come meta-caratteri, sono caratteri speciali
utilizzati in alcune circostanze per il confronto/sostituzione di
caratteri</para>
<para><emphasis>Vedere:</emphasis> <link
linkend="special-features-wildcard">sezione 6.4</link></para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>word-wrap</glossterm>
<glossdef>
<para>meccanismo che invia alla prossima riga l'intera parola fuori
margine</para>
</glossdef>
</glossentry>
</glossdiv>
</glossary>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "glossary")
End:
-->

View file

@ -0,0 +1,113 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<chapter id="history">
<title>Storia di Unix</title>
<para>1965 Bell Laboratory con la collaborazione del MIT e della General
Eletric lavorano per la realizzazione di un nuovo sistema operativo,
Multics, il quale vuole fornire, come principali caratteristiche,
capacit&agrave; multi-utente (multi-user), multi-processo (multi-processor)
e un file system multi-livello (gerarchico)
(multi-level file system).</para>
<para>1969 AT&amp;T era infelice del progresso di Multics e abbandona il
progetto. Ken Thompson, Dennis Ritchie, Rudd Canaday e Doug McIlroy,
alcuni programmatori dei Bell Lab che avevano lavorato nel progetto Multics,
progettano e implementano su un PDP-7 la prima versione del file system Unix
insieme ad alcune utility. Il nome Unix &egrave; stato assegnato da parte
di Brian Kernighan come gioco di parole su Multics.</para>
<para>1 Gennaio 1970 Inizio di Unix.</para>
<para>1971 Il sistema ora gira su un PDP-11 con 16 Kbyte di memoria, di cui
8 Kbyte per i programmi utente, e con un disco di 512 Kbyte.</para>
<para>Il suo primo reale impiego &egrave; come strumento di manipolazione
del testo in esclusiva per il dipartimento dei Bell Lab. Quel tipo di
utilizzo giustifica ulteriormente la ricerca e lo sviluppo attraverso la
programmazione di gruppo. Unix attira i programmatori perch&egrave;
&egrave; stato progettato con queste caratteristiche:</para>
<itemizedlist>
<listitem>
<para>ambiente di programmazione;</para>
</listitem>
<listitem>
<para>semplice interfaccia utente;</para>
</listitem>
<listitem>
<para>semplici utility che possono essere combinate per realizzare potenti
funzioni;</para>
</listitem>
<listitem>
<para>file system gerarchico (ad albero);</para>
</listitem>
<listitem>
<para>semplice interfacciamento con i dispositivi, in armonia con il
formato dei file;</para>
</listitem>
<listitem>
<para>sistema multi-utente e multi-processo;</para>
</listitem>
<listitem>
<para>architettura indipendente e trasparente all'utente.</para>
</listitem>
</itemizedlist>
<para>1973 Unix &egrave; riscritto prevalentemente in C, un nuovo linguaggio
di programmazione sviluppato da Dennis Ritchie. La codifica in questo
linguaggio di alto livello diminuisce fortemente lo sforzo necessario per
portare Unix su nuove macchine.</para>
<para>1974 Thompson e Ritchie descrivono in una relazione pubblicata in un
comunicato dell'ACM il nuovo sistema operativo Unix. Unix genera
entusiasmo nella comunit&agrave; accademica che lo vede come un potente
strumento di insegnamento per lo studio della programmazione di sistemi.
Poich&egrave; il decreto del 1956 impedisce ad AT&amp;T di
commercializzare il prodotto, viene concessa una licenza
all'Universit&agrave; per scopi educativi e una per esistenza
commerciale.</para>
<para>1977 Ci sono circa 500 siti Unix nel mondo.</para>
<para>1980 BSD 4.1 (software sviluppato da Berkeley).</para>
<para>1983 SunOS, BSD 4.2, Sys V.</para>
<para>1984 Ci sono circa 100.000 siti Unix che girano su differenti
piattaforme hardware, con differenti capacit&agrave;.</para>
<para>1988 AT&amp;T e Sun Microsystem sviluppano System V Release 4 (SVR4).
Questo sar&agrave; in futuro implementato in UnixWare e Solaris 2.</para>
<para>1993 Novell compra Unix da AT&amp;T.</para>
<para>1994 Novell porta il nome <emphasis>UNIX</emphasis> a X/OPEN.</para>
<para>1995 Santa Cruz Operation compra UnixWare da Novell. Santa Cruz
Operation e Hewlett-Packard annunciano lo sviluppo di una versione di Unix a
64 bit.</para>
<para>1996 International Data Corporation prevede che nel 1997 ci saranno 3
milioni di sistemi Unix nel mondo.</para>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "chapter")
End:
-->

View file

@ -0,0 +1,107 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<preface id="preface">
<title>Prefazione</title>
<para>Questo documento &egrave; rivolto in prevalenza a quelle persone che si
avvicinano per la prima volta a Unix, ma non solo.</para>
<para>Prima di iniziare ad esporre la traduzione di questo documento
volevo dire alcune cose. Alcune parole del testo originale in lingua
inglese non sono state tradotte in italiano, vuoi perch&egrave; la
rispettiva traduzione in italiano non &egrave; efficiente in termini di
comprensibilit&agrave;, vuoi perch&egrave; &egrave; di uso comune far
riferimento a queste direttamente in lingua inglese (vedi login, quoting,
built-in, here document, shell, background, pipe, script, ecc.). Inoltre mi
&egrave; sembrato opportuno e logico modificare l'ultima sezione di questo
documento, bibliografia di Unix (testi in lingua inglese), in una breve
bibliografia italiana di Unix. Infine ho aggiunto un glossario dove poter
trovare un elenco dei termini inglesi pi&ugrave; caldi incontrati in questo
documento e il loro significato corrispondente.</para>
<para>Non mi resta che augurarvi una buona lettura.</para>
<bridgehead id="preface-conv" renderas=sect1>Convenzioni usate in questo
libro</bridgehead>
<para>Per fornire un testo consistente e facile da leggere, sono state
seguite numerose convenzioni in tutto il libro.</para>
<bridgehead id="preface-typographic-conv" renderas=sect2>Convenzioni
Tipografiche</bridgehead>
<variablelist>
<varlistentry>
<term><emphasis>Italico</emphasis></term>
<listitem>
<para>Un font <emphasis>italico</emphasis> &egrave; per i nomi dei file,
per gli URL, per il testo enfatizzato, e per il primo utilizzo dei
termini tecnici.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>Monospazio</varname></term>
<listitem>
<para>Un font <varname>monospazio</varname> &egrave; usato per i
messaggi di errore, i comandi, le variabili di ambiente, i nomi di
host, i nomi degli utenti, i nomi dei gruppi, i nomi dei device, le
variabili, e i frammenti di codice.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><application>Grassetto</application></term>
<listitem>
<para>Un font in <application>grassetto</application> &egrave; per le
applicazioni, i comandi, e i tasti.</para>
</listitem>
</varlistentry>
</variablelist>
<bridgehead id="preface-command-conv" renderas="sect2">Input
dell'Utente</bridgehead>
<para>I tasti sono visualizzati in <keycap>grassetto</keycap> per
differenziarli dal testo normale. Le combinazioni di tasti che devono
essere digitate contemporaneamente sono visualizzate con un
`<literal>+</literal>' tra i tasti, come:</para>
<para><keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Del</keycap>
</keycombo></para>
<para>I tasti che devono essere digitati in sequenza saranno separati da
virgole, come per esempio:</para>
<para><keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>X</keycap>
</keycombo>, <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>S</keycap>
</keycombo></para>
<para>Vuol dire che l'utente deve digitare i tasti <keycap>Ctrl</keycap> e
<keycap>X</keycap> contemporaneamente e poi i tasti <keycap>Ctrl</keycap> e
<keycap>S</keycap>.</para>
</preface>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "preface")
End:
-->

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,565 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<chapter id="special-features">
<title>Caratteristiche speciali di Unix</title>
<para>Uno dei pi&ugrave; importanti contributi che Unix ha dato ai sistemi
operativi &egrave; stato quello di fornire molti strumenti per creare lavori
ordinari e per ottenere le informazioni che si desiderano. Un altro
&egrave; rappresentato dal modo standard con cui i dati sono memorizzati e
trasmessi in un sistema Unix. Questo permette di trasferire dati
<emphasis>in</emphasis> un file, nel terminale video o in un programma,
oppure <emphasis>da</emphasis> un file, dalla tastiera o da un programma,
sempre in maniera uniforme. Il trattamento standardizzato dei dati supporta
due importanti caratteristiche di Unix: la redirezione di I/O e il
piping.</para>
<para>Con la <emphasis>redirezione dell'output</emphasis>, l'output di un
comando viene rediretto su un file piuttosto che sul terminale video.
Con la <emphasis>redirezione dell'input</emphasis>, l'input di un comando
viene preso da un file piuttosto che dalla tastiera. Sono possibili
altre tecniche di redirezione dell'input e dell'output come
si vedr&agrave; in seguito. Con il <emphasis>piping</emphasis>, l'output di
un comando pu&ograve; essere usato come input di un comando successivo.
In questo capitolo si discuter&agrave; di alcune delle caratteristiche e
degli strumenti disponibili per gli utenti Unix.</para>
<sect1 id="special-features-file-desc">
<title>Descrittori di file</title>
<para>Ci sono 3 descrittori di file standard:</para>
<informaltable frame="none">
<tgroup cols="3">
<colspec colwidth="1in">
<colspec colwidth="0.5in">
<tbody>
<row>
<entry>&man.stdin.4;</entry>
<entry>0</entry>
<entry>Standard input per il programma</entry>
</row>
<row>
<entry>&man.stdout.4;</entry>
<entry>1</entry>
<entry>Standard output dal programma</entry>
</row>
<row>
<entry>&man.stderr.4;</entry>
<entry>2</entry>
<entry>Standard error (output) dal programma</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Normalmente l'input viene preso dalla tastiera o da un file.
Generalmente l'output, sia &man.stdout.4; che &man.stderr.4;, scorre nel
terminale, ma pu&ograve; essere rediretto, uno o entrambi, su uno o
pi&ugrave; file.</para>
<para>Si possono specificare descrittori di file addizionali, denotandoli
con un numero da 3 a 9 e redirigendo l'I/O attraverso questi.</para>
</sect1>
<sect1 id="special-features-file-redir">
<title>Redirezione di file</title>
<para>La redirezione dell'output prende l'output di un comando e lo
posiziona nel file specificato. La redirezione dell'input legge il file
specificato come input per un comando. La tabella che segue sintetizza le
possibili modalit&agrave; di redirezione.</para>
<table frame="all" id="special-features-table-file-redir">
<title>Redirezione di file</title>
<tgroup cols="2">
<colspec colwidth="1.5in">
<thead>
<row>
<entry align="center">SIMBOLO</entry>
<entry align="center">REDIREZIONE</entry>
</row>
</thead>
<tbody>
<row>
<entry><command>&gt;</command></entry>
<entry>redirezione dell'output</entry>
</row>
<row>
<entry><command>&gt;!</command></entry>
<entry>come sopra, ma non tiene conto dell'opzione
<emphasis>noclobber</emphasis> per &man.csh.1;</entry>
</row>
<row>
<entry><command>&gt;&gt;</command></entry>
<entry>appende l'output</entry>
</row>
<row>
<entry><command>&gt;&gt;!</command></entry>
<entry>come sopra, ma non tiene conto dell'opzione
<emphasis>noclobber</emphasis> su &man.csh.1; e crea il file se
non esiste</entry>
</row>
<row>
<entry><command>|</command></entry>
<entry>incalana (pipe) l'output nell'input di un altro
comando</entry>
</row>
<row>
<entry><command>&lt;</command></entry>
<entry>redirezione dell'input</entry>
</row>
<row>
<entry><command>&lt;&lt;<replaceable>Stringa</replaceable></command></entry>
<entry>legge da standard input fino a quando incontra una linea
contenente solo la parola <replaceable>Stringa</replaceable>.
Anche conosciuto come <emphasis>here document</emphasis>
(vedere il <link
linkend="shell-programming">Capitolo 9</link>)</entry>
</row>
<row>
<entry><command>&lt;&lt;\<replaceable>Stringa</replaceable></command></entry>
<entry>come sopra, ma le sostituzioni di shell non sono
permesse</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Un esempio di redirezione dell'output &egrave;:</para>
<para><command>cat <replaceable>file1 file2</replaceable> &gt;
<replaceable>file3</replaceable></command></para>
<para>Il precedente comando concatena
<filename><replaceable>file1</replaceable></filename>
e <filename><replaceable>file2</replaceable></filename> e redirige (manda)
l'output in <filename><replaceable>file3</replaceable></filename>. Se
<filename><replaceable>file3</replaceable></filename> non esiste, viene
creato. Se esiste, verr&agrave; troncato a lunghezza zero prima che il
nuovo contenuto sia inserito, oppure, se l'opzione
<emphasis>noclobber</emphasis> della shell &man.csh.1; &egrave; abilitata,
il comando verr&agrave; rifiutato (vedere la shell &man.csh.1; nel
<link linkend="shells">Capitolo 5</link>). I file originali
<filename><replaceable>file1</replaceable></filename> e
<filename><replaceable>file2</replaceable></filename> rimarranno
come erano prima dell'esecuzione del comando, ossia due entit&agrave;
separate.</para>
<para>L'output viene appeso a un file con la forma:</para>
<para><command>cat <replaceable>file1</replaceable> &gt;&gt;
<replaceable>file2</replaceable></command></para>
<para>Questo comando appende il contenuto di
<filename><replaceable>file1</replaceable></filename> alla fine
dell'esistente <filename><replaceable>file2</replaceable></filename>
(<filename><replaceable>file2</replaceable></filename> non viene
soprascritto).</para>
<para>L'input &egrave; rediretto (preso) da un file con la forma:</para>
<para><command><replaceable>programma</replaceable> &lt;
<replaceable>file</replaceable></command></para>
<para>Questo comando prende l'input per il
<command><replaceable>programma</replaceable></command> da
<filename><replaceable>file</replaceable></filename>.</para>
<para>Per incanalare (pipe) l'output di un programma nell'input di un altro
programma si usa la forma:</para>
<para><command><replaceable>comando</replaceable>|<replaceable>comando</replaceable></command></para>
<para>Questo comando assegna l'output del primo comando all'input del
secondo comando.</para>
<sect2 id="special-features-file-redir-csh">
<title>Csh</title>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="2in">
<tbody>
<row>
<entry><command>&gt;&amp;
<replaceable>file</replaceable></command></entry>
<entry>redirige &man.stdout.4; e &man.stderr.4; in
<filename><replaceable>file</replaceable></filename></entry>
</row>
<row>
<entry><command>&gt;&gt;&amp;
<replaceable>file</replaceable></command></entry>
<entry>appende &man.stdout.4; e &man.stderr.4; in
<filename><replaceable>file</replaceable></filename></entry>
</row>
<row>
<entry><command>|&amp;
<replaceable>comando</replaceable></command></entry>
<entry>crea una pipe tra &man.stdout.4;-&man.stderr.4; e il
<command><replaceable>comando</replaceable></command></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Per redirigere &man.stdout.4; e &man.stderr.4; in due file separati
si deve prima redirigere &man.stdout.4; in una sotto-shell,
cos&igrave;:</para>
<screen>&prompt.user; <userinput>(<replaceable>comando</replaceable> > <replaceable>out_file</replaceable>) >& <replaceable>err_file</replaceable></userinput></screen>
</sect2>
<sect2 id="special-features-file-redir-sh">
<title>Sh</title>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="2in">
<tbody>
<row>
<entry><command>2&gt;
<replaceable>file</replaceable></command></entry>
<entry>redirige &man.stderr.4; in
<filename><replaceable>file</replaceable></filename></entry>
</row>
<row>
<entry><command>&gt; <replaceable>file</replaceable>
2&gt;&amp;1</command></entry>
<entry>redirige &man.stdout.4; e &man.stderr.4; in
<filename><replaceable>file</replaceable></filename></entry>
</row>
<row>
<entry><command>&gt;&gt; <replaceable>file</replaceable>
2&gt;&amp;1</command></entry>
<entry>appende &man.stdout.4; e &man.stderr.4; in
<filename><replaceable>file</replaceable></filename></entry>
</row>
<row>
<entry><command>2&gt;&amp;1 |
<replaceable>comando</replaceable></command></entry>
<entry>crea una pipe tra &man.stdout.4;-&man.stderr.4; e il
<replaceable>comando</replaceable></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Per redirigere &man.stdout.4; e &man.stderr.4; in due file separati
si pu&ograve; fare:</para>
<screen>$ <userinput><replaceable>comando</replaceable> 1> <replaceable>out_file</replaceable> 2> <replaceable>err_file</replaceable></userinput></screen>
<para>oppure, data la redirezione di default per &man.stdout.4;:</para>
<screen>$ <userinput><replaceable>comando</replaceable> > <replaceable>out_file</replaceable> 2> <replaceable>err_file</replaceable></userinput></screen>
<para>Con la shell Bourne si possono specificare altri descrittori di file
(da 3 a 9) e redirigere l'output attraverso questi. Questo pu&ograve;
essere fatto con la forma:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1in">
<tbody>
<row>
<entry><command><replaceable>n</replaceable>&gt;&amp;<replaceable>m</replaceable></command></entry>
<entry>redirige il descrittore di file
<replaceable>n</replaceable> sul descrittore di file
<replaceable>m</replaceable></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Questo meccanismo viene utilizzato per mandare &man.stderr.4; nello
stesso posto di &man.stdout.4;, <command>2&gt;&amp;1</command>, quando
si vuole avere i messaggi di errore e i normali messaggi in un file
piuttosto che sul terminale. Se si vuole che solamente i messaggi di
errore vadano nel file, si pu&ograve; usare un descrittore di file di
supporto, 3. Si redirige prima 3 su 2, quindi 2 su 1 e in fine si
redirige 1 su 3.</para>
<screen>$ <userinput>(<replaceable>comando</replaceable> 3>&2 2>&1 1>&3) > <replaceable>file</replaceable></userinput></screen>
<para>Questo manda &man.stderr.4; in 1 e &man.stdout.4; in 3 che &egrave;
rediretto su 2. In questo modo, in effetti, si ribaltano i normali
significati dei descrittori di file 1 e 2. Si pu&ograve; sperimentare
tutto questo con l'esempio seguente:</para>
<screen>$ <userinput>(cat <replaceable>file</replaceable> 3>&2 2>&1 1>&3) > <replaceable>errfile</replaceable></userinput></screen>
<para>Quindi se <filename><replaceable>file</replaceable></filename>
&egrave; letto, l'informazione &egrave; scartata dall'output del
comando, ma se <filename><replaceable>file</replaceable></filename> non
pu&ograve; essere letto, i messaggi di errore sono messi nel file
<filename><replaceable>errfile</replaceable></filename> per usi
futuri.</para>
<para>I descrittori di file che sono stati creati possono essere chiusi
con:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1in">
<tbody>
<row>
<entry><command><replaceable>m</replaceable>&lt;&amp;-</command></entry>
<entry>chiude un descrittore di file di input</entry>
</row>
<row>
<entry><command>&lt;&amp;-</command></entry>
<entry>chiude &man.stdin.4;</entry>
</row>
<row>
<entry><command><replaceable>m</replaceable>&gt;&amp;-</command></entry>
<entry>chiude un descrittore di file di output</entry>
</row>
<row>
<entry><command>&gt;&amp;-</command></entry>
<entry>chiude &man.stdout.4;</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>
<sect1 id="special-features-special-comm-simb">
<title>Altri speciali simboli di comando</title>
<para>Oltre ai simboli di redirezione dei file ci sono altri
simboli speciali che si possono usare su linea di comando.
Alcuni di questi sono:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1.5in">
<tbody>
<row>
<entry><command>;</command></entry>
<entry>separatore di comandi</entry>
</row>
<row>
<entry><command>&amp;</command></entry>
<entry>esegue un comando in background</entry>
</row>
<row>
<entry><command>&amp;&amp;</command></entry>
<entry>esegue il comando seguente (a questo simbolo) solamente se il
comando precedente (a questo simbolo) &egrave; stato completato
con successo, esempio:
<command>grep <replaceable>stringa file</replaceable> && cat
<replaceable>file</replaceable></command></entry>
</row>
<row>
<entry><command>||</command></entry>
<entry>esegue il comando seguente (a questo simbolo) solamente se il
comando precedente (a questo simbolo) non &egrave; stato
completato con successo, esempio:
<command>grep <replaceable>stringa file</replaceable> ||
echo "Stringa non trovata."</command></entry>
</row>
<row>
<entry><command>( )</command></entry>
<entry>i comandi tra parentesi sono eseguiti in una sotto-shell.
L'output della sotto-shell pu&ograve; essere manipolato come
specificato nelle precedenti sezioni.</entry>
</row>
<row>
<entry><command>' '</command></entry>
<entry>segni di quoting letterali. All'interno di questi segni di
quoting non viene permesso ad alcuni caratteri di assumere
significati speciali.</entry>
</row>
<row>
<entry><command>\</command></entry>
<entry>considera il prossimo carattere letteralmente
(escape)</entry>
</row>
<row>
<entry><command>" "</command></entry>
<entry>segni di quoting regolari. All'interno di questi segni di
quoting sono permesse sostituzioni di variabili e di comando
(non disattivano $ e \ all'interno della stringa).</entry>
</row>
<row>
<entry><command>`<replaceable>comando</replaceable>`</command></entry>
<entry>prende l'output del comando e lo sostituisce nell'argomento
su linea di comando</entry>
</row>
<row>
<entry><command>#</command></entry>
<entry>ogni cosa che lo segue fino a un newline &egrave; un
commento</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Inoltre, il carattere \ pu&ograve; essere usato per effettuare un
escape sul carattere di newline, in modo tale da continuare un
lungo comando su pi&ugrave; di una linea fisica di testo.</para>
</sect1>
<sect1 id="special-features-wildcard">
<title>Meta caratteri</title>
<para>La shell e alcuni programmi di manipolazione testo permettono i
<emphasis>meta-caratteri</emphasis>, chiamati anche
<emphasis>wild card</emphasis>, i quali vengono rimpiazzati dai
corrispondenti schemi (pattern). Per i nomi di file questi
<emphasis>meta-caratteri</emphasis> e i loro significati sono:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1.5in">
<tbody>
<row>
<entry><emphasis>?</emphasis></entry>
<entry>indica un singolo carattere alla posizione
indicata</entry>
</row>
<row>
<entry><emphasis>*</emphasis></entry>
<entry>indica una stringa di zero o pi&ugrave;
caratteri</entry>
</row>
<row>
<entry><emphasis>[abc...]</emphasis></entry>
<entry>indica un carattere tra quelli racchiusi</entry>
</row>
<row>
<entry><emphasis>[a-e]</emphasis></entry>
<entry>indica un carattere tra quelli nel range a, b, c, d,
e</entry>
</row>
<row>
<entry><emphasis>[!def]</emphasis></entry>
<entry>indica un carattere tra quelli non inclusi in parentesi,
solamente &man.sh.1;</entry>
</row>
<row>
<entry><emphasis>{abc,bcd,cde}</emphasis></entry>
<entry>indica un set di caratteri tra quelli inclusi in parentesi,
separati da una virgola (,) (niente spazi), solamente
&man.csh.1;</entry>
</row>
<row>
<entry><emphasis>~</emphasis></entry>
<entry>indica la directory home dell'utente corrente, solamente
&man.csh.1;</entry>
</row>
<row>
<entry><emphasis>~<replaceable>user</replaceable></emphasis></entry>
<entry>indica la directory home dell'utente specificato, solamente
&man.csh.1;</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "chapter")
End:
-->

View file

@ -0,0 +1,175 @@
<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<chapter id="structure">
<title>Struttura di Unix</title>
<sect1 id="structure-os">
<title>Il sistema operativo</title>
<para>Unix &egrave; un sistema operativo a strati. Lo strato pi&ugrave;
interno &egrave; l'hardware il quale fornisce servizi al OS. Il sistema
operativo (OS), riferito in Unix come al <emphasis>kernel</emphasis>,
interagisce direttamente con l'hardware e fornisce i servizi ai programmi
utente. I programmi utente non necessitano di conoscere informazioni
sull'hardware. Devono solo sapere come interagire con il kernel ed
&egrave; quest'ultimo a fornire i servizi richiesti. Uno dei pi&ugrave
grandi fattori che ha contribuito alla richiesta di Unix da parte dei
programmatori &egrave; stato che molti programmi utente corretti
sono indipendenti dall'hardware sottostante, e ci&ograve; li rende
facilmente trasportabili su nuovi sistemi.</para>
<para>I programmi utente interagiscono con il kernel attraverso un set di
<emphasis>system call</emphasis> (chiamate di sistema) standard. Queste
system call chiedono dei servizi, servizi che saranno forniti dal kernel.
Cos&igrave; i servizi possono includere un accesso a un file: aprire,
chiudere, leggere, scrivere un file, creare un link o eseguire un file;
creare o aggiornare degli account (informazioni relative ad un utente come
nome, password, ecc.); cambiare il proprietario di un file o di una
directory; spostarsi in una nuova directory; creare, sospendere o
terminare un processo; abilitare l'accesso a un dispositivo hardware e
impostare dei limiti sulle risorse di sistema.</para>
<para>Unix &egrave; un sistema operativo <emphasis>multi-user</emphasis>
(multi-utente) e <emphasis>multi-tasking</emphasis> (multi-processo). Si
possono avere molti utenti <quote>loggati</quote> simultaneamente nel
sistema (multi-user), ognuno dei quali esegue alcuni programmi
(multi-tasking). &Egrave; compito del kernel mantenere ogni processo e
ogni utente separato e regolare l'accesso all'hardware di sistema, inclusa
la cpu, la memoria, il disco e altri dispositivi di I/O.</para>
<programlisting>
FIGURA 2.1 Struttura di un sistema Unix
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| Programmi |
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
| | | |
| | Kernel | |
| | _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
| | | Hardware | | |
| | |_ _ _ _ _ _ _ _ _ _ _ _ _ _| | |
| | | |
| | System Call | |
| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _| |
| |
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|</programlisting>
</sect1>
<sect1 id="structure-file-system">
<title>Il file system</title>
<para>L'aspetto del file system di Unix &egrave; paragonabile alla struttura
rovesciata di un albero. Si parte dall'alto con la directory
<emphasis>root</emphasis>, denotata con <filename>/</filename>, per poi
scendere attraverso sotto-directory sottostanti la root.</para>
<programlisting>
FIGURA 2.2 Struttura del file system di Unix
/(root) 1 livello
| | | | |
bin dev etc tmp usr 2 livello
| | | | | | | | |
sh date csh ttya cua0 passwd group bin lib 3 livello
|
gcc 4 livello
.... n livello</programlisting>
<para>Ogni nodo &egrave; o un <emphasis>file</emphasis> o una
<emphasis>directory</emphasis> di file, dove quest'ultima pu&ograve;
contenere altri file e directory. Un file o una directory vengono
specificati attraverso il loro <emphasis>path name</emphasis> (percorso
del nome del file o della directory), il quale pu&ograve; essere un path
name assoluto oppure un path name relativo ad un'altra locazione. Un path
name assoluto inizia con la directory root, <filename>/</filename>,
seguono poi i <quote>rami</quote> del file system, ognuno separato da /,
fino a raggiungere il file desiderato, come per esempio:</para>
<para><filename>/home/condron/source/xntp</filename></para>
<para>Un path name relativo specifica un percorso relativo ad un altro path
name, che usualmente &egrave; la directory di lavoro corrente in cui ci si
trova. Sono ora introdotte due directory speciali:</para>
<para><filename>.</filename> la directory corrente</para>
<para><filename>..</filename> la directory padre della directory
corrente</para>
<para>Quindi se si &egrave; in <filename>/home/frank</filename> e si
desidera specificare un path nel modo relativo si pu&ograve; usare:</para>
<para><filename>../condron/source/xntp</filename></para>
<para>Questo indica che si deve prima salire di un livello di directory,
quindi passare attraverso la directory <filename>condron</filename>,
seguire la directory <filename>source</filename> e quindi
<filename>xntp</filename>.</para>
</sect1>
<sect1 id="structure-directories-files-inodes">
<title>Directory, file e inode Unix</title>
<para>Ogni <emphasis>directory</emphasis> e ogni <emphasis>file</emphasis>
sono inclusi nella loro directory padre. Nel caso della directory root,
la directory padre &egrave; se stessa. Una directory &egrave; un file
contenente una tabella che elenca i file contenuti nella directory stessa,
dove ai nomi dei file in lista vengono assegnati i corrispondenti numeri
di <emphasis>inode</emphasis>. Un inode &egrave; un file speciale,
progettato per essere letto dal kernel al fine di conoscere alcune
informazioni su ciascun file. Un inode specifica i permessi del file, il
proprietario del file, la data di creazione, quella dell'ultimo accesso e
quella dell'ultima modifica del file e la posizione fisica dei blocchi di
dati sul disco che contengono il file.</para>
<para>Il sistema non richiede qualche struttura particolare per i dati
contenuti nel file. Il file pu&ograve; essere ASCII o binario o una
combinazione di questi e pu&ograve; rappresentare dati testuali, uno
script di shell, un codice oggetto compilato per un programma, una tabella
di directory, robaccia o qualunque cosa si voglia.</para>
<para>Non c'&egrave; un'intestazione, una traccia, un'etichetta o il
carattere <emphasis>EOF</emphasis> come parte del file.</para>
</sect1>
<sect1 id="structure-programs">
<title>Programmi Unix</title>
<para>Un <emphasis>programma</emphasis> o un <emphasis>comando</emphasis>
interagisce con il kernel per fornire l'ambiente e realizzare le
funzioni richieste dall'utente. Un programma pu&ograve; essere: un file
di shell eseguibile, conosciuto come uno script di shell, un comando
interno (built-in) alla shell o un file sorgente compilato in codice
oggetto.</para>
<para>La <emphasis>shell</emphasis> &egrave; un interprete a linea di
comando. L'utente interagisce con il kernel attraverso la shell. Si
pu&ograve; scrivere uno script ASCII (testo) in modo tale da essere
interpretato da una shell.</para>
<para>I programmi di sistema sono generalmente in forma binaria, compilati
partendo da un codice sorgente in C. Questi si trovano in posti come
<filename>/bin</filename>, <filename>/usr/bin</filename>,
<filename>/usr/local/bin</filename>, <filename>/usr/ucb</filename>, ecc.
Questi comandi forniscono quelle funzionalit&agrave; che normalmente si
pensano essere di Unix. Alcuni di questi sono &man.sh.1;, &man.csh.1;,
&man.date.1;, &man.who.1;, &man.more.1;, &man.ls.1; e molti altri.</para>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "book" "chapter")
End:
-->

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff