Provided by:
manpages-it_0.3.4-1_all 
NOME
ln - realizza link (collegamenti) tra file
SINTASSI
ln [opzioni] sorgente [destinazione]
ln [opzioni] sorgente... directory
Opzioni POSIX: [-f]
Opzioni GNU (forma breve): [-bdfinsvF] [-S backup-suffix] [-V
{numbered,existing,simple}] [--help] [--version] [--]
DESCRIZIONE
Ci sono due concetti di «collegamento» in Unix, solitamente chiamati
collegamenti fisici (o hard link) e collegamenti simbolici (soft link o
symbolic link). Un collegamento fisico è semplicemente un nome per un
file, e un file può avere diversi nomi: viene cancellato dal disco solo
quando anche l’ultimo nome è cancellato. Il numero dei nomi è dato da
ls(1). Non esiste un nome «originale»: tutti i nomi hanno la stessa
importanza. Normalmente, ma non necessariamente, tutti i nomi di un
file si trovano nel filesystem in cui i suoi dati sono contenuti.
Un collegamento simbolico è una bestia completamente diversa: è un
piccolo file speciale che contiene un percorso. Quindi un collegamento
simbolico può puntare verso un file posto su un altro filesystem
(magari anche un NFS montato da un’altra macchina), e non ha bisogno di
puntare verso un file esistente. Quando si accede (con le chiamate di
sistema open(2) o stat(2)) ad un collegamento simbolico, il kernel
sostituisce questa referenza con il file indicato dal cammino (mentre
con rm(1) e unlink(2) il collegamento stesso è rimosso, non il file
verso cui punta; ci sono anche le chiamate di sistema speciali lstat(2)
e readlink(2) che leggono lo stato di un collegamento simbolico ed il
file verso cui punta; per quanto riguarda le altre chiamate di sistema,
c’è un certo grado d’incertezza e di varietà fra sistemi operativi
sull’oggetto dell’azione: il collegamento stesso o il file verso cui si
punta).
ln crea collegamenti fra file. Di per sé, crea collegamenti fisici; con
l’opzione -s, crea collegamenti simbolici.
Se è dato solo un file, collega quel file nella directory corrente,
cioè crea un collegamento verso quel file nella directory corrente con
un nome uguale all’ultima componente del nome di quel file (questa è
un’estensione GNU). Altrimenti, se l’ultimo argomento indica una
directory esistente, ln crea collegamenti da quella directory verso
ciascun file menzionato in sorgente, con un nome uguale all’ultima
componente del nome del file sorgente (ma vedi anche la descrizione
dell’opzione --no-dereference più sotto). Sennò, se sono dati solo due
file, crea un collegamento chiamato destinazione verso il file
sorgente. C’è un errore se l’ultimo argomento non è una directory e
vengono dati più di due file.
Per default, ln non rimuove né file preesistenti né collegamenti
simbolici preesistenti (per cui può essere usato per bloccare (block):
ln ha esito positivo solo se destinazione non esiste ancora). Può
esservi però forzato con l’opzione -f.
Nelle implementazioni esistenti, se anche fosse possibile fare un
collegamento fisico verso una directory, solo il super-utente potrebbe
farlo. POSIX vieta alla chiamata di sistema link(2) e al programma ln
di creare collegamenti fisici verso directory (ma non vieta ai
collegamenti fisici di attraversare più filesystem).
OPZIONI POSIX
-f Rimuove i file di destinazione preesistenti.
OPZIONI GNU
-d, -F, --directory
Permette al super-utente di realizzare collegamenti fisici su
directory.
-f, --force
Rimuove i file di destinazione preesistenti.
-i, --interactive
Chiede conferma per sovrascrivere i file normali preesistenti.
-n, --no-dereference
Quando la destinazione specificata è un collegamento simbolico
ad una directory, considera la destinazione come se fosse un
file normale.
Quando la destinazione è in effetti una directory (e non un
collegamento verso di essa) non si sono ambiguità: il
collegamento è creato all’interno di quella directory. Ma se la
destinazione è un collegamento simbolico ad una directory, ci
sono due modi di interpretare la richiesta dell’utente. ln può
trattare la destinazione così come tratterebbe una directory
normale e creare un collegamento in essa. D’altro canto, la
destinazione può essere vista non come una directory, ma come un
collegamento. In questo caso, ln deve cancellare o fare una
copia di backup del collegamento prima di crearne uno nuovo. Il
comportamento di default è di trattare quelle destinazioni che
fossero collegamenti verso una directory come se fossero delle
directory.
-s, --symbolic
Realizza collegamenti simbolici invece che collegamenti fisici.
Quest’opzione produce semplicemente un messaggio d’errore quando
viene usata su un sistema che non supporta i collegamenti
simbolici.
-v, --verbose
Stampa il nome di ogni file prima di collegarlo.
OPZIONI GNU DI BACKUP
Le versioni GNU di programmi come cp, mv, ln, install e patch creano
una copia di backup dei file che stanno per essere sovrascritti,
modificati o distrutti, se ciò viene richiesto. Una simile richiesta è
indicata dall’opzione -b. Come i file di backup debbano essere chiamati
è dato dall’opzione -V. Nel caso in cui il loro nome sia dato dal nome
dei file originali più un suffisso, il suffisso è indicato dall’opzione
-S.
-b, --backup
Crea copie di backup dei file che stanno per essere sovrascritti
o rimossi.
-S SUFFISSO , --suffix= SUFFISSO
Aggiunge SUFFISSO a tutti i file di backup. Se questa opzione
non è specificata, viene usato il valore della variabile
ambientale SIMPLE_BACKUP_SUFFIX . Se SIMPLE_BACKUP_SUFFIX non è
impostata, il valore predefinito è «~».
-V METODO, --version-control=METODO
Specifica come creare il nome dei file di backup. L’argomento
METODO può essere «numbered» (o «t»), «existing» (o «nil»)
oppure «never» (o «simple»). Se questa opzione non è
specificata, viene usato il valore della variabile ambientale
VERSION_CONTROL . Se VERSION_CONTROL non è impostata, il valore
di default è «existing».
Questa opzione corrisponde alla variabile «version-control» di
emacs. Valori leciti per sono (dove le abbreviazioni univoche
sono accettate):
t, numbered
Crea sempre backup numerati.
nil, existing
Crea backup numerati per i file che già ne hanno, backup
semplici per gli altri.
never, simple
Crea sempre backup semplici.
SH "OPZIONI GNU STANDARD"
--help Stampa un messaggio di spiegazione sullo standard output ed esce
(con successo).
--version
Stampa informazioni sulla versione sullo standard output ed esce
(con successo).
-- Termina l’elenco delle opzioni.
AMBIENTE
Le variabili LANG, LC_ALL, LC_COLLATE, LC_CTYPE e LC_MESSAGES hanno il
solito significato.
CONFORME A
POSIX 1003.2. Tuttavia, POSIX 1003.2 (1996) non discute di
collegamenti simbolici. Questi furono introdotti da BSD, e non
apparivano in System V release 3 (né in sistemi più vecchi).
VEDERE ANCHE
ls(1), rm(1), link(2), lstat(2), open(2), readlink(2), stat(2),
unlink(2)
NOTE
Questa pagina descrive cp come si trova nel pacchetto fileutils-4.0;
altre versioni potrebbero differire leggermente. Spedisci correzioni o
aggiunte a aeb@cwi.nl [NdT: ovviamente, problemi nella traduzione
devono essere spediti al traduttore, non agli autori]. Segnala bachi
nei programmi a fileutils-bugs@gnu.ai.mit.edu.