dirname(1)

dirname1

Return filename or directory portion of pathname

Part of basename(1).

Usage

basename string [suffix]

basename [-a] [-s suffix] string []

dirname string []

Overview

The basename utility deletes any prefix ending with the last slash ‘/’ character present in string (after first stripping trailing slashes), and a suffix, if given. The suffix is not stripped if it is identical to the remaining characters in string. The resulting filename is written to the standard output. A non-existent suffix is ignored. If -a is specified, then every argument is treated as a string as if basename were invoked with just one argument. If -s is specified, then the suffix is taken as its argument, and all other arguments are treated as a string.

The dirname utility deletes the filename portion, beginning with the last slash ‘/’ character to the end of string (after first stripping trailing slashes), and writes the result to the standard output.

Exit status

The basename and dirname utilities exit 0 on success, and >0 if an error occurs.

Examples

The following line sets the shell variable FOO to /usr/bin.

FOO=`dirname /usr/bin/trail`

Releases

163 releases since Mac OS X 10.0; the text changed 2 times.

  1. 10.0–10.2.8
  2. 10.3–11.5
  3. 12.0.1–26.5

Standards

The basename and dirname utilities are expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.

History

The basename and dirname utilities first appeared in 4.4BSD.

From shell_cmds 329 in macOS 26.5. Parsed by carta from the page's mdoc source.