Basename

Shell command for extracting the last name from a path From Wikipedia, the free encyclopedia

basename is a shell command for extracting the last name of a file path.

Initial releaseJanuary 1979; 47 years ago (1979-01)
Written inC
Quick facts Initial release, Written in ...
basename
Initial releaseJanuary 1979; 47 years ago (1979-01)
Written inC
Operating systemUnix, Unix-like, IBM i, Plan 9, Inferno
PlatformCross-platform
TypeCommand
Licensecoreutils: GPLv3+
Plan 9: MIT License
Close

The command 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 in GNU Core Utilities was written by David MacKenzie.[3] The command is available for Windows as part of the GnuWin32 project[4] and UnxUtils[5] and is in IBM i.[6]

Use

The Single UNIX Specification is: basename path [suffix]. The required argument, path, is a file path string. The second argument, which is optional, is text to remove from the end of the last name if it ends with the text.

Examples

The command reports the last part of a path ignoring any trailing slashes.

$ basename /path/to/filename.ext 
filename.ext

$ basename /path/to/
to

If the suffix argument is included and matches the end of the last name, then that text is removed from the result.

$ basename /path/to/filename.ext .ext
filename

$ basename /path/to/filename.ext xx
filename.ext

See also

References

Related Articles

Wikiwand AI