---
name: "mkdir"
section: "1"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/mkdir"
---

# mkdir(1)

make directories

## NAME

**mkdir** – make directories

## SYNOPSIS

**mkdir** \[**-pv**\] \[**-m** *mode*\] *directory\_name* *...*

## 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 final created directory to the specified mode. The *mode* argument can be in any of the formats specified to the [chmod(1)](/chmod/1.md) command. If a symbolic mode is specified, the operation characters ‘+’ 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. On the other hand, with this option specified, no error will be reported if a directory given as an operand already exists. Intermediate directories are created with permission bits of “rwxrwxrwx” (0777) as modified by the current umask, plus write and search permission for the owner.

- **-v**

  Be verbose when creating directories, listing them as they are created.

The user must have write permission in the parent directory.

## 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
```

## COMPATIBILITY

The **-v** option is non-standard and its use in scripts is not recommended.

## SEE ALSO

[rmdir(1)](/rmdir/1.md)

## STANDARDS

The **mkdir** utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.

## HISTORY

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