Basename


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 the last slash character and return the result. basename is described in the Single UNIX Specification and is primarily used in shell scripts.

History

was introduced in X/Open Portability Guidelines issue 2 of 1987.
The version of basename bundled in GNU coreutils was written by David MacKenzie.
The command is available as a separate package for Microsoft Windows as part of the GnuWin32 project and the UnxUtils collection of native Win32 ports of common GNU Unix-like utilities.

Usage

The Single UNIX Specification specification for basename is.
basename string

Examples

basename will retrieve the last name from a pathname ignoring any trailing slashes

$ basename /home/jsmith/base.wiki
base.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.wiki ki
base.wi
$ basename /home/jsmith/base.wiki base.wiki
base.wiki