Provided by: manpages-it_2.80-3_all bug

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/