unlink(2) System Calls Manual unlink(2) unlink, unlinkat - , , , Standard C library (libc, -lc) #include int unlink(const char *pathname); #include /* AT_* */ #include int unlinkat(int dirfd, const char *pathname, int flags); glibc (. feature_test_macros(7)): unlinkat(): glibc 2.10: _POSIX_C_SOURCE >= 200809L glibc 2.10: _ATFILE_SOURCE unlink() . , , , , . , - , , , , . , . , FIFO , , , . unlinkat() unlinkat() unlink() rmdir(2) ( , AT_REMOVEDIR flags), , . pathname , , dirfd ( , unlink() rmdir(2)). pathname dirfd AT_FDCWD, pathname ( unlink() rmdir(2)). pathname , dirfd . flags , 0, OR, unlinkat(). : AT_REMOVEDIR By default, unlinkat() performs the equivalent of unlink() on pathname. If the AT_REMOVEDIR flag is specified, it performs the equivalent of rmdir(2) on pathname. openat(2) unlinkat(). 0. -1, errno . EACCES UID , pathname, pathname ( path_resolution(7)). EBUSY pathname , ; , NFS , inode (<>). EFAULT pathname . EIO -. EISDIR pathname refers to a directory. (This is the non-POSIX value returned since Linux 2.1.132.) ELOOP pathname . ENAMETOOLONG pathname . ENOENT pathname , pathname . ENOMEM . ENOTDIR , pathname, . EPERM , . ( POSIX; , Linux EISDIR.) EPERM ( Linux) . EPERM EACCES , pathname, (S_ISVTX) UID UID , , , (Linux: CAP_FOWNER). EPERM The file to be unlinked is marked immutable or append-only. (See FS_IOC_SETFLAGS(2const).) EROFS pathname , . unlinkat() , unlink() rmdir(2). , unlinkat() : EBADF pathname , dirfd AT_FDCWD . EINVAL flags . EISDIR pathname flags AT_REMOVEDIR. ENOTDIR pathname dirfd , , . POSIX.1-2008. unlink() SVr4, 4.3BSD, POSIX.1-2001. unlinkat() POSIX.1-2008. Linux 2.6.16, glibc 2.4. glibc , unlinkat() , glibc unlink(2) rmdir(2). pathname , glibc /proc/self/fd, dirfd. NFS , . rm(1), unlink(1), chmod(2), link(2), mknod(2), open(2), rename(2), rmdir(2), mkfifo(3), remove(3), path_resolution(7), symlink(7) () Azamat Hackimov , Dmitriy Ovchinnikov , Dmitry Bolkhovskikh , Katrin Kutepova , Yuri Kozlov , Kirill Rekhov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () <>. Linux man-pages 6.12 23 2024 . unlink(2)