.\" -*- coding: UTF-8 -*- .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" and Copyright (C) 1993 Ian Jackson .\" and Copyright (C) 2006, 2014 Michael Kerrisk. .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-09-08 by Arnt Gulbrandsen .\" Modified 1997-01-31 by Eric S. Raymond .\" Modified 2001-05-17 by aeb .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH unlink 2 "30 marzo 2023" "Linux man\-pages 6.05.01" .SH NOME unlink, unlinkat \- Rimuove un nome ed eventualmente il file a cui si riferisce .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH SINTASSI .nf \fB#include \fP .PP \fBint unlink(const char *\fP\fIpathname\fP\fB);\fP .PP \fB#include \fP/* Definizione delle costanti \fBAT_*\fP */ \fB#include \fP .PP \fBint unlinkat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, int \fP\fIflags\fP\fB);\fP .fi .PP .RS -4 Macro per test di funzionalità per glibc (vedere \fBfeature_test_macros\fP(7)): .RE .PP \fBunlinkat\fP(): .nf A partire da glibc 2.10: _POSIX_C_SOURCE >= 200809L Prima di glibc 2.10: _ATFILE_SOURCE .fi .SH DESCRIZIONE \fBunlink\fP() cancella un nome dal filesystem. Se il nome è l'ultimo collegamento ad un file e nessun processo sta usando il file, allora viene cancellato anche il file stesso, e lo spazio occupato viene liberato. .PP Se invece il nome è l'ultimo collegamento ad un file, ma il file è correntemente usato da un processo, il file viene rimosso solo quando viene chiuso il descrittore del file a cui fa riferimento. .PP Se il nome si riferisce ad un collegamento simbolico, il collegamento viene rimosso. .PP Se il nome si riferisce ad un socket, una fifo o un dispositivo, il nome viene rimosso, ma i processi che hanno l'oggetto aperto possono continuare ad usarlo. .SS unlinkat() La chiamata di sistema \fBunlinkat\fP() opera esattamente nello stesso modo di \fBunlink\fP() o \fBrmdir\fP(2) (a seconda che \fIflags\fP includa l'opzione \fBAT_REMOVEDIR\fP) con le differenze di seguito descritte. .PP Se il nome di percorso dato in \fIpathname\fP è relativo, è interpretato come relativo alla directory a cui il descrittore di file \fIdirfd\fP fa riferimento (piuttosto che relativo alla directory di lavoro corrente del processo chiamante, come fanno \fBunlink\fP() e \fBrmdir\fP(2) per un nome di percorso relativo). .PP Se il nome di percorso dato in \fIpathname\fP è relativo e \fIdirfd\fP è il valore speciale \fBAT_FDCWD\fP, \fIpathname\fP è interpretato come relativo alla directory di lavoro corrente del processo chiamante (come \fBunlink\fP() e \fBrmdir\fP(2)). .PP Se il nome di percorso dato in \fIpathname\fP è assoluto, \fIdirfd\fP è ignorato. .PP \fIflags\fP è una bitmask che può essere specificata o come 0, o con valori di opzione uniti dall'operatore logico OR che controllano l'operazione di \fBunlinkat\fP(). Attualmente è definita solo una di tali opzioni: .TP \fBAT_REMOVEDIR\fP Senza opzioni, \fBunlinkat\fP() compie l'equivalente di \fBunlink\fP() su \fIpathname\fP. Se è specificata l'opzione \fBAT_REMOVEDIR\fP, effettua l'equivalente di \fBrmdir\fP(2) su \fIpathname\fP. .PP Vedere \fBopenat\fP(2) per una spiegazione di quello che serve per \fBunlinkat\fP(). .SH "VALORE RESTITUITO" In caso di successo restituisce zero. In caso di errore restituisce \-1, e \fIerrno\fP verrà impostato per indicare l'errore. .SH ERRORI .TP \fBEACCES\fP L'accesso in scrittura alla directory contenente \fIpathname\fP non è permesso all'UID effettivo del processo, o una delle directory in \fIpathname\fP non ha permesso la ricerca. (Vedere anche \fBpath_resolution\fP(7).) .TP \fBEBUSY\fP Il file \fIpathname\fP non può essere scollegato poiché è usato dal sistema o da un altro processo; per esempio, è un punto di mount o il software client NFS lo ha creato per rappresentare un inode attivo che altrimenti sarebbe stato senza nome ("NFS silly renamed"). .TP \fBEFAULT\fP \fIpathname\fP punta al di fuori del proprio spazio di indirizzamento accessibile. .TP \fBEIO\fP Si è verificato errore I/O. .TP \fBEISDIR\fP \fIpathname\fP refers to a directory. (This is the non\-POSIX value returned since Linux 2.1.132.) .TP \fBELOOP\fP Sono stati incontrati troppi collegamenti simbolici nel tradurre \fIpathname\fP. .TP \fBENAMETOOLONG\fP \fIpathname\fP era troppo lungo. .TP \fBENOENT\fP Un componente in \fIpathname\fP non esiste o è un collegamento simbolico scollegato, o \fIpathname\fP è vuoto. .TP \fBENOMEM\fP Insufficiente memoria disponibile per il kernel. .TP \fBENOTDIR\fP Un componente usato come directory in \fIpathname\fP non è, in effetti, una directory. .TP \fBEPERM\fP Il sistema non permette lo scollegamento di directory, o lo scollegamento di directory richiede privilegi che il processo chiamante non ha. (Questo è l'errore restituito prescritto da POSIX: come notato in precedenza, Linux restituisce \fBEISDIR\fP in questo caso). .TP \fBEPERM\fP (solo Linux) Il filesystem non permette lo scollegamento dei file. .TP \fBEPERM\fP o \fBEACCES\fP La directory contenente \fIpathname\fP ha lo sticky bit (\fBS_ISVTX\fP) impostato e l'effettivo UID del processo non è nè l'UID del file da cancellare nè quello della directory che lo contiene, e il processo non ha privilegi (Linux non ha capacità \fBCAP_FOWNER\fP). .TP \fBEPERM\fP Il file da scollegare è marcato come immutabile o di solo accodamento. (Si veda \fBioctl_iflags\fP(2).) .TP \fBEROFS\fP \fIpathname\fP fa riferimento a un file su un filesystem in sola lettura. .PP Gli stessi errori che si presentano per \fBunlink\fP() e \fBrmdir\fP(2) si possono presentare anche per \fBunlinkat\fP(). I seguenti errori aggiuntivi possono accadere per \fBunlinkat\fP(): .TP \fBEBADF\fP \fIpathname\fP è relativo ma \fIdirfd\fP non è né \fBAT_FDCWD\fP né un descrittore di file valido. .TP \fBEINVAL\fP Un valore di opzione non valido è stato specificato in \fIflags\fP. .TP \fBEISDIR\fP \fIpathname\fP fa riferimento a una directory, e \fBAT_REMOVEDIR\fP non è stato specificato in \fIflags\fP. .TP \fBENOTDIR\fP \fIpathname\fP è relativo e \fIdirfd\fP è un descrittore di file che fa riferimento a un file oltre che a una directory. .SH STANDARDS POSIX.1\-2008. .SH STORIA .TP \fBunlink\fP() .\" SVr4 documents additional error .\" conditions EINTR, EMULTIHOP, ETXTBSY, ENOLINK. SVr4, 4.3BSD, POSIX.1\-2001. .TP \fBunlinkat\fP() POSIX.1\-2008. Linux 2.6.16, glibc 2.4. .SS glibc Su vecchi kernel dove \fBunlinkat\fP() non è disponibile, la funzione wrapper glibc retrocede all'uso di \fBunlink\fP() o \fBrmdir\fP(2). Dove \fIpathname\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 \fIdirfd\fP. .SH BUG Alcune ineguatezze nel protocollo sottostante NFS possono causare sparizioni inaspettate di file che sono ancora in uso. .SH "VEDERE ANCHE" \fBrm\fP(1), \fBunlink\fP(1), \fBchmod\fP(2), \fBlink\fP(2), \fBmknod\fP(2), \fBopen\fP(2), \fBrename\fP(2), \fBrmdir\fP(2), \fBmkfifo\fP(3), \fBremove\fP(3), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .PP .SH TRADUZIONE La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli , Giulio Daprelà e Marco Curreli . .PP 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à. .PP Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a .MT pluto-ildp@lists.pluto.it .ME .