next up previous contents
Next: Funzioni su file regolari Up: Funzioni comuni a tutti Previous: creazione di link fisici   Indice

rimozione

$ \texttt{int unlink(const char *}$pathname $ \texttt{);}$
$ \texttt{int remove(const char *}$pathname $ \texttt{);}$

La rimozione di tutti i tipi di file è effettuata dalla chiamata di sistema $ \texttt{unlink()}$. Essa provvede ad eliminare il file pathname e decrementa di uno il numero dei link fisici direttamente referenziati dallo stesso. Finché tale quantità è maggiore di zero, i dati del file rimarranno accessibili attraverso gli altri link. Per effettuare questa operazione è necessario possedere i permessi di scrittura sul file e di esecuzione sul directory che lo contiene.

La funzione $ \texttt{remove()}$ si occupa allo stesso modo della cancellazione di un file, però assume sfumature diverse a seconda del tipo con cui interagisce: se quest'ultimo è un file regolare o un link simbolico, si comporterà come $ \texttt{unlink()}$, invece, se si tratta di un directory, agirà come la funzione $ \texttt{rmdir()}$ che verrà esaminata nella sezione 3.3.3.



2004-11-19