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.


GNU coreutils online help: <>

Report basename translation bugs to <>


Copyright © 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

RELATED TO basename…

dirname(1), readlink(1)

Full documentation at: <>

or available locally via: info '(coreutils) basename invocation'