Rechercher une page de manuel
unlink
Langue: en
Version: 2004-06-23 (fedora - 16/08/07)
Section: 2 (Appels système)
NAME
unlink - delete a name and possibly the file it refers toSYNOPSIS
#include <unistd.h>int unlink(const char *pathname);
DESCRIPTION
unlink() deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open the file is deleted and the space it was using is made available for reuse.If the name was the last link to a file but any processes still have the file open the file will remain in existence until the last file descriptor referring to it is closed.
If the name referred to a symbolic link the link is removed.
If the name referred to a socket, fifo or device the name for it is removed but processes which have the object open may continue to use it.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.ERRORS
- EACCES
- Write access to the directory containing pathname is not allowed for the process's effective UID, or one of the directories in pathname did not allow search permission. (See also path_resolution(2).)
- EBUSY (not on Linux)
- The file pathname cannot be unlinked because it is being used by the system or another process and the implementation considers this an error.
- EFAULT
- pathname points outside your accessible address space.
- EIO
- An I/O error occurred.
- EISDIR
- pathname refers to a directory. (This is the non-POSIX value returned by Linux since 2.1.132.)
- ELOOP
- Too many symbolic links were encountered in translating pathname.
- ENAMETOOLONG
- pathname was too long.
- ENOENT
- A component in pathname does not exist or is a dangling symbolic link, or pathname is empty.
- ENOMEM
- Insufficient kernel memory was available.
- ENOTDIR
- A component used as a directory in pathname is not, in fact, a directory.
- EPERM
- The system does not allow unlinking of directories, or unlinking of directories requires privileges that the current process doesn't have. (This is the POSIX prescribed error return; as noted above, Linux returns EISDIR for this case.)
- EPERM (Linux only)
- The filesystem does not allow unlinking of files.
- EPERM or EACCES
- The directory containing pathname has the sticky bit (S_ISVTX) set and the process's effective UID is neither the UID of the file to be deleted nor that of the directory containing it, and the process is not privileged (Linux: does not have the CAP_FOWNER capability).
- EROFS
- pathname refers to a file on a read-only filesystem.
CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001.BUGS
Infelicities in the protocol underlying NFS can cause the unexpected disappearance of files which are still being used.SEE ALSO
rm(1), chmod(2), link(2), mknod(2), open(2), path_resolution(2), rename(2), rmdir(2), unlinkat(2), mkfifo(3), remove(3)Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre