Initial release | January 1979 |
---|---|
Written in | C |
Operating system | Unix, Unix-like, Plan 9, Inferno |
Platform | Cross-platform |
Type | Command |
License | coreutils: GPLv3+ Plan 9: MIT License |
basename is a standard computer program on Unix and Unix-like operating systems. When basename is given a pathname, it will delete any prefix up to and including the last non-trailing slash ('/'
) character, returning the result. basename is described in the Single UNIX Specification and is primarily used in shell scripts.
basename
was introduced in X/Open Portability Guidelines issue 2 of 1987. It was inherited into the first version of POSIX and the Single Unix Specification. [1] It first appeared in 4.4BSD. [2]
The version of basename
bundled in GNU coreutils was written by David MacKenzie. [3]
The command is available as a separate package for Microsoft Windows as part of the GnuWin32 project [4] and the UnxUtils collection of native Win32 ports of common GNU Unix-like utilities. [5]
The Single UNIX Specification for basename is.
basename string [suffix]
basename will retrieve the last name from a pathname ignoring any trailing slashes
$ basename/home/jsmith/base.wikibase.wiki$ basename/home/jsmith/ jsmith$ basename/ /
basename can also be used to remove the end of the base name, but not the complete base name
$ basename/home/jsmith/base.wiki.wiki base$ basename/home/jsmith/base.wikiki base.wi$ basename/home/jsmith/base.wikibase.wiki base.wiki