ln

LN(1)                        General Commands Manual                       LN(1)



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-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.



GNU File Utilities                 Agosto 1998                             LN(1)