COHERENT manpages
This page displays the COHERENT manpage for unlink() [Remove a file].
List of available manpages
Index
unlink() -- System Call (libc)
Remove a file
#include <unistd.h>
int unlink(name) char *name;
unlink() removes the directory entry for the given file name, which in
effect erases name from the disk. name cannot be opened once it has been
unlink()'d. If name is the last link, unlink() frees the i-node and data
blocks. Deallocation is delayed if the file is open. Other links to the
file remain intact.
Example
This example removes the files named on the command line.
#include <unistd.h>
main(argc, argv)
int argc; char *argv[];
{
int i;
for (i = 1; i < argc; i++) {
if (unlink(argv[i]) == -1) {
printf("Cannot unlink \"%s\"\n", argv[i]);
exit(EXIT_FAILURE);
}
}
exit(EXIT_SUCCESS);
}
See Also
libc,
link(),
ln,
remove(),
rm,
rmdir,
unistd.h
POSIX Standard, §5.5.1
Diagnostics
unlink() returns zero when successful. It returns -1 if file does not
exist, if the user does not have write and search permission in the
directory containing file, or if file is a directory and the invoker is not
the superuser.




