doc/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml
Tom Rhodes 2e6dbe9339 Add the Italian translated unix-introduction book. These still need individual
Makefiles.

Submitted by:	Alex Dupre <sysadmin@alexdupre.com>
2003-03-19 18:46:43 +00:00

2223 lines
No EOL
74 KiB
Text

<!--
The FreeBSD Italian Documentation Project
$FreeBSD$
-->
<chapter id="getting-started">
<title>Iniziamo</title>
<sect1 id="getting-started-login">
<title>Effettuare il login</title>
<para>Una volta che l'utente si &egrave; collegato a un sistema Unix, gli
viene chiesto di inserire un <emphasis>login</emphasis> username
(nome utente) e una <emphasis>password</emphasis> (codice segreto). Il
login username &egrave; il nome univoco dell'utente sul sistema. La
password &egrave; un codice modificabile conosciuto solo dall'utente.
Alla richiesta di <emphasis>login</emphasis>, l'utente deve inserire lo
username e alla richiesta della <emphasis>password</emphasis>, deve essere
inserita la password effettiva.</para>
<note>
<para><emphasis>Unix &egrave; un sistema case sensitive</emphasis> (fa
distinzione tra caratteri minuscoli e maiuscoli). Quindi sia il
<emphasis>login</emphasis> username che la <emphasis>password</emphasis>
devono essere inseriti esattamente come sono stati creati; il login
username &egrave; normalmente in minuscolo.</para>
</note>
<sect2 id="getting-started-login-terminal-type">
<title>Tipi di terminali</title>
<para>Molti sistemi sono configurati in modo tale da richiedere all'utente
il tipo di terminale da usare, il quale dovrebbe essere settato al tipo
di terminale usato nella fase di login. Molti computer lavorano
se si sceglie il tipo <literal>vt100</literal>. Gli utenti connessi
tramite una workstation Sun molto probabilmente useranno il tipo
<literal>sun</literal>; quelli che usano un Terminale-X molto
probabilmente useranno <literal>xterms</literal> oppure
<literal>xterm</literal>.</para>
<para>Il tipo di terminale indica al sistema Unix come interagire quando
una sessione viene aperta.</para>
<para>Pu&ograve; essere necessario risettare il tipo di terminale,
digitando il comando:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="3.3in">
<tbody>
<row>
<entry><command>setenv TERM <replaceable>&lt;tipo di
terminale&gt;</replaceable></command></entry>
<entry>-se si usa la shell C
(vedere <link linkend="shells">Capitolo 5</link>)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>(Inoltre su alcuni sistemi Unix, ad esempio MAGNUS, &egrave;
necessario dare il comando <command>unsetenv
TERMCAP</command>.)</para>
<para>oppure</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="3.3in">
<tbody>
<row>
<entry><command>TERM=<replaceable>&lt;tipo di
terminale&gt;</replaceable>; export TERM</command></entry>
<entry>-se si usa la shell Bourne
(vedere <link linkend="shells">Capitolo 5</link>)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>dove <replaceable>&lt;tipo di terminale&gt;</replaceable> &egrave;
il tipo di terminale, come <literal>vt100</literal>, che si desidera
settare.</para>
</sect2>
<sect2 id="getting-started-login-passwords">
<title>Password</title>
<para>Quando viene assegnato il proprio account, si riceve una password
iniziale. Questa password &egrave; importate sia per la sicurezza
del sistema sia per una sicurezza personale, perci&ograve; la password
per il proprio account pu&ograve; essere cambiata a propria scelta. Il
comando per cambiare una password &egrave;
&man.passwd.1;. Verr&agrave; chiesto di inserire sia la propria
vecchia password, sia la nuova password desiderata, quest'ultima due
volte. Se si sbaglia la propria vecchia password o non si inserisce
quella nuova nello stesso modo per due volte, il sistema
indicher&agrave; che la password non ha subito cambiamenti.</para>
<para>Alcuni amministratori di sistema hanno programmi che verificano
l'accuratezza di una password (che deve essere sufficientemente criptica
per assicurare una certa sicurezza al sistema). Un cambiamento di
password pu&ograve; essere rifiutato da questi programmi.</para>
<para>Quando si sceglie una password, &egrave; importante che questa non
sia in qualche modo indovinabile n&eacute; per qualche sconosciuto
che tenta di scoprirla n&eacute; per un conoscente. I suggerimenti per
scegliere e mantenere una password sono i seguenti:</para>
<itemizedlist>
<listitem>
<para>non usare una parola (o parole) di un linguaggio;</para>
</listitem>
<listitem>
<para>non usare il proprio nome;</para>
</listitem>
<listitem>
<para>non usare informazioni che possono essere trovate nel proprio
portafoglio;</para>
</listitem>
<listitem>
<para>non usare informazioni comunemente conosciute circa se stessi
(come il soprannome, patente di guida, ecc.);</para>
</listitem>
<listitem>
<para>non usare caratteri di controllo. Alcuni sistemi non li
accettano;</para>
</listitem>
<listitem>
<para>non scrivere la password in qualche posto;</para>
</listitem>
<listitem>
<para>non dare la propria password a *nessuno*;</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<para>usare un mix di tipi di caratteri (alfabetici, numerici,
speciali);</para>
</listitem>
<listitem>
<para>usare un mix di caratteri maiuscoli e caratteri
minuscoli;</para>
</listitem>
<listitem>
<para>usare un minimo di 6 caratteri;</para>
</listitem>
<listitem>
<para>scegliere una password in modo da poterla ricordare;</para>
</listitem>
<listitem>
<para>cambiare di frequente la propria password;</para>
</listitem>
<listitem>
<para>assicurarsi che nessuna persona vicino a voi vi guardi quando si
inserisce la propria password.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="getting-started-login-exiting">
<title>Uscita</title>
<para><keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>D</keycap>
</keycombo> - indica la fine di un flusso di dati;
pu&ograve; far uscire dal sistema un utente. L'ultimo caso &egrave;
disabilitato su molti sistemi</para>
<para><keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>C</keycap>
</keycombo> - interruzione</para>
<para>&man.logout.1; - rilascia il sistema</para>
<para>&man.exit.1; - rilascia la shell</para>
</sect2>
<sect2 id="getting-started-login-identity">
<title>Identit&agrave;</title>
<para>Il sistema identifica un utente attraverso il numero di utente e il
numero di gruppo (rispettivamente <emphasis>userid</emphasis> e
<emphasis>groupid</emphasis>) assegnati dall'amministratore di sistema.
Generalmente non &egrave; necessario conoscere il proprio userid e
groupid, poich&egrave; il sistema traduce in modo automatico lo userid
in username (e viceversa) ed il groupid in groupname (e viceversa).
Probabilmente si conosce gi&agrave; lo username: &egrave; il nome
utilizzato per il login. Il groupname non &egrave; ovvio, e in
realt&agrave; si pu&ograve; appartenere a pi&ugrave; di un gruppo. Il
proprio gruppo primario &egrave; quello associato con il proprio
username nel file database delle password, configurato
dall'amministratore di sistema. Similmente, c'&egrave; un file database
per i gruppi, dove l'amministratore di sistema pu&ograve; assegnare
gruppi aggiuntivi ad un utente.</para>
<para>Nei seguenti esempi il simbolo &prompt.user; &egrave; il proprio
prompt di shell e non va digitato.</para>
<para>Si pu&ograve; determinare il proprio userid e la lista dei gruppi di
appartenenza con i comandi &man.id.1; e &man.groups.1;. Su alcuni
sistemi &man.id.1; mostra le informazioni sull'utente e le informazioni
sul gruppo primario, esempio:</para>
<screen>&prompt.user; <userinput>id</userinput>
uid=1101(frank) gid=10(staff)</screen>
<para>su altri sistemi mostra anche le informazioni sui gruppi aggiuntivi
di appartenenza:</para>
<screen>&prompt.user; <userinput>id</userinput>
uid=1101(frank) gid=10(staff) groups=10(staff),5(operator),14(sysadmin),110(uts)</screen>
<para>Il comando &man.groups.1; mostra le informazioni di tutti i gruppi
di appartenenza, esempio:</para>
<screen>&prompt.user; <userinput>groups</userinput>
staff sysadmin uts operator</screen>
</sect2>
</sect1>
<sect1 id="getting-started-comm-line-struct">
<title>Struttura della linea di comando di Unix</title>
<para>Un <emphasis>comando</emphasis> &egrave; un programma che chiama
il sistema Unix per qualche compito. Un comando ha la forma:</para>
<para><command><replaceable>comando</replaceable>
[<replaceable>opzioni</replaceable>]
[<replaceable>argomenti</replaceable>]</command></para>
<para>dove un <emphasis>argomento</emphasis> indica su cosa il comando deve
realizzare la sua azione, generalmente un file o una serie di file.
Un'opzione modifica il comando, cambiandone il modo di esecuzione.</para>
<para>I comandi sono case sensitive (sensibili alle lettere maiuscole e
minuscole). <command><replaceable>comando</replaceable></command>
e <command><replaceable>Comando</replaceable></command> non sono
la stessa cosa.</para>
<para>Le <emphasis>opzioni</emphasis> sono generalmente precedute da un
trattino (<keycap>-</keycap>) e per molti comandi, pi&ugrave; opzioni
possono essere messe insieme nella forma:</para>
<para><command><replaceable>comando</replaceable>
-[<replaceable>opzione</replaceable>][<replaceable>opzione</replaceable>][<replaceable>opzione</replaceable>]</command></para>
<para>esempio:</para>
<para><command>ls -alR</command></para>
<para>che mostrer&agrave; un listato lungo di tutti i file che si trovano
nella directory corrente e ricorsivamente anche quelli che si trovano in
tutte le sotto-directory.</para>
<para>In molti comandi si possono separare le opzioni, facendole precedere
ognuna da un trattino, esempio:</para>
<para><command><replaceable>comando
-opzione1 -opzione2 -opzione3</replaceable></command></para>
<para>come in:</para>
<para><command>ls -a -l -R</command></para>
<para>Alcuni comandi hanno opzioni che richiedono parametri. Le opzioni che
richiedono parametri sono di solito specificate separatamente,
esempio:</para>
<para><command>lpr -Pprinter3 -#2 file</command></para>
<para>che trasmetter&agrave; 2 copie del file specificato a
<devicename>printer3</devicename>.</para>
<para>Ci sono delle convenzioni standard per i comandi. Comunque, non tutti
i comandi Unix seguono questo standard. Alcuni non richiedono il trattino
prima dell'opzione e alcuni non permettono di mettere insieme pi&ugrave;
opzioni, per esempio alcuni possono richiedere che ogni opzione sia
preceduta da un trattino e separata con uno spazio bianco da un'altra
opzione o argomento.</para>
<para>Le opzioni e la sintassi di un comando sono mostrate nelle
<emphasis>pagine man</emphasis> del comando.</para>
</sect1>
<sect1 id="getting-started-control-keys">
<title>Tasti di controllo</title>
<para>I <emphasis>tasti di controllo</emphasis> sono usati per realizzare
speciali funzioni su linea di comando o all'interno di un editor.
Queste funzioni possono essere generate premendo contemporaneamente il
tasto <keycap>control</keycap> e alcuni altri <emphasis>tasti</emphasis>.
Questa combinazione &egrave; generalmente indicata con
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap><replaceable>Tasto</replaceable></keycap>
</keycombo> (oppure <keycombo action="simul">
<keycap>^</keycap>
<keycap><replaceable>Tasto</replaceable></keycap>
</keycombo>). <keycombo action="simul">
<keycap>Control</keycap>
<keycap>S</keycap>
</keycombo> pu&ograve; essere scritto come <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>S</keycap>
</keycombo> (oppure <keycombo action="simul">
<keycap>^</keycap>
<keycap>S</keycap>
</keycombo>). Con i tasti di controllo le lettere maiuscole e minuscole
sono la stessa cosa, cos&igrave; <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>S</keycap>
</keycombo> &egrave; lo stesso di <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>s</keycap>
</keycombo>. Questo particolare esempio (<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>S</keycap>
</keycombo>) &egrave; un segnale di <emphasis>stop</emphasis> e
dice al terminale di non accettare pi&ugrave; input. Il terminale
rimarr&agrave; sospeso finch&egrave; un segnale di
<emphasis>start</emphasis> <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Q</keycap>
</keycombo> non sar&agrave; generato.</para>
<para><keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>U</keycap>
</keycombo> &egrave; normalmente il segnale di
<quote><emphasis>cancellazione di linea</emphasis></quote> per il proprio
terminale. Quando lo si digita, l'intera linea di input viene
cancellata.</para>
<para>Nell'editor &man.vi.1; si possono inserire i tasti
di controllo all'interno del file di testo facendo seguire a
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>V</keycap>
</keycombo> il carattere di controllo desiderato; cos&igrave; per
inserire in un documento <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>H</keycap>
</keycombo> si digita <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>V</keycap>
</keycombo>, <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>H</keycap>
</keycombo>.</para>
</sect1>
<sect1 id="getting-started-stty">
<title>stty - controllo del terminale</title>
<para>&man.stty.1; mostra o configura le opzioni di controllo del terminale.
L'abbreviazione <quote><emphasis>tty</emphasis></quote> risale fino ai
giorni dei <quote>teletypewrite</quote>, che erano associati alla
trasmissione di messaggi telegrafici ed erano primitivi modelli di
terminali di computer.</para>
<para>Per i nuovi utenti, l'uso principale del comando &man.stty.1; riguarda
l'assegnazione della funzione di <quote>cancellazione di linea</quote> ad
un tasto specifico per i loro terminali. Per i programmatori di sistema o
per chi scrive script di shell, il comando &man.stty.1; fornisce uno
strumento prezioso per la configurazione di molti aspetti legati al
controllo di I/O di un dispositivo specifico, inclusi i seguenti:</para>
<itemizedlist>
<listitem>
<para>carattere di erase (eliminazione carattere) e di
line-kill (eliminazione linea);</para>
</listitem>
<listitem>
<para>velocit&agrave; di trasmissione dati;</para>
</listitem>
<listitem>
<para>controllo di parit&agrave; sulla trasmissione dati;</para>
</listitem>
<listitem>
<para>controllo del flusso hardware;</para>
</listitem>
<listitem>
<para>carattere di nuova linea (&lt;NL&gt;), di return (&lt;CR&gt;) e di
alimentazione linea (&lt;LF&gt;);</para>
</listitem>
<listitem>
<para>interpretazione del carattere tab;</para>
</listitem>
<listitem>
<para>modifica di un input grezzo;</para>
</listitem>
<listitem>
<para>trasformazione di lettere minuscole in lettere maiuscole.</para>
</listitem>
</itemizedlist>
<para>Il comando &man.stty.1; &egrave; molto dipendente dal sistema, quindi
consultare le relative <emphasis>pagine man</emphasis> sul proprio sistema
per i dettagli.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>stty [<replaceable>opzioni</replaceable>]</command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1.5in">
<tbody>
<row>
<entry><option>(none)</option></entry>
<entry>mostra i settaggi del terminale</entry>
</row>
<row>
<entry><option>all (-a)</option></entry>
<entry>mostra tutte le opzioni</entry>
</row>
<row>
<entry><option>echoe</option></entry>
<entry>richiama ERASE come BS-spazio-BS</entry>
</row>
<row>
<entry><option>dec</option></entry>
<entry>imposta la modalit&agrave; specifica dei sistemi operativi
conformi al Digital Equipment Corporation (che distinguono ERASE
da BACKSPACE) (non disponibile su tutti i sistemi)</entry>
</row>
<row>
<entry><option>kill</option></entry>
<entry>imposta il carattere per LINE-KILL</entry>
</row>
<row>
<entry><option>erase</option></entry>
<entry>imposta il carattere per ERASE</entry>
</row>
<row>
<entry><option>intr</option></entry>
<entry>imposta il carattere per INTERRUPT</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<para>Con il comando &man.stty.1; si possono visualizzare e cambiare i
settaggi del proprio terminale di controllo. Per visualizzare tutti
(<option>-a</option>) i settaggi correnti:</para>
<screen>&prompt.user; <userinput>stty -a</userinput>
speed 38400 baud, 24 rows, 80 columns
parenb -parodd cs7 -cstopb -hupcl cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc
ixon -ixany -ixoff imaxbel
isig iexten icanon -xcase echo echoe echok -echonl -noflsh -tostop
echoctl -echoprt echoke
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel
erase kill werase rprnt flush lnext susp intr quit stop eof
^H ^U ^W ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D</screen>
<para>Per cambiare i settaggi usando &man.stty.1;, ad esempio per cambiare
il carattere di erase da <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>?</keycap>
</keycombo> (il tasto elimina) a <keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>H</keycap>
</keycombo>:</para>
<screen>&prompt.user; <userinput>stty erase ^H</userinput></screen>
<para>Questo setter&agrave; l'opzione del terminale solamente per la
sessione corrente. Per far in modo che questo comando sia eseguito
automaticamente ad ogni login, &egrave; possibile inserire tale comando
nel file <filename>.login</filename> o <filename>.profile</filename> di
cui si parler&agrave; pi&ugrave; avanti.</para>
</sect1>
<sect1 id="getting-started-get-help">
<title>Ottenere aiuto</title>
<para>Il manuale di Unix, usualmente chiamato <emphasis>man page</emphasis>
(pagine man), &egrave; disponibile per spiegare l'uso del sistema Unix e
dei suoi comandi. Per servirsi di una pagina man digitare il comando
&man.man.1; al prompt di sistema seguito dal comando di cui si necessitano
informazioni.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>man [<replaceable>opzioni</replaceable>]
<replaceable>nome_comando</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1.5in">
<tbody>
<row>
<entry><option>-k
<replaceable>parola_chiave</replaceable></option></entry>
<entry>mostra alcune linee riassuntive dei comandi contenenti la
parola chiave richiesta</entry>
</row>
<row>
<entry><option>-M <replaceable>path</replaceable></option></entry>
<entry>percorso per le pagine man</entry>
</row>
<row>
<entry><option>-a</option></entry>
<entry>mostra tutte le pagine man trovate (SVR4)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<para>Si pu&ograve; usare &man.man.1; per ottenere una linea riassuntiva di
alcuni comandi che contengono la parola che si vuole ricercare con
l'opzione <option>-k</option>, ad esempio per cercare la parola
<emphasis>password</emphasis>, si digita:</para>
<screen>&prompt.user; <userinput>man -k password</userinput>
passwd (5) - password file
passwd (1) - cambia la password</screen>
<para>Il numero in parentesi indica la sezione delle pagine man dove sono
stati trovati i riferimenti. Si pu&ograve; accedere a quella pagina man
(di default si fa riferimento al numero di sezione pi&ugrave; basso, ma si
pu&ograve; usare un'opzione su linea di comando per specificarne uno
differente) con:</para>
<screen>&prompt.user; <userinput>man passwd</userinput>
PASSWD(1) USER COMMANDS PASSWD(1)
NOME
passwd - cambia password
SINTASSI
passwd [ -e login_shell ] [ username ]
DESCRIZIONE
passwd cambia (o setta) la password di un utente.
passwd chiede per due volte la nuova password, senza mostrarla.
Questo per prendere in considerazione la possibilit&agrave; di digitare errori.
Solamente l'utente stesso e il super-user possono cambiare la password
di un utente.
OPZIONI
-e Cambia la shell di login dell'utente.</screen>
<para>Qui l'output &egrave; stato parafrasato e troncato per una questione
di spazio e di copyright.</para>
</sect1>
<sect1 id="getting-started-directory-nav-control">
<title>Navigazione e controllo delle directory</title>
<para>Il file system di Unix &egrave; organizzato come la struttura
ramificata di un albero a partire da root. La directory
<emphasis>root</emphasis> del sistema &egrave; rappresentata dal carattere
di slash in avanti (<filename>/</filename>). Le directory di sistema e
quelle degli utenti sono organizzate sotto la directory
<emphasis>root</emphasis>. In Unix l'utente non ha una directory root;
generalmente dopo il login gli utenti vengono posizionati nella loro
directory <emphasis>home</emphasis>. Gli utenti possono creare altre
directory sotto la loro directory <emphasis>home</emphasis>. La tabella
che segue mostra alcuni comandi per la navigazione tra directory.</para>
<table frame="all" id="getting-started-table-directory-nav-control">
<title>Comandi di navigazione e controllo delle directory</title>
<tgroup cols="2">
<colspec colwidth="3in">
<thead>
<row>
<entry align="center">Comando/Sintassi</entry>
<entry align="center">Cosa fa</entry>
</row>
</thead>
<tbody>
<row>
<entry><command>cd
[<replaceable>directory</replaceable>]</command></entry>
<entry>cambia directory</entry>
</row>
<row>
<entry><command>ls
[<replaceable>opzioni</replaceable>][<replaceable>directory
o file</replaceable>]</command></entry>
<entry>lista il contenuto della directory o i permessi del
file specificato</entry>
</row>
<row>
<entry><command>mkdir
[<replaceable>opzioni</replaceable>]
<replaceable>directory</replaceable></command></entry>
<entry>crea una directory</entry>
</row>
<row>
<entry><command>pwd</command></entry>
<entry>mostra la directory (corrente) di lavoro</entry>
</row>
<row>
<entry><command>rmdir [<replaceable>opzioni</replaceable>]
<replaceable>directory</replaceable></command></entry>
<entry>rimuove una directory</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Se si ha una certa familiarit&agrave; con DOS la tabella che segue
paragona i suoi simili comandi a quelli Unix in modo tale da fornire un
appropriato quadro di riferimento.</para>
<table frame="all"
id="getting-started-table-directory-nav-control-unix-vs-dos">
<title>Comandi di navigazione e controllo delle directory Unix vs
DOS</title>
<tgroup cols="3">
<colspec colwidth="3in">
<colspec colwidth="2in">
<thead>
<row>
<entry align="center">Comando</entry>
<entry align="center">Unix</entry>
<entry align="center">DOS</entry>
</row>
</thead>
<tbody>
<row>
<entry>lista il contenuto di una directory</entry>
<entry><command>ls</command></entry>
<entry><command>dir</command></entry>
</row>
<row>
<entry>crea una directory</entry>
<entry><command>mkdir</command></entry>
<entry><command>md</command> &amp;
<command>mkdir</command></entry>
</row>
<row>
<entry>cambia directory</entry>
<entry><command>cd</command></entry>
<entry><command>cd</command> &amp;
<command>chdir</command></entry>
</row>
<row>
<entry>rimuove una directory</entry>
<entry><command>rmdir</command></entry>
<entry><command>rm</command> &amp;
<command>rmdir</command></entry>
</row>
<row>
<entry>ritorna alla directory home dell'utente</entry>
<entry><command>cd</command></entry>
<entry><command>cd\</command></entry>
</row>
<row>
<entry>mostra la directory corrente di lavoro</entry>
<entry><command>pwd</command></entry>
<entry><command>cd</command></entry>
</row>
</tbody>
</tgroup>
</table>
<sect2 id="getting-started-directory-nav-control-pwd">
<title>pwd - mostra la directory di lavoro</title>
<para>In ogni momento si pu&ograve; determinare in che punto si &egrave;
nella gerarchia del file system mostrando la directory di lavoro con il
comando &man.pwd.1;, esempio:</para>
<screen>&prompt.user; <userinput>pwd</userinput>
/home/frank/src</screen>
</sect2>
<sect2 id="getting-started-directory-nav-control-cd">
<title>cd - cambia directory</title>
<para>Ci si pu&ograve; portare in una nuova directory con il comando
&man.cd.1;, cambio di directory. &man.cd.1; accetta sia path name
(percorsi) assoluti sia path name relativi.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>cd [<replaceable>directory</replaceable>]</command></para>
<para><emphasis>Esempi:</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="3.2in">
<tbody>
<row>
<entry><command>cd</command> (oppure <command>chdir</command> in
alcune shell)</entry>
<entry>cambia directory</entry>
</row>
<row>
<entry><command>cd</command></entry>
<entry>si posiziona nella directory home dell'utente</entry>
</row>
<row>
<entry><command>cd /</command></entry>
<entry>si posiziona nella directory di sistema roor (/)</entry>
</row>
<row>
<entry><command>cd ..</command></entry>
<entry>sale di un livello di directory</entry>
</row>
<row>
<entry><command>cd ../..</command></entry>
<entry>sale di due livelli di directory</entry>
</row>
<row>
<entry><command>cd
<replaceable>/completo/path/name/da/root</replaceable></command></entry>
<entry>cambia directory rispetto a un path name assoluto
(notare lo slash iniziale)</entry>
</row>
<row>
<entry><command>cd
<replaceable>path/da/posizione/corrente</replaceable></command></entry>
<entry>cambia directory rispetto a un path name relativo alla
posizione corrente (no slash iniziale)</entry>
</row>
<row>
<entry><command>cd
<replaceable>~username/directory</replaceable></command></entry>
<entry>cambia directory rispetto alla directory home dell'utente
specificato (il carattere ~ non &egrave; valido nella shell
Bourne; vedere il <link
linkend="shells">Capitolo 5</link>).</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="getting-started-directory-nav-control-mkdir">
<title>mkdir - crea una directory</title>
<para>La gerarchia della propria directory home si estende creando
sotto-directory all'interno di essa. Questo &egrave; possibile con il
comando &man.mkdir.1;, crea directory. Di nuovo si pu&ograve;
specificare un path name assoluto o relativo della directory che si
vuole creare.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>mkdir [<replaceable>opzioni</replaceable>]
<replaceable>directory</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1.5in">
<tbody>
<row>
<entry><option>-p</option></entry>
<entry>crea una directory intermedia (genitore), quando
necessario</entry>
</row>
<row>
<entry><option>-m <replaceable>modi</replaceable></option></entry>
<entry>permessi di accesso (SVR4). (Si vedranno i
<quote>modi</quote> pi&ugrave; avanti in questo
Capitolo)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.user; <userinput>mkdir /home/frank/data</userinput></screen>
<para>oppure se la directory di lavoro corrente &egrave;
<filename>/home/frank</filename>, il seguente comando &egrave;
equivalente:</para>
<screen>&prompt.user; <userinput>mkdir data</userinput></screen>
</sect2>
<sect2 id="getting-started-directory-nav-control-rmdir">
<title>rmdir - rimuove una directory</title>
<para>Per rimuovere una directory &egrave; necessario che questa sia
vuota. Altrimenti bisogna prima rimuovere i file contenuti in essa.
Inoltre, non si pu&ograve; rimuovere una directory se questa &egrave; la
directory di lavoro corrente, bisogna prima uscire da
quest'ultima.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>rmdir
<replaceable>directory</replaceable></command></para>
<para><emphasis>Esempi:</emphasis></para>
<para>Per rimuovere la directory vuota
<filename>/home/frank/data</filename> mentre si &egrave; in
<filename>/home/frank</filename> usare:</para>
<screen>&prompt.user; <userinput>rmdir data</userinput></screen>
<para>oppure</para>
<screen>&prompt.user; <userinput>rmdir /home/frank/data</userinput></screen>
</sect2>
<sect2 id="getting-started-directory-nav-control-ls">
<title>ls - mostra i contenuti delle directory</title>
<para>Il comando per visualizzare le proprie directory e i propri file
&egrave; &man.ls.1;. &Egrave; possibile ottenere, attraverso le opzioni,
informazioni circa la dimensione, il tipo, i permessi, la data di
creazione, di modifica e di accesso del file.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>ls [<replaceable>opzioni</replaceable>]
[<replaceable>argomenti</replaceable>]</command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<para>Quando non viene usato nessun argomento, viene mostrato il contenuto
della directory corrente. Ci sono molte utili opzioni per il comando
&man.ls.1;. Segue una lista di alcune di queste. Quando si usa il
comando, le opzioni sono raggruppate insieme, precedute da un
trattino (-).</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.7in">
<tbody>
<row>
<entry><option>-a</option></entry>
<entry>mostra tutti i file, inclusi quelli che iniziano con
un punto (.)</entry>
</row>
<row>
<entry><option>-d</option></entry>
<entry>mostra solo i nomi delle directory, non i file
nella directory</entry>
</row>
<row>
<entry><option>-F</option></entry>
<entry>indica il tipo di elemento terminandolo con un
simbolo:</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>directory</emphasis> /</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>socket</emphasis> =</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>link simbolico</emphasis> @</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>eseguibile</emphasis> *</entry>
</row>
<row>
<entry><option>-g</option></entry>
<entry>mostra il gruppo Unix assegnato al file, richiede l'opzione
<option>-l</option> (BSD solamente) o su una macchina SVR4,
esempio Solaris, questa opzione ha l'effetto opposto</entry>
</row>
<row>
<entry><option>-L</option></entry>
<entry>se il file &egrave; un link simbolico, mostra le
informazioni del file o della directory a cui il link si
riferisce, non le informazioni del link stesso</entry>
</row>
<row>
<entry><option>-l</option></entry>
<entry>listato lungo: mostra i modi, informazioni di link, il
proprietario, la dimensione, la data dell'ultima modifica del
file. Se il file &egrave; un link simbolico, una freccia
(--&gt;) precede il percorso del file collegato.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Il <emphasis>campo modi</emphasis> viene fornito dall'opzione
<option>-l</option> e consiste di 10 caratteri. Il primo carattere
&egrave; uno dei seguenti:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="2in">
<thead>
<row>
<entry>CARATTERE</entry>
<entry>SE L'ELEMENTO E'</entry>
</row>
</thead>
<tbody>
<row>
<entry><emphasis>d</emphasis></entry>
<entry>directory</entry>
</row>
<row>
<entry><emphasis>-</emphasis></entry>
<entry>file ordinario</entry>
</row>
<row>
<entry><emphasis>b</emphasis></entry>
<entry>file speciale per dispositivi a blocchi</entry>
</row>
<row>
<entry><emphasis>c</emphasis></entry>
<entry>file speciale per dispositivi a caratteri</entry>
</row>
<row>
<entry><emphasis>l</emphasis></entry>
<entry>link simbolico</entry>
</row>
<row>
<entry><emphasis>s</emphasis></entry>
<entry>socket</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>I 9 caratteri successivi sono raggruppati in 3 blocchi di 3
caratteri ciascuno. Indicano i <emphasis>permessi di accesso al
file</emphasis>: i primi 3 caratteri si riferiscono ai permessi del
<emphasis>proprietario</emphasis> del file, i successivi 3 ai permessi
degli utenti del <emphasis>gruppo</emphasis> Unix assegnato al file e
gli ultimi 3 caratteri ai permessi degl'<emphasis>altri</emphasis>
utenti sul sistema. Possono assumere i seguenti simboli:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.4in">
<tbody>
<row>
<entry><emphasis>r</emphasis></entry>
<entry>permesso di lettura</entry>
</row>
<row>
<entry><emphasis>w</emphasis></entry>
<entry>permesso di scrittura</entry>
</row>
<row>
<entry><emphasis>x</emphasis></entry>
<entry>permesso di esecuzione</entry>
</row>
<row>
<entry><emphasis>-</emphasis></entry>
<entry>permesso negato</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Esistono altri permessi, specificamente progettati per essere usati
in speciali situazioni. Questi sono spiegati nelle pagine man di
&man.ls.1;.</para>
<para><emphasis>Esempi:</emphasis></para>
<para>Per mostrare i file in una directory</para>
<screen>&prompt.user; <userinput>ls</userinput>
demofiles frank linda</screen>
<para>Per mostrare tutti i file in una directory, inclusi i file nascosti
(iniziano con un punto):</para>
<screen>&prompt.user; <userinput>ls -a</userinput>
. .cshrc .history .plan .rhosts frank
.. .emacs .login .profile demofiles linda</screen>
<para>Per avere un listato lungo:</para>
<screen>&prompt.user; <userinput>ls -al</userinput>
total 24
drwxr-sr-x 5 workshop acs 512 Jun 7 11:12 .
drwxr-xr-x 6 root sys 512 May 29 09:59 ..
-rwxr-xr-x 1 workshop acs 532 May 20 15:31 .cshrc
-rw------- 1 workshop acs 525 May 20 21:29 .emacs
-rw------- 1 workshop acs 622 May 24 12:13 .history
-rwxr-xr-x 1 workshop acs 238 May 14 09:44 .login
-rw-r--r-- 1 workshop acs 273 May 22 23:53 .plan
-rwxr-xr-x 1 workshop acs 413 May 14 09:36 .profile
-rw------- 1 workshop acs 49 May 20 20:23 .rhosts
drwx------ 3 workshop acs 512 May 24 11:18 demofiles
drwx------ 2 workshop acs 512 May 21 10:48 frank
drwx------ 3 workshop acs 512 May 24 10:59 linda</screen>
</sect2>
</sect1>
<sect1 id="getting-started-file-mant-comm">
<title>Comandi di gestione dei file</title>
<para>Per creare, copiare, rimuovere file e per modificarne i permessi
si possono usare i seguenti comandi.</para>
<table frame="all" id="getting-started-table-file-mant-comm">
<title>Comandi di gestione dei file</title>
<tgroup cols="2">
<colspec colwidth="3in">
<thead>
<row>
<entry align="center">Comando/Sintassi</entry>
<entry align="center">Cosa fa</entry>
</row>
</thead>
<tbody>
<row>
<entry><command>chgrp [<replaceable>opzioni</replaceable>]
<replaceable>gruppo file</replaceable></command></entry>
<entry>cambia il gruppo assegnato ad 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 usato
solamente dal super-user</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>mv [<replaceable>opzioni</replaceable>]
<replaceable>file1 file2</replaceable></command></entry>
<entry>muove (rinomina)
<filename><replaceable>file1</replaceable></filename> in
<filename><replaceable>file2</replaceable></filename></entry>
</row>
<row>
<entry><command>rm [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>elimina un file o una directory (<option>-r</option> rimuove
ricorsivamente le directory e il loro contenuto)
(<option>-i</option> chiede conferma prima di rimuove i
file)</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Se si ha una certa familiarit&agrave; con DOS la tabella che segue
paragona i suoi simili comandi a quelli Unix in modo tale da fornire un
appropriato quadro di riferimento.</para>
<table frame="all" id="getting-started-table-file-mant-comm-unix-vs-dos">
<title>Comandi di gestione dei file Unix vs DOS</title>
<tgroup cols="3">
<colspec colwidth="3in">
<colspec colwidth="2in">
<thead>
<row>
<entry align="center">Comando</entry>
<entry align="center">Unix</entry>
<entry align="center">Dos</entry>
</row>
</thead>
<tbody>
<row>
<entry>copia un file</entry>
<entry><command>cp</command></entry>
<entry><command>copy</command></entry>
</row>
<row>
<entry>muove un file</entry>
<entry><command>mv</command></entry>
<entry><command>move</command> (non supportato in tutte le
versioni di Dos)</entry>
</row>
<row>
<entry>rinomina un file</entry>
<entry><command>mv</command></entry>
<entry><command>rename</command> &amp;
<command>ren</command></entry>
</row>
<row>
<entry>elimina un file</entry>
<entry><command>rm</command></entry>
<entry><command>erase</command> &amp;
<command>del</command></entry>
</row>
<row>
<entry>mostra un file a schermo</entry>
<entry><command>cat</command></entry>
<entry><command>type</command></entry>
</row>
<row>
<entry>mostra un file a schermo, una pagina alla volta</entry>
<entry><command>more</command>, <command>less</command>,
<command>pg</command></entry>
<entry><command>type /p</command> (non supportato in tutte
le versioni di Dos)</entry>
</row>
</tbody>
</tgroup>
</table>
<sect2 id="getting-started-file-mant-comm-cp">
<title>cp - copia un file</title>
<para>Il comando &man.cp.1; copia il contenuto di un file in un altro
file.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>cp [<replaceable>opzioni</replaceable>]
<replaceable>filename1 filename2</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.5in">
<tbody>
<row>
<entry><option>-i</option></entry>
<entry>interattivo (chiede conferma prima di procedere)</entry>
</row>
<row>
<entry><option>-r</option></entry>
<entry>copia ricorsivamente una directory</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.user; <userinput>cp <replaceable>filename1 filename2</replaceable></userinput></screen>
<para>Si hanno due copie del file, ognuna con un identico contenuto.
Questi file sono completamente indipendenti tra loro e possono essere
editati e modificati entrambi quando necessario. Ciascuno di essi ha il
proprio inode, i propri blocchi di dati e il proprio elemento nella
tabella di directory.</para>
</sect2>
<sect2 id="getting-started-file-mant-comm-mv">
<title>mv - sposta un file</title>
<para>Il comando &man.mv.1; rinomina (sposta) un file.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>mv [<replaceable>opzioni</replaceable>]
<replaceable>vecchio_file nuovo_file</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.5in">
<tbody>
<row>
<entry><option>-i</option></entry>
<entry>interattivo (chiede conferma prima di procedere)</entry>
</row>
<row>
<entry><option>-f</option></entry>
<entry>non chiede la conferma quando si sovrascrive un file
esistente (ignora <option>-i</option>)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.user; <userinput>mv <replaceable>vecchio_file nuovo_file</replaceable></userinput></screen>
<para>Il file <filename><replaceable>nuovo_file</replaceable></filename>
sostituisce
<filename><replaceable>vecchio_file</replaceable></filename>.
In realt&agrave; tutto quello che &egrave; stato fatto &egrave; aver
aggiornato l'elemento della tabella di directory per attribuire al file
il nuovo nome. Il contenuto del file rimane come era prima della
rinominazione.</para>
</sect2>
<sect2 id="getting-started-file-mant-comm-rm">
<title>rm - elimina un file</title>
<para>Il comando &man.rm.1; elimina un file.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>rm [<replaceable>opzioni</replaceable>]
<replaceable>filename</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.5in">
<tbody>
<row>
<entry><option>-i</option></entry>
<entry>interattivo (chiede conferma prima di procedere)</entry>
</row>
<row>
<entry><option>-r</option></entry>
<entry>rimuove una directory ricorsivamente, rimuovendo prima i file
e le directory sottostanti</entry>
</row>
<row>
<entry><option>-f</option></entry>
<entry>non chiede conferma prima di procedere
(ignora <option>-i</option>)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.user; <userinput>rm <replaceable>filename</replaceable></userinput></screen>
<para>Visualizzando il contento della directory si vedr&agrave; che quel
file non esiste pi&ugrave;. In realt&agrave; tutto quello che &egrave;
stato fatto &egrave; aver rimosso l'elemento dalla tabella di directory
e marcato l'inode come <quote>non usato</quote>. Il contenuto del file
&egrave; ancora sul disco, ma ora il sistema non ha pi&ugrave; modo di
identificare quei blocchi di dati con il nome del file eliminato. Non
c'&egrave; un certo comando per
<quote><emphasis>riprendere</emphasis></quote> un file che &egrave;
stato eliminato in questo modo. Per questa ragione molti utenti alle
prime armi effettuano un alias del comando di eliminazione in
<command>rm -i</command> dove l'opzione <option>-i</option> chiede di
confermare prima di rimuovere il file. Simili alias sono generalmente
messi nel file <filename>.cshrc</filename> per la shell C (vedere il
<link linkend="shells">Capitolo 5</link>).</para>
</sect2>
<sect2 id="getting-started-file-mant-comm-file-perm">
<title>Permessi dei file</title>
<para>Ciascun file e directory ha permessi che stabiliscono chi pu&ograve;
<emphasis>leggerlo</emphasis>, <emphasis>scriverlo</emphasis> e/o
<emphasis>eseguirlo</emphasis>. Per scoprire i permessi assegnati a un
file, pu&ograve; essere usato il comando &man.ls.1; con l'opzione
<option>-l</option>. Quando si ha la necessit&agrave; di conoscere il
gruppo per il quale i permessi sono stati assegnati si pu&ograve; usare
l'opzione <option>-g</option> insieme a <command>ls -l</command>
(solamente BSD).</para>
<para>Quando si usa il comando <command>ls -lg</command> su un file
(<command>ls -l</command> su SysV) l'output sar&agrave; mostrato come
il seguente:</para>
<screen>-rwxr-x--- user Unixgroup size Month nn hh:mm filename</screen>
<para>La zona dedicata ai caratteri e trattini
(<emphasis>-rwxr-x---</emphasis>) &egrave; la zona che mostra il tipo di
file e i permessi del file, come spiegato nella precedente sezione.
Quindi la stringa di permessi dell'esempio,
<emphasis>-rwxr-x---</emphasis>, permette al proprietario
<username>user</username> del file di leggerlo, modificarlo ed
eseguirlo; gli utenti del gruppo <groupname>Unixgroup</groupname> del
file possono leggerlo ed eseguirlo; gli <emphasis>altri</emphasis>
utenti del sistema non possono accedere in alcun modo al file.</para>
</sect2>
<sect2 id="getting-started-file-mant-comm-chmod">
<title>chmod - cambio dei permessi del file</title>
<para>Il comando per cambiare i permessi ad un elemento (file, directory,
ecc.) &egrave; &man.chmod.1; (cambio dei modi). La sintassi richiede
l'uso del comando con tre cifre (rappresentanti i permessi del
<emphasis>proprietario</emphasis> (<emphasis>u</emphasis>), i permessi
del <emphasis>gruppo</emphasis> (<emphasis>g</emphasis>) e i permessi
degli <emphasis>altri</emphasis> utenti (<emphasis>o</emphasis>))
seguite da un argomento (che pu&ograve; essere un nome di un file o una
lista di file e directory). Oppure pu&ograve; essere usato con una
rappresentazione simbolica dei permessi, indicando a quale utenza questi
vanno applicati.</para>
<para>Ogni tipo di permesso &egrave; rappresentato dal proprio numero
equivalente:</para>
<para><emphasis>lettura=4, scrittura=2, esecuzione=1</emphasis></para>
<para>o da singoli caratteri:</para>
<para><emphasis>lettura=r, scrittura=w, esecuzione=x</emphasis></para>
<para>Il permesso <emphasis>4</emphasis> o <emphasis>r</emphasis>
specifica il permesso di <emphasis>lettura</emphasis>. Se i permessi
desiderati sono lettura e scrittura, il 4 (rappresentante la lettura) e
il 2 (rappresentante la scrittura) sono addizionati per ottenere il
permesso 6. Quindi, un permesso settato a 6 vorr&agrave; concedere un
permesso di lettura e di scrittura.</para>
<para>Alternativamente si pu&ograve; usare una notazione simbolica che
usa un carattere rappresentativo per l'utenza a cui ci si riferisce, uno
per il permesso e uno per l'operazione, dove l'operazione pu&ograve;
essere:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.7in">
<tbody>
<row>
<entry>+</entry>
<entry>aggiunge permessi</entry>
</row>
<row>
<entry>-</entry>
<entry>rimuove permessi</entry>
</row>
<row>
<entry>=</entry>
<entry>setta permessi</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Quindi per settare i permessi di lettura e di scrittura per il
proprietario del file si usa nella notazione simbolica
<emphasis>u=rw</emphasis>.</para>
<para><emphasis>Sintassi</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="3.5in">
<tbody>
<row>
<entry><command>chmod <replaceable>nnn</replaceable>
[<replaceable>lista argomenti</replaceable>]</command></entry>
<entry>modalit&agrave; numerica</entry>
</row>
<row>
<entry><command>chmod [<replaceable>chi</replaceable>]
<replaceable>op</replaceable>
[<replaceable>perm</replaceable>]
[<replaceable>lista argomenti</replaceable>]</command></entry>
<entry>modalit&agrave; simbolica</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>dove <replaceable>nnn</replaceable> sono i tre numeri rappresentanti
i permessi del <emphasis>proprietario</emphasis>, del
<emphasis>gruppo</emphasis> e degli <emphasis>altri</emphasis> utenti;
<replaceable>chi</replaceable> pu&ograve; essere
<emphasis>u,g,o</emphasis> oppure <emphasis>a</emphasis> (tutti) e
<replaceable>perm</replaceable> pu&ograve; essere
<emphasis>r,w,x</emphasis>. Nella notazione simbolica si pu&ograve;
separare la specifica dei permessi con una virgola, coma mostrato
nell'esempio qui sotto.</para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.7in">
<tbody>
<row>
<entry><option>-f</option></entry>
<entry>forza (nessun messaggio di errore viene generato se la
modifica non ha avuto successo)</entry>
</row>
<row>
<entry><option>-R</option></entry>
<entry>discesa ricorsiva attraverso la struttura delle directory
e cambio dei modi</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<para>Se i permessi desiderati per il <filename>file1</filename> sono:
<emphasis>proprietario</emphasis>: lettura, scrittura ed esecuzione;
<emphasis>gruppo</emphasis>: lettura ed esecuzione;
<emphasis>altri</emphasis>: lettura ed esecuzione; il comando da usare
&egrave;:</para>
<para><command>chmod 755 file1</command> oppure
<command>chmod u=rwx,go=rx file1</command></para>
<note>
<para>Quando si assegnano i permessi a un file per l'utenza
<emphasis>gruppo</emphasis> e per l'utenza <emphasis>altri</emphasis>
&egrave; necessario che il minimo permesso di esecuzione (inteso come
permesso di accesso) per la directory nella quale il file &egrave;
posizionato sia abilitato. Un semplice modo per far questo &egrave;
posizionarsi nella directory nella quale i permessi devo essere
garantiti e digitare:</para>
<para><command>chmod 711 .</command> oppure
<command>chmod u=rw,+x .</command> oppure
<command>chmod u=rwx,go=x .</command></para>
<para>dove il punto (.) indica la
<emphasis>directory corrente</emphasis>.</para>
</note>
</sect2>
<sect2 id="getting-started-file-mant-comm-chown">
<title>chown - cambio del proprietario del file</title>
<para>Il proprietario di un file pu&ograve; essere cambiato con il comando
&man.chown.8;. Su molte versioni Unix questo pu&ograve; essere
realizzato solo dal super-user, ad esempio, un utente normale non
pu&ograve; attribuire i suoi file ad altri proprietari. &man.chown.8;
&egrave; usato come qui sotto, dove &prompt.root; rappresenta il prompt
di shell per il super-user.</para>
<para><emphasis>Sintassi</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="3.5in">
<tbody>
<row>
<entry><command>chown [<replaceable>opzioni</replaceable>]
<replaceable>utente</replaceable>[:<replaceable>gruppo</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>(SVR4)</entry>
</row>
<row>
<entry><command>chown [<replaceable>opzioni</replaceable>]
<replaceable>utente</replaceable>[.<replaceable>gruppo</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>(BSD)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.7in">
<tbody>
<row>
<entry><option>-R</option></entry>
<entry>discende ricorsivamente attraverso la struttura della
directory</entry>
</row>
<row>
<entry><option>-f</option></entry>
<entry>forza, non riporta errori</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.root; <userinput>chown <replaceable>nuovo_proprietario file</replaceable></userinput></screen>
</sect2>
<sect2 id="getting-started-file-mant-comm-chgrp">
<title>chgrp - cambio del gruppo del file</title>
<para>Con il comando &man.chgrp.1; tutti possono cambiare il gruppo dei
propri file in un altro gruppo di appartenenza.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>chgrp [<replaceable>opzioni</replaceable>]
<replaceable>gruppo file</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.7in">
<tbody>
<row>
<entry><option>-R</option></entry>
<entry>discende ricorsivamente attraverso la struttura della
directory</entry>
</row>
<row>
<entry><option>-f</option></entry>
<entry>forza, non riporta errori</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.user; <userinput>chgrp <replaceable>nuovo_gruppo file</replaceable></userinput></screen>
</sect2>
</sect1>
<sect1 id="getting-started-display-comm">
<title>Comandi di visualizzazione</title>
<para>Ci sono alcuni comandi che si possono usare per
<emphasis>visualizzare</emphasis> o <emphasis>esaminare</emphasis> un
file. Alcuni di questi sono editor che verranno trattati pi&ugrave;
avanti. Qui si illustreranno alcuni comandi normalmente usati per
visualizzare un file.</para>
<table frame=all id="getting-started-table-display-comm">
<title>Comandi di visualizzazione</title>
<tgroup cols="2">
<colspec colwidth="3.5in">
<thead>
<row>
<entry align="center">Comando/Sintassi</entry>
<entry align="center">Cosa fa</entry>
</row>
</thead>
<tbody>
<row>
<entry><command>cat [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>concatena (lista) un file</entry>
</row>
<row>
<entry><command>echo
[<replaceable>stringa</replaceable>]</command></entry>
<entry>riporta in standard ouptut una stringa di testo</entry>
</row>
<row>
<entry><command>head [<replaceable>-numero</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>visualizza le prime 10 (o <replaceable>-numero</replaceable>)
linee di un file</entry>
</row>
<row>
<entry><command>more</command> (o <command>less</command> o
<command>pg</command>)
<command>[<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>visualizzazione paginata di un file di testo</entry>
</row>
<row>
<entry><command>tail [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></entry>
<entry>visualizza le ultime linee (o parte) di un file</entry>
</row>
</tbody>
</tgroup>
</table>
<sect2 id="getting-started-display-comm-echo">
<title>echo - mostra un'espressione</title>
<para>Il comando &man.echo.1; viene utilizzato per ripetere l'argomento
assegnato al comando nel dispositivo standard di uscita. Normalmente
l'argomento termina con un carattere di alimentazione di linea, ma si
pu&ograve; specificare un'opzione per impedirlo.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>echo [<replaceable>stringa</replaceable>]</command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.7in">
<tbody>
<row>
<entry><option>-n</option></entry>
<entry>non stampa new-line (BSD, shell built-in)</entry>
</row>
<row>
<entry><option>\c</option></entry>
<entry>non stampa new-line (SVR4)</entry>
</row>
<row>
<entry><option>\0<replaceable>n</replaceable></option></entry>
<entry>dove <replaceable>n</replaceable> &egrave; il codice del
carattere ASCII a 8 bit (SVR4)</entry>
</row>
<row>
<entry><option>\t</option></entry>
<entry>tab (SVR4)</entry>
</row>
<row>
<entry><option>\f</option></entry>
<entry>form-feed (emissione carta) (SVR4)</entry>
</row>
<row>
<entry><option>\n</option></entry>
<entry>new-line (SVR4)</entry>
</row>
<row>
<entry><option>\v</option></entry>
<entry>tab verticale (SVR4)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.user; <userinput>echo Hello Class</userinput></screen>
<para>oppure</para>
<screen>&prompt.user; <userinput>echo "Hello Class"</userinput></screen>
<para>Per impedire il carattere di fine linea:</para>
<screen>&prompt.user; <userinput>echo -n Hello Class</userinput></screen>
<para>oppure</para>
<screen>&prompt.user; <userinput>echo "Hello Class \c"</userinput></screen>
<para>dove il modo utilizzato nell'ultimo esempio dipende dal comando
&man.echo.1; usato.</para>
<para>L'opzione <option>\<replaceable>x</replaceable></option> deve essere
interna a un paio di caratteri di quoting singoli o doppi, con o senza
altri caratteri di stringa.</para>
</sect2>
<sect2 id="getting-started-display-comm-cat">
<title>cat - concatena un file</title>
<para>Il comando di concatenazione &man.cat.1; visualizza il contenuto di
un file.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>cat [<replaceable>opzioni</replaceable>]
[<replaceable>file</replaceable>]</command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.7in">
<tbody>
<row>
<entry><option>-n</option></entry>
<entry>precede ogni linea con un numero</entry>
</row>
<row>
<entry><option>-v</option></entry>
<entry>visualizza i caratteri non stampabili, eccetto tab,
new-line e form-feed</entry>
</row>
<row>
<entry><option>-e</option></entry>
<entry>visualizza $ alla fine di ogni linea (prima di new-line)
(quando usato con l'opzione <option>-v</option>)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable></userinput></screen>
<para>Si possono specificare una serie di file su linea di comando e
&man.cat.1; li concatener&agrave; ciascuno a turno, seguendo lo stesso
ordine di immissione, esempio:</para>
<screen>&prompt.user; <userinput>cat <replaceable>file1 file2 file3</replaceable></userinput></screen>
</sect2>
<sect2 id="getting-started-display-comm-more-less-pg">
<title>more, less e pg - visualizzazione paginata di un file</title>
<para>&man.more.1;, &man.less.1; e <command>pg</command> permettono di
visualizzare il contenuto di un file una schermata (pagina) alla volta.
Inoltre permettono di ritornare sulla precedente pagina, di cercare
parole, ecc. Questi comandi potrebbero non essere disponibili sul
proprio sistema Unix.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>more [<replaceable>opzioni</replaceable>]
[<replaceable>+/schema</replaceable>]
[<replaceable>filename</replaceable>]</command></para>
<para><command>less [<replaceable>opzioni</replaceable>]
[<replaceable>+/schema</replaceable>]
[<replaceable>filename</replaceable>]</command></para>
<para><command>pg [<replaceable>opzioni</replaceable>]
[<replaceable>+/schema</replaceable>]
[<replaceable>filename</replaceable>]</command></para>
<para><emphasis>Opzioni</emphasis></para>
<informaltable frame="none">
<tgroup cols="4">
<colspec colwidth="1.5in">
<colspec colwidth="1.5in">
<colspec colwidth="1.5in">
<thead>
<row>
<entry>more</entry>
<entry>less</entry>
<entry>pg</entry>
<entry>Azione</entry>
</row>
</thead>
<tbody>
<row>
<entry><option>-c</option></entry>
<entry><option>-c</option></entry>
<entry><option>-c</option></entry>
<entry>pulisce lo schermo prima di visualizzare</entry>
</row>
<row>
<entry></entry>
<entry><option>-i</option></entry>
<entry></entry>
<entry>ignora differenza tra maiuscole e minuscole</entry>
</row>
<row>
<entry><option>-w</option></entry>
<entry>default</entry>
<entry>default</entry>
<entry>non esce alla fine dell'input, ma si mette in attesa di
comandi</entry>
</row>
<row>
<entry><option>-<replaceable>linee</replaceable></option></entry>
<entry></entry>
<entry><option>-<replaceable>linee</replaceable></option></entry>
<entry># (numero di) linee di avanzamento</entry>
</row>
<row>
<entry><option>+/<replaceable>schema</replaceable></option></entry>
<entry><option>+/<replaceable>schema</replaceable></option></entry>
<entry><option>+/<replaceable>schema</replaceable></option></entry>
<entry>ricerca lo schema (pattern)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Controlli interni</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="2in">
<tbody>
<row>
<entry><command>more</command></entry>
<entry>visualizza (una schermata alla volta) il file
specificato</entry>
</row>
<row>
<entry align="center"><emphasis>&lt;spazio&gt;</emphasis></entry>
<entry>per vedere la schermata successiva</entry>
</row>
<row>
<entry align="center"><emphasis>&lt;return&gt;o&lt;CR&gt;</emphasis></entry>
<entry>per avanzare di una linea</entry>
</row>
<row>
<entry align="center"><emphasis>q</emphasis></entry>
<entry>per uscire</entry>
</row>
<row>
<entry align="center"><emphasis>h</emphasis></entry>
<entry>help</entry>
</row>
<row>
<entry align="center"><emphasis>b</emphasis></entry>
<entry>torna alla schermata precedente</entry>
</row>
<row>
<entry align="center"><emphasis>/<replaceable>parola</replaceable></emphasis></entry>
<entry>cerca <replaceable>parola</replaceable> nel resto del
file</entry>
</row>
<row>
<entry></entry>
<entry>vedere le <emphasis>pagine man</emphasis> per altre
opzioni</entry>
</row>
<row>
<entry><command>less</command></entry>
<entry>simile a &man.more.1;, vedere le
<emphasis>pagine man</emphasis> per le opzioni</entry>
</row>
<row>
<entry><command>pg</command></entry>
<entry>in SVR4 equivale a &man.more.1; (pagina)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="getting-started-display-comm-head">
<title>head - mostra l'inizio di un file</title>
<para>Il comando &man.head.1; visualizza l'inizio di un file.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>head [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1in">
<tbody>
<row>
<entry><option>-n
<replaceable>numero</replaceable></option></entry>
<entry>numero di linee da visualizzare partendo dall'inizio del
file</entry>
</row>
<row>
<entry><option>-<replaceable>numero</replaceable></option></entry>
<entry>come sopra</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<para>Di default &man.head.1; mostra le prime 10 linee del file. Si
possono visualizzare pi&ugrave; (o meno) linee con l'opzione
<option>-n <replaceable>numero</replaceable></option> o
<option>-<replaceable>numero</replaceable></option>, ad esempio, per
visualizzare le prime 40 linee:</para>
<screen>&prompt.user; <userinput>head -40 <replaceable>filename</replaceable></userinput></screen>
<para>oppure</para>
<screen>&prompt.user; <userinput>head -n 40 <replaceable>filename</replaceable></userinput></screen>
</sect2>
<sect2 id="getting-started-display-comm-tail">
<title>tail - mostra la fine di un file</title>
<para>Il comando &man.tail.1; visualizza la fine di un file.</para>
<para><emphasis>Sintassi</emphasis></para>
<para><command>tail [<replaceable>opzioni</replaceable>]
<replaceable>file</replaceable></command></para>
<para><emphasis>Opzioni generali</emphasis></para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1in">
<tbody>
<row>
<entry><option>-<replaceable>numero</replaceable></option></entry>
<entry>numero di linee da visualizzare, partendo dalla fine del
file</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><emphasis>Esempi:</emphasis></para>
<para>Di default &man.tail.1; mostra le ultime 10 linee del file, ma si
pu&ograve; specificare un numero differente di linee o di byte, o un
differente punto di inizio all'interno del file. Per visualizzare le
ultime 30 linee di un file, usare l'opzione
<option>-<replaceable>numero</replaceable></option>:</para>
<screen>&prompt.user; <userinput>tail -30 <replaceable>filename</replaceable></userinput></screen>
</sect2>
</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:
-->