basename man page

basename — strip directory and suffix from filenames


basename {{path/to/file}}

basename {{path/to/file}} {{suffix}}


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: <>
Report basename translation bugs to <>

See Also

dirname(1), readlink(1)

Full documentation at: <…>
or available locally via: info '(coreutils) basename invocation'

Referenced By

basename(3), cksfv(1), collectd.conf(5), dirname(1), FontDatabase(5), libmagic(3), pmsignal(1), tnftp(1), zip2st(1).

November 2016 GNU coreutils 8.26 User Commands