|
LN(1) manual page
Table of Contents
ln - realizza link (collegamenti) tra file
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] [--]
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).
- -f
- Rimuove i file di destinazione preesistenti.
- -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.
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.
Le variabili LANG, LC_ALL, LC_COLLATE, LC_CTYPE e LC_MESSAGES hanno il
solito significato.
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).
ls(1)
, rm(1)
, link(2)
, lstat(2)
, open(2)
, readlink(2)
, stat(2)
,
unlink(2)
Questa pagina descrive cp come si trova nel pacchetto
fileutils-3.16; altre versioni potrebbero differire leggermente. Spedisci
correzioni o aggiunte a aeb@cwi.nl, aw@mail1.bet1.puv.fi o ragnar@lightside.ddns.org
[NdT: ovviamente, problemi nella traduzione devono essere spediti al traduttore,
non agli autori]. Segnala bachi nei programmi a fileutils-bugs@gnu.ai.mit.edu.
Table of Contents
|