Your company here, and a link to your site. Click to find out more.

basename - Man Page

strip directory and suffix from filenames

Examples (TL;DR)


basename NAME [SUFFIX]
basename OPTION... NAME...


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


display this help and exit


output version information and exit


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"


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/>

See Also

dirname(1), readlink(1)

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).

April 2024 GNU coreutils 9.5