mkdir 은 리눅스에서 디렉터리를 만드는 명령어입니다.

기본 사용법

디렉터리를 생성하려면 디렉터리 이름을 주고 mkdir 을 실행하면 됩니다. 다음은 foo 라는 이름의 디렉터리를 생성합니다.

$ mkdir foo
BASH


계층적으로 만드려면 / 를 구분자로 해서 계층 구조를 전달해 주면 됩니다. 다음은 foo 라는 디렉터리 하단에 bar, 그 하단에 sub 이라는 디렉터리를 만듭니다.

$ mkdir foo/bar/sub
BASH


멱등으로 실행

계층적으로 만들 경우 상위 디렉터리가 없으면 다음과 같이 오류가 납니다.

$ mkdir foo/bar/sub

mkdir: cannot create directory ‘foo/bar/sub’: No such file or directory
BASH


이미 폴더가 있을 경우에도 다음과 같이 에러가 발생합니다.

$ mkdir foo/bar/sub

mkdir: cannot create directory ‘foo/bar/sub’: File exists
BASH


이 문제는 존재하면 에러를 내지 않거나 부모 디렉터리를 만드는 -p, --parents 옵션을 사용하면 해결되며 이 옵션과 함게 mkdir 을 여러 번 실행해도 이상이 없으므로 멱등성을 갖추게 됩니다.

$ mkdir -p foo/bar/sub
$ mkdir -p foo/bar/sub
$ echo $?

0
BASH

결과 자세히 보기

command line 유틸리티에서 일반적으로 제공하는 상세 보기 옵션인 -v, --verbose 를 사용하면 각 과정을 상세하게 출력합니다.

$ mkdir -pv foo/bar/sub

mkdir: created directory 'foo'
mkdir: created directory 'foo/bar'
mkdir: created directory 'foo/bar/sub'
BASH

같이 보기