manpagez: man pages & more
info coreutils
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

18.2 dirname: Strip non-directory suffix from a file name

dirname prints all but the final slash-delimited component of a string (presumably a file name). Synopsis:

dirname name

If name is a single component, dirname prints ‘.’ (meaning the current directory).

Together, basename and dirname are designed such that if ‘ls "$name"’ succeeds, then the command sequence ‘cd "$(dirname "$name")"; ls "$(basename "$name")"’ will, too. This works for everything except file names containing a trailing newline.

POSIX allows the implementation to define the results if name is ‘//’. With GNU dirname, the result is ‘//’ on platforms where // is distinct from /, and ‘/’ on platforms where there is no difference.

The only options are ‘--help’ and ‘--version’. See section Common options.

An exit status of zero indicates success, and a nonzero value indicates failure.


# Output "/usr/bin".
dirname /usr/bin/sort

# Output ".".
dirname stdio.h

© 2000-2021
Individual documents may contain additional copyright information.