dirname — strip last component from file name

Examples (TL;DR)


dirname [OPTION] NAME...


Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no /'s, output '.' (meaning the current directory).

-z, --zero

end each output line with NUL, not newline


display this help and exit


output version information and exit


dirname /usr/bin/

-> "/usr"

dirname dir1/str dir2/str

-> "dir1" followed by "dir2"

dirname stdio.h

-> "."


Written by David MacKenzie and Jim Meyering.

Reporting Bugs

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

See Also

basename(1), readlink(1)

Full documentation <https://www.gnu.org/software/coreutils/dirname>
or available locally via: info '(coreutils) dirname invocation'

Referenced By

basename(1), basename(3), cksfv(1), datamash(1).

October 2019 GNU coreutils 8.31