.\" -*- coding: UTF-8 -*- .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" and Copyright (C) 1993 Michael Haardt, Ian Jackson. .\" and Copyright (C) 2006, 2014 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-04-26 by Nick Duffek .\" Modified 1996-11-06 by Eric S. Raymond .\" Modified 1997-01-31 by Eric S. Raymond .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SYMLINK 2 "15 settembre 2017" Linux "Manuale del programmatore di Linux" .SH NOME symlink, symlinkat \- crea un nuovo nome per un file .SH SINTASSI .nf \fB#include \fP .PP \fBint symlink(const char *\fP\fItarget\fP\fB, const char *\fP\fIlinkpath\fP\fB);\fP \fB#include \fP/* Definizione delle costanti AT_**/ \fB#include \fP .PP \fBint symlinkat(const char *\fP\fItarget\fP\fB, int \fP\fInewdirfd\fP\fB, const char *\fP\fIlinkpath\fP\fB);\fP .PP .fi .RS -4 Macro per test di funzionalità per glibc (vedere \fBfeature_test_macros\fP(7)): .RE .PP .ad l \fBsymlink\fP(): .RS 4 .\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE\ >=\ 500 || _POSIX_C_SOURCE\ >=\ 200112L || /* Glibc versioni <= 2.19: */ _BSD_SOURCE .RE .PP \fBsymlinkat\fP(): .PD 0 .ad l .RS 4 .TP 4 A partire da glibc 2.10: _POSIX_C_SOURCE\ >=\ 200809L .TP Prima di glibc 2.10: _ATFILE_SOURCE .RE .ad b .PD .SH DESCRIZIONE \fBsymlink\fP() crea un collegamento simbolico con nome \fIlinkpath\fP che contiene la stringa \fItarget\fP. .PP I collegamenti simbolici sono interpretati all'esecuzione come se il contenuto del collegamento fosse stato sostituito nel percorso seguito per trovare un file o una directory. .PP Un collegamento simbolico può contenere \fI..\fP come componente del percorso, che (se usato all'inizio del collegamento) fa riferimento alle directory superiori a quella nella quale risiede il collegamento. .PP Un collegamento simbolico (conosciuto anche come soft link) può puntare ad un file esistente o ad uno non esistente: in quest'ultimo caso è detto dangling link. .PP I permessi di un collegamento simbolico sono irrilevanti. Quando si segue il collegamento il proprietario viene ignorato: viene invece verificato quando si richiede la rimozione o la rinomina del collegamento che si trovi in una directory con lo sticky bit (\fBS_ISVTX\fP) impostato. .PP Se \fIlinkpath\fP esiste \fInon\fP verrà sovrascritto. .SS symlinkat() La chiamata di sistema \fBsymlinkat\fP() opera esattamente nello stesso modo di \fBsymlink\fP(), tranne che per le differenze di seguito descritte. .PP Se il nome di percorso dato in \fIlinkpath\fP è relativo, è interpretato come relativo alla directory a cui il descrittore di file \fInewdirfd\fP fa riferimento (piuttosto che relativo alla directory di lavoro corrente del processo chiamante, come fa \fBsymlink\fP() per un nome di percorso relativo). .PP Se \fIlinkpath\fP è relativo e \fInewdirfd\fP è il valore speciale \fBAT_FDCWD\fP, \fIlinkpath\fP è interpretato come relativo alla directory di lavoro corrente del processo chiamante (come \fBsymlink\fP()). .PP Se \fIlinkpath\fP è assoluto, \fInewdirfd\fP è ignorato. .SH "VALORE RESTITUITO" In caso di successo restituisce zero. In caso di errore restituisce \-1, e \fIerrno\fP verrà impostato di conseguenza. .SH ERRORI .TP \fBEACCES\fP Non è possibile l'accesso in scrittura alla directory contenente \fIlinkpath\fP, o una delle directory contenute nel prefisso del percorso di \fIlinkpath\fP non ha il permesso di ricerca. (Vedere anche \fBpath_resolution\fP(7).) .TP \fBEDQUOT\fP La quota di risorse dell'utente sul filesystem è esaurita. Le risorse possono essere inode o blocchi del disco, a seconda dell'implementazione del filesystem. .TP \fBEEXIST\fP \fIlinkpath\fP esiste già. .TP \fBEFAULT\fP \fItarget\fP o \fIlinkpath\fP puntano fuori dallo spazio di indirizzamento accessibile. .TP \fBEIO\fP Si è verificato errore I/O. .TP \fBELOOP\fP Si sono incontrati troppi collegamenti simbolici nella risoluzione di \fIlinkpath\fP. .TP \fBENAMETOOLONG\fP \fItarget\fP o \fIlinkpath\fP è troppo lungo. .TP \fBENOENT\fP Una directory contenuta in \fIlinkpath\fP non esiste o è un collegamento simbolico scollegato, o \fItarget\fP o \fIlinkpath\fP è una stringa vuota. .TP \fBENOMEM\fP Insufficiente memoria disponibile per il kernel. .TP \fBENOSPC\fP Il dispositivo contenente il file non ha spazio per la nuova directory. .TP \fBENOTDIR\fP Un elemento usato come directory in \fIlinkpath\fP non è, in effetti, una directory. .TP \fBEPERM\fP Il filesystem contenente \fIlinkpath\fP non supporta la creazione di collegamenti simbolici. .TP \fBEROFS\fP \fIlinkpath\fP è contenuto in un filesystem in sola lettura. .PP Altri errori si possono presentare per \fBsymlinkat\fP(): .TP \fBEBADF\fP \fInewdirfd\fP non è un descrittore di file valido. .TP \fBENOENT\fP \fIlinkpath\fP è un percorso relativo e \fInewdirfd\fP fa riferimento a una directory che è stata eliminata. .TP \fBENOTDIR\fP \fIlinkpath\fP è relativo e \fInewdirfd\fP è un descrittore di file fa riferimento a un file anziché a una directory. .SH VERSIONI \fBsymlinkat\fP() è stato aggiunto a Linux nel kernel 2.6.16; il supporto per le librerie è stato aggiunto a glibc nella versione 2.4. .SH "CONFORME A" .\" SVr4 documents additional error codes EDQUOT and ENOSYS. .\" See .\" .BR open (2) .\" re multiple files with the same name, and NFS. \fBsymlink\fP(): SVr4, 4.3BSD, POSIX.1\-2001, POSIX.1\-2008. .PP \fBsymlinkat\fP(): POSIX.1\-2008. .SH NOTE Non viene effettuato nessun controllo su \fItarget\fP. .PP La cancellazione del nome a cui fa riferimento un collegamento simbolico cancellerà il file (a meno che esso non abbia altri collegamenti fisici). Se non si desidera questo comportamento usare \fBlink\fP(2). .SS "Note su glibc" Su vecchi kernel dove \fBsymlinkat\fP() non è disponibile, la funzione wrapper glibc retrocede all'uso di \fBsymlink\fP(). Dove \fIlinkpath\fP è un nome di percorso relativo, glibc costruisce un nome di percorso basato sul collegamento simbolico in \fI/proc/self/fd\fP che corrisponde all'argomento \fInewdirfd\fP. .SH "VEDERE ANCHE" \fBln\fP(1), \fBnamei\fP(1), \fBlchown\fP(2), \fBlink\fP(2), \fBlstat\fP(2), \fBopen\fP(2), \fBreadlink\fP(2), \fBrename\fP(2), \fBunlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH COLOPHON Questa pagina fa parte del rilascio 5.10 del progetto Linux \fIman\-pages\fP. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trovano su \%https://www.kernel.org/doc/man\-pages/. .SH TRADUZIONE La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli , Giulio Daprelà , Elisabetta Galli e Marco Curreli . Questa traduzione è documentazione libera; leggere la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Versione 3 .UE o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità. Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a .MT pluto-ildp@lists.pluto.it .ME .