basename
Initial release | January 1979 |
---|---|
Written in | GPLv3+ Plan 9: MIT License |
basename is a standard
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 scriptsHistory
basename
was introduced in
The version of basename
bundled in
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]
Usage
The Single UNIX Specification specification for basename is.
basename string [suffix]
- string
- A pathname
- A
- suffix
- If specified, basename will also delete the suffix.
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
See also
- List of Unix commands
- dirname
- Path (computing)
References
- The Single UNIX Specification, Version 4 from The Open Group
- ^ FreeBSD General Commands Manual –
- ^ Linux User Manual – User Commands –
- ^ CoreUtils for Windows
- ^ Native Win32 ports of some GNU utilities
External links
The Wikibook Guide to Unix has a page on the topic of: Commands