UNLINK
Section: Linux Programmer's Manual (2)
Updated: 23 giugno 2004
Index
Return to Main Contents
NOME
unlink - Rimuove un nome ed eventualmente il file a cui si riferisce
SINTASSI
#include <unistd.h>
int unlink(const char *pathname);
DESCRIZIONE
unlink()
cancella un nome dal filesystem.
Se il nome è l'ultimo link
ad un file e nessun processo sta usando il file, allora
viene cancellato anche il file stesso, e lo spazio occupato viene liberato.
Se invece il nome è l'ultimo link ad un file, ma il file è correntemente
usato da un processo, il file viene rimosso solo quando viene chiuso il
file descriptor a cui fa riferimento.
Se il nome si riferisce ad un link simbolico, il link viene rimosso.
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
utilizzarlo.
VALORE RESTITUITO
In caso di successo viene restituito zero; altrimenti viene
restituito il valore -1, e
errno
viene impostato di conseguenza.
ERRORI
- EACCES
-
L'accesso in scrittura alla directory contenente
pathname
non è permesso all'UID effettivo del processo, o una delle
directory in
pathname
non ha permesso la ricerca.
(Vedere anche
path_resolution(7).)
- EBUSY (not on Linux)
-
Il file
pathname
non può essere scollegato poiché è usato dal sistema o da un altro
processo, e l'implementazione considera questo un errore.
- EFAULT
-
pathname
punta al di fuori del proprio spazio di indirizzamento accessibile.
- EIO
-
E' avvenuto un errore I/O.
- EISDIR
-
pathname
fa riferimento a una directory.
(Questo è il valore non-POSIX restituito da Linux a partire da 2.1.132.)
- ELOOP
-
Sono stati incontrati troppi link simbolici nel tradurre
pathname.
- ENAMETOOLONG
-
pathnameera troppo lungo.
- ENOENT
-
Un componente in
pathname
non esiste o è un link simbolico scollegato, o
pathname
è vuoto.
- ENOMEM
-
Insufficiente memoria disponibile per il kernel.
- ENOTDIR
-
Un componente usato come directory in
pathname
non è, in effetti, una directory.
- EPERM
-
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
EISDIR
in questo caso).
- EPERM (solo Linux)
-
Il filesystem non permette lo scollegamento dei file.
- EPERM o EACCES
-
La directory contenente
pathname
ha lo sticky bit
(S_ISVTX)
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à
CAP_FOWNER ).
- EROFS
-
pathname
fa riferimento a un file su un filesystem in sola lettura.
CONFORME A
SVr4, 4.3BSD, POSIX.1-2001.
BUG
Alcune inpopportunità nel protocollo sottostante NFS possono causare
sparizioni inaspettate di file che sono ancora in uso.
VEDERE ANCHE
rm(1),
chmod(2),
link(2),
mknod(2),
open(2),
rename(2),
rmdir(2),
unlinkat(2),
mkfifo(3),
remove(3),
path_resolution(7)
COLOPHON
Questa pagina fa parte del rilascio 2.75 del progetto
man-pages
di Linux.
Si può trovare una descrizione del progetto,
e informazioni su come riportare bachi,
presso
http://www.kernel.org/doc/man-pages/.
Per la traduzione in italiano si può fare riferimento a
http://www.pluto.it/ildp/collaborare/
Index
- NOME
-
- SINTASSI
-
- DESCRIZIONE
-
- VALORE RESTITUITO
-
- ERRORI
-
- CONFORME A
-
- BUG
-
- VEDERE ANCHE
-
- COLOPHON
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:51 GMT, June 17, 2008