In Unix-like operating systems, unlink is a system call and a command line utility to delete files. The program directly interfaces the system call, which removes the file name and (but not on GNU systems) directories like rm and rmdir. If the file name was the last hard link to the file, the file itself is deleted as soon as no program has it open.
Unlike the rm utility, the unlink utility only accepts one argument, which can be desirable to guard against accidental multi-deletions.
It also appears in the PHP, Node.js, R, Perl and Python standard libraries in the form of the unlink() built-in function. Like the Unix utility, it is also used to delete files.
Examples
To delete a file named foo, one could type:
% unlink fooIn PHP, one could use the following function to do the same:
unlink("foo");The Perl syntax is identical to the PHP syntax, save for the parentheses:
unlink "foo";In Node.js it is almost the same as the others:
fs.unlink("foo", callback);In R (with the S language compatibility):
unlink("foo") #Comment: using the inside argument 'recursive = TRUE', directories can be deletedSimilarly in Python:
os.unlink("foo")See also
References
"GNU Coreutils: unlink invocation". www.gnu.org. https://www.gnu.org/software/coreutils/manual/html_node/unlink-invocation.html ↩
"unlink". pubs.opengroup.org. https://pubs.opengroup.org/onlinepubs/9699919799/functions/unlink.html ↩
Differences Between rm and unlink Commands | Baeldung on Linux at archive.today (archived 2024-12-18) https://archive.today/20241218171826/https://www.baeldung.com/linux/rm-vs-unlink ↩
"PHP: unlink - Manual". php.net. https://php.net/unlink ↩
"unlink - perldoc.perl.org". perldoc.perl.org. https://perldoc.perl.org/functions/unlink.html ↩
"File System - Node.js v13.0.1 Documentation". nodejs.org. https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback ↩
"os — Miscellaneous operating system interfaces — Python 3.8.0 documentation". python.org. https://docs.python.org/3/library/os.html#os.unlink ↩