---
name: "basename"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/basename"
---

# basename(1)

return filename portion of pathname

## NAME

**basename** – return filename portion of pathname

## SYNOPSIS

**basename** *string* \[*suffix*\]

## DESCRIPTION

**basename** deletes any prefix ending with the last slash (‘/’) character present in *string*, and a *suffix*, if given. The resulting filename is written to the standard output. A non-existent suffix is ignored.

## EXIT STATUS

The **basename** utility exits 0 on success, and \>0 if an error occurs.

## EXAMPLES

The following line sets the shell variable FOO to *tail*:

```
FOO=`basename /usr/bin/tail`
```

## SEE ALSO

[csh(1)](/csh/1.md), [dirname(1)](/dirname/1.md), [sh(1)](/sh/1.md), [basename(3)](/basename/3.md)

## STANDARDS

The **basename** utility is compliant with the IEEE Std 1003.1-2024 (“POSIX.1”) specification.
