# Linux commands: basename

> Learn how the Linux basename command returns the last portion of a path, so basename /Users/flavio/test.txt gives you back just the test.txt filename.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2020-10-17 | Topics: [CLI](https://flaviocopes.com/tags/cli/) | Canonical: https://flaviocopes.com/linux-command-basename/

Suppose you have a path to a file, for example `/Users/flavio/test.txt`.

Running

```bash
basename /Users/flavio/test.txt
```

will return the `text.txt` string:

![Terminal showing basename /Users/flavio/test.txt command outputting test.txt](https://flaviocopes.com/images/linux-command-basename/Screen_Shot_2020-09-10_at_08.27.52.png)

If you run `basename` on a path string that points to a directory, you will get the last segment of the path. In this example, `/Users/flavio` is a directory:

![Terminal showing basename commands on directory path /Users/flavio both outputting flavio](https://flaviocopes.com/images/linux-command-basename/Screen_Shot_2020-09-10_at_08.28.11.png)

The `basename` command works on Linux, macOS, WSL, and anywhere you have a UNIX environment
