Movatterモバイル変換


[0]ホーム

URL:


Skip Navigation Links
Exit Print View
Link to oracle.comman pages section 2: System Calls    Oracle Solaris 11 Information Library
Oracle Technology Network
Library
PDF
Print View
Feedback
search filter icon
search icon
 Search Scope:

Document Information

Preface

Introduction

System Calls

access(2)

acct(2)

acl(2)

adjtime(2)

alarm(2)

brk(2)

chdir(2)

chmod(2)

chown(2)

chroot(2)

close(2)

creat(2)

dup(2)

exec(2)

execl(2)

execle(2)

execlp(2)

execv(2)

execve(2)

execvex(2)

execvp(2)

_Exit(2)

_exit(2)

exit(2)

faccessat(2)

facl(2)

fchdir(2)

fchmod(2)

fchmodat(2)

fchown(2)

fchownat(2)

fchroot(2)

fcntl(2)

fexecve(2)

fgetlabel(2)

fork1(2)

fork(2)

forkall(2)

forkallx(2)

forkx(2)

fpathconf(2)

fstat(2)

fstatat(2)

fstatvfs(2)

futimens(2)

futimesat(2)

getacct(2)

getcontext(2)

getdents(2)

getegid(2)

geteuid(2)

getgid(2)

getgroups(2)

getisax(2)

getitimer(2)

getlabel(2)

getmsg(2)

getpflags(2)

getpgid(2)

getpgrp(2)

getpid(2)

getpmsg(2)

getppid(2)

getppriv(2)

getprojid(2)

getrctl(2)

getrlimit(2)

getsid(2)

gettaskid(2)

getuid(2)

getustack(2)

ioctl(2)

issetugid(2)

kill(2)

lchown(2)

link(2)

linkat(2)

llseek(2)

lseek(2)

lstat(2)

_lwp_cond_broadcast(2)

_lwp_cond_reltimedwait(2)

_lwp_cond_signal(2)

_lwp_cond_timedwait(2)

_lwp_cond_wait(2)

_lwp_continue(2)

_lwp_info(2)

_lwp_kill(2)

_lwp_mutex_lock(2)

_lwp_mutex_trylock(2)

_lwp_mutex_unlock(2)

_lwp_self(2)

_lwp_sema_init(2)

_lwp_sema_post(2)

_lwp_sema_trywait(2)

_lwp_sema_wait(2)

_lwp_suspend(2)

memcntl(2)

meminfo(2)

mincore(2)

mkdir(2)

mkdirat(2)

mknod(2)

mknodat(2)

mmap(2)

mmapobj(2)

mount(2)

mprotect(2)

msgctl(2)

msgget(2)

msgids(2)

msgrcv(2)

msgsnap(2)

msgsnd(2)

munmap(2)

nice(2)

ntp_adjtime(2)

ntp_gettime(2)

open(2)

openat(2)

pathconf(2)

pause(2)

pcsample(2)

pipe(2)

poll(2)

p_online(2)

ppoll(2)

pread(2)

priocntl(2)

priocntlset(2)

processor_bind(2)

processor_info(2)

profil(2)

pset_assign(2)

pset_bind(2)

pset_create(2)

pset_destroy(2)

pset_getattr(2)

pset_info(2)

pset_list(2)

pset_setattr(2)

putacct(2)

putmsg(2)

putpmsg(2)

pwrite(2)

read(2)

readlink(2)

readlinkat(2)

readv(2)

rename(2)

renameat(2)

resolvepath(2)

rmdir(2)

sbrk(2)

semctl(2)

semget(2)

semids(2)

semop(2)

semtimedop(2)

setcontext(2)

setegid(2)

seteuid(2)

setgid(2)

setgroups(2)

setitimer(2)

setpflags(2)

setpgid(2)

setpgrp(2)

setppriv(2)

setrctl(2)

setregid(2)

setreuid(2)

setrlimit(2)

setsid(2)

settaskid(2)

setuid(2)

setustack(2)

shmadv(2)

shmat(2)

shmctl(2)

shmdt(2)

shmget(2)

shmids(2)

shmop(2)

sigaction(2)

sigaltstack(2)

sigpending(2)

sigprocmask(2)

sigsend(2)

sigsendset(2)

sigsuspend(2)

sigwait(2)

__sparc_utrap_install(2)

stat(2)

statvfs(2)

stime(2)

swapctl(2)

symlink(2)

symlinkat(2)

sync(2)

sysfs(2)

sysinfo(2)

time(2)

times(2)

uadmin(2)

ulimit(2)

umask(2)

umount(2)

umount2(2)

uname(2)

unlink(2)

unlinkat(2)

ustat(2)

utime(2)

utimensat(2)

utimes(2)

uucopy(2)

vfork(2)

vforkx(2)

vhangup(2)

waitid(2)

wracct(2)

write(2)

writev(2)

yield(2)

unlink

, unlinkat

- remove directory entry

Synopsis

#include <unistd.h>intunlink(const char *path);
intunlinkat(intdirfd,const char *path,intflag);

Description

Theunlink() function removes a link to a file. Ifpath namesa symbolic link,unlink() removes the symbolic link named bypath anddoes not affect any file or directory named by the contents ofthe symbolic link. Otherwise,unlink() removes the link named by the pathnamepointed to bypath and decrements the link count of the filereferenced by the link.

Theunlinkat() function also removes a link to a file. Seefsattr(5).If theflag argument is 0, the behavior ofunlinkat() is the sameasunlink() except in the processing of itspath argument. Ifpathis absolute,unlinkat() behaves the same asunlink() and thedirfd argument isunused. Ifpath is relative anddirfd has the valueAT_FDCWD, definedin <fcntl.h>,unlinkat() also behaves the same asunlink(). Otherwise,path is resolvedrelative to the directory referenced by thedirfd argument.

If theflag argument is set to the valueAT_REMOVEDIR, defined in<fcntl.h>,unlinkat() behaves the same asrmdir(2) except in the processing ofthepath argument as described above.

When the file's link count becomes 0 and no process has thefile open, the space occupied by the file will be freed andthe file is no longer accessible. If one or more processes havethe file open when the last link is removed, the link isremoved beforeunlink() orunlinkat() returns, but the removal of the filecontents is postponed until all references to the file are closed.

If thepath argument is a directory and the filesystem supportsunlink()andunlinkat() on directories, the directory is unlinked from its parent withno cleanup being performed. In UFS, the disconnected directory will befound the next time the filesystem is checked withfsck(1M). Theunlink() andunlinkat() functions will not fail simply because a directory is not empty. Theuser with appropriate privileges can orphan a non-empty directory without generating anerror message.

If thepath argument is a directory and the filesystem does notsupportunlink() andunlink() on directories (for example, ZFS), the call willfail witherrno set toEPERM.

Upon successful completion,unlink() andunlinkat() will mark for update thest_ctimeandst_mtime fields of the parent directory. If the file's linkcount is not 0, thest_ctime field of the file will be markedfor update.

Return Values

Upon successful completion,0 is returned. Otherwise,-1 is returned,errnois set to indicate the error, and the file is not unlinked.

Errors

Theunlink() andunlinkat() functions will fail if:

EACCES

Search permission is denied for a component of thepath prefix, or write permission is denied on the directory containing the link to be removed.

EACCES

The parent directory has the sticky bit set and the file is not writable by the user, the user does not own the parent directory, the user does not own the file, and the user is not a privileged user.

EBUSY

The entry to be unlinked is the mount point for a mounted file system.

EFAULT

Thepath argument points to an illegal address.

EILSEQ

The path argument includes non-UTF8 characters and the file system accepts only file names where all characters are part of the UTF-8 character codeset.

EINTR

A signal was caught during the execution of theunlink() function.

ELOOP

Too many symbolic links were encountered in translatingpath.

ENAMETOOLONG

The length of thepath argument exceedsPATH_MAX, or the length of apath component exceedsNAME_MAX while_POSIX_NO_TRUNC is in effect.

ENOENT

The named file does not exist or is a null pathname.

ENOLINK

Thepath argument points to a remote machine and the link to that machine is no longer active.

ENOTDIR

A component of thepath prefix is not a directory or the provided directory descriptor forunlinkat() is notAT_FDCWD or does not reference a directory.

EPERM

The named file is a directory and {PRIV_SYS_LINKDIR} is not asserted in the effective set of the calling process, or the filesystem implementation does not supportunlink() orunlinkat() on directories.

EROFS

The directory entry to be unlinked is part of a read-only file system.

Theunlink() andunlinkat() functions may fail if:

ENAMETOOLONG

Pathname resolution of a symbolic link produced an intermediate result whose length exceeds {PATH_MAX}.

ETXTBSY

The entry to be unlinked is the last directory entry to a pure procedure (shared text) file that is being executed.

Usage

Applications should usermdir(2) to remove a directory.

Attributes

Seeattributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Async-Signal-Safe

See Also

rm(1),close(2),link(2),open(2),rmdir(2),remove(3C),attributes(5),privileges(5),fsattr(5)

Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices
PreviousNext

[8]ページ先頭

©2009-2025 Movatter.jp