symlink(2) | System Calls Manual | symlink(2) |
symlink, symlinkat - crea un nuovo nome per un file
Standard C library (libc, -lc)
#include <unistd.h>
int symlink(const char *target, const char *linkpath);
#include <fcntl.h> /* Definizione delle costanti AT_* */ #include <unistd.h>
int symlinkat(const char *target, int newdirfd, const char *linkpath);
symlink():
_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE
symlinkat():
A partire da glibc 2.10: _POSIX_C_SOURCE >= 200809L Prima di glibc 2.10: _ATFILE_SOURCE
symlink() crea un collegamento simbolico con nome linkpath che contiene la stringa target.
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.
Un collegamento simbolico può contenere .. come componente del percorso, che (se usato all'inizio del collegamento) fa riferimento alle directory superiori a quella nella quale risiede il collegamento.
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.
The permissions of a symbolic link are irrelevant; the ownership is ignored when following the link (except when the protected_symlinks feature is enabled, as explained in proc(5)), but is checked when removal or renaming of the link is requested and the link is in a directory with the sticky bit (S_ISVTX) set.
Se linkpath esiste non verrà sovrascritto.
La chiamata di sistema symlinkat() opera esattamente nello stesso modo di symlink(), tranne che per le differenze di seguito descritte.
Se il nome di percorso dato in linkpath è relativo, è interpretato come relativo alla directory a cui il descrittore di file newdirfd fa riferimento (piuttosto che relativo alla directory di lavoro corrente del processo chiamante, come fa symlink() per un nome di percorso relativo).
Se linkpath è relativo e newdirfd è il valore speciale AT_FDCWD, linkpath è interpretato come relativo alla directory di lavoro corrente del processo chiamante (come symlink()).
Se linkpath è assoluto, newdirfd è ignorato.
See openat(2) for an explanation of the need for symlinkat().
In caso di successo restituisce zero. In caso di errore restituisce -1, e errno verrà impostato per indicare l'errore.
symlinkat() was added in Linux 2.6.16; library support was added in glibc 2.4.
symlink(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
symlinkat(): POSIX.1-2008.
Non viene effettuato nessun controllo su target.
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 link(2).
Su vecchi kernel dove symlinkat() non è disponibile, la funzione wrapper glibc retrocede all'uso di symlink(). Dove linkpath è un nome di percorso relativo, glibc costruisce un nome di percorso basato sul collegamento simbolico in /proc/self/fd che corrisponde all'argomento newdirfd.
ln(1), namei(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), unlink(2), path_resolution(7), symlink(7)
La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>
Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 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 pluto-ildp@lists.pluto.it.
5 febbraio 2023 | Linux man-pages 6.03 |