---
name: "dirname"
section: "1"
platform: "linux"
package: "coreutils"
version: "9.12-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/dirname"
---

# dirname(1)

strip last component from file name

## NAME

dirname - strip last component from file name

## SYNOPSIS

**dirname** \[*OPTION*\] *NAME*...

## DESCRIPTION

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

- **--help**

  display this help and exit

- **--version**

  output version information and exit

## EXAMPLES

- dirname /usr/bin/

  \-\> "/usr"

- dirname dir1/str dir2/str

  \-\> "dir1" followed by "dir2"

- dirname stdio.h

  \-\> "."

## AUTHOR

Written by David MacKenzie and Jim Meyering.

## REPORTING BUGS

Report bugs to: \<bug-coreutils@gnu.org\>.\
 Report any translation bugs to: \<https://translationproject.org/team/\>.\
 GNU coreutils home page: \<https://www.gnu.org/software/coreutils/\>\
 General help using GNU software: \<https://www.gnu.org/gethelp/\>

## COPYRIGHT

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \<https://gnu.org/licenses/gpl.html\>.\
 This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

## SEE ALSO

[**basename**(1)](/basename/1.md), [**readlink**(1)](/readlink/1.md)

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