In
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
operating systems, unlink is a
system call
In computing, a system call (syscall) is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services (for example, accessing a hard disk drive ...
and a
command line
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
utility to delete files. The program directly interfaces the system call, which removes the file name and (but not on
GNU
GNU ( ) is an extensive collection of free software (394 packages ), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popu ...
systems) directories like
rm and
rmdir
In computing, rmdir (or rd) is a command which will remove an empty directory on various operating systems.
Implementations
The command is available in Unix (e.g. macOS, Solaris, AIX, HP-UX), Unix-like (e.g. FreeBSD, Linux), DOS, Digital ...
. If the file name was the last
hard link
In computing, a hard link is a directory entry (in a Directory (computing), directory-based file system) that associates a name with a Computer file, file. Thus, each file must have at least one hard link. Creating additional hard links for a fil ...
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
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
,
Node.js,
R,
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
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 foo
In
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
, one could use the following function to do the same:
unlink("foo");
The
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
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 deleted
Similarly in Python:
os.unlink("foo")
See also
*
List of Unix commands
This is a list of the shell commands of the most recent version of the Portable Operating System Interface (POSIX) IEEE Std 1003.1-2024 which is part of the Single UNIX Specification (SUS). These commands are implemented in many shells on moder ...
*
link (Unix)
*
ln (Unix)
is a shell command for creating a link file to an existing file or directory. By default, the command creates a hard link, but with the command line option, it creates a symbolic link. Most systems disallow a hard link to a directory since su ...
References
{{Core Utilities commands
Unix SUS2008 utilities
System calls