basename - Man Page
strip directory and suffix from filenames
Examples (TL;DR)
- Show only the file name from a path:
basename path/to/file
- Show only the rightmost directory name from a path:
basename path/to/directory
- Show only the file name from a path, with a suffix removed:
basename path/to/file suffix
Synopsis
basename NAME [SUFFIX]
basename OPTION... NAME...
Description
Print NAME with any leading directory components removed. If specified, also remove a trailing SUFFIX.
Mandatory arguments to long options are mandatory for short options too.
- -a, --multiple
support multiple arguments and treat each as a NAME
- -s, --suffix=SUFFIX
remove a trailing SUFFIX; implies -a
- -z, --zero
end each output line with NUL, not newline
- --help
display this help and exit
- --version
output version information and exit
Examples
- basename /usr/bin/sort
-> "sort"
- basename include/stdio.h .h
-> "stdio"
- basename -s .h include/stdio.h
-> "stdio"
- basename -a any/str1 any/str2
-> "str1" followed by "str2"
Author
Written by David MacKenzie.
Reporting Bugs
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Copyright
Copyright © 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
See Also
Full documentation <https://www.gnu.org/software/coreutils/basename>
or available locally via: info '(coreutils) basename invocation'
Referenced By
basename(3), cksfv(1), collectd.conf(5), datamash(1), dirname(1), FontDatabase(5), libmagic(3), pmsignal(1), tnftp(1), zip2st(1).