---
name: "mkdir"
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/mkdir"
---

# mkdir(1)

make directories

## NAME

**mkdir** – make directories

## SYNOPSIS

**mkdir** \[**-p**\] \[**-m** *mode*\] *directory* *...*

## DESCRIPTION

The **mkdir** utility creates the directories named as operands, in the order specified, using mode rwxrwxrwx (0777) as modified by the current [umask(2)](/umask/2.md).

The options are as follows:

- **-m** *mode*

  Set the file permission bits of the newly created directory to *mode*. The mode argument can be in any of the formats specified to the [chmod(1)](/chmod/1.md) utility. If a symbolic mode is specified, the operators ‘+’ and ‘-’ are interpreted relative to an initial mode of “a=rwx”.

- **-p**

  Create intermediate directories as required. If this option is not specified, the full path prefix of each operand must already exist. Intermediate directories are created with permission bits of rwxrwxrwx (0777) as modified by the current umask, plus write and search permission for the owner. Do not consider it an error if the argument directory already exists.

The user must have write permission in the parent directory. For an explanation of the directory hierarchy, see [hier(7)](/hier/7.md).

## EXIT STATUS

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

## EXAMPLES

Create a directory named *foobar*:

```
$ mkdir foobar
```

Create a directory named *foobar* and set its file mode to 700:

```
$ mkdir -m 700 foobar
```

Create a directory named *cow/horse/monkey*, creating any non-existent intermediate directories as necessary:

```
$ mkdir -p cow/horse/monkey
```

## SEE ALSO

[chmod(1)](/chmod/1.md), [rmdir(1)](/rmdir/1.md), [mkdir(2)](/mkdir/2.md), [umask(2)](/umask/2.md), [hier(7)](/hier/7.md)

## STANDARDS

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

## HISTORY

A **mkdir** command appeared in Version 1 AT&T UNIX.
