본문 바로가기
리눅스

mkdir

by 다움위키 2023. 12. 21.

Unix, DOS, DR FlexOS, IBM OS/2, Microsoft Windows, and ReactOS 운영 시스템에서 mkdir (make directory의 약어) 명령은 새로운 디렉토리를 만들기 위해 사용됩니다. 그것은 EFI 셸PHP 스크립팅 언어에서도 사용할 수 있습니다. DOS, OS/2, Windows 및 ReactOS에서, 그 명령은 종종 md로 축약됩니다.

그 명령은 Stratus OpenVOS create_dir 명령과 유사합니다. MetaComCo TRIPOSAmigaDOS는 유사한 MakeDir 명령을 새로운 디렉토리를 생성하기 위해 제공합니다. 수치 컴퓨팅 환경 MATLABGNU Octave는 유사한 기능을 가진 mkdir 함수를 포함하어 있습니다.

History

유닉스의 초기 버전 (4.1BSDSystem V의 초기 버전)에서, 이 명령은 커널이 mkdir 시스템 호출이 없었기 때문에 setuid 루트여야 했습니다. 대신에, 그것은 mknod로 디렉토리를 만들고 .와 .. 디렉토리 항목을 수동으로 연결했습니다. 그이 명령은 MS-DOS 버전 2 이상에서 사용할 수 있습니다. Digital Research DR DOS 6.0Datalight ROM-DOS는 md와 mkdir 명령의 구현도 포함되어 있습니다.

GNU coreutils에 번들된 mkdir 버전은 David MacKenzie에 의해 작성되었습니다. 그것은 역시 오픈 소스 MS-DOS 에뮬레이터 DOSBoxKolibriOS에서도 사용할 수 있습니다.

Usage

통상적인 사용법은 다음과 같이 간단합니다:

mkdir name_of_directory

여기서 name_of_directory는 만들고자 하는 디렉토리의 이름입니다. 위와 같이 입력하면 (즉, 통상적인 사용), 새로운 디렉토리가 현재 디렉토리 내에 생성됩니다. 유닉스와 윈도우 (명령 확장이 활성화됨, 기본값)에서, 여러 디렉토리는 지정될 수 있고, mkdir은 모든 디렉토리를 생성하려고 시도할 것입니다.

Options

유닉스-계열 운영 시스템에서, mkdir는 옵션을 취합니다. 옵션은 다음과 같습니다:

  • -p (--parents): parents 또는 path는 이미 존재하지 않는 주어진 디렉토리로 이어지는 모든 디렉토리도 생성할 것입니다. 예를 들어, mkdir -p a/b는 디렉토리 a가 존재하지 않으면 디렉토리 a를 생성할 것이고, 디렉토리 a 안에 디렉토리 a를 생성할 것입니다. 만약 주어진 디렉토리가 이미 존재하ㅕㄴ, 오류를 무시합니다.
  • -m (--mode): mode는 mkdir에 의해 생성된 디렉토리의 팔진 허가권을 지정합니다.

-p는 필요한 디렉토리가 없거나 이미 있는 경우에서 복잡한 디렉토리 계층을 구축하기 위해 mkdir을 사용할 때 가장 자주 사용됩니다. -m은 공통적으로 쉘 스크립트에 의해 사용된 임시 디렉토리를 잠그기 위해 사용됩니다.

Examples

동작에서 -p의 예제는 다음과 같습니다:

mkdir -p /tmp/a/b/c

만약 /tmp/a가 존재하지만 /tmp/a/b가 존재하지 않으면, mkdir는 /tmp/a/b/c를 생성하기 전에 /tmp/a/b를 생성할 것입니다.

그리고 한 번에 전체 트리를 생성하는 훨씬 더 강력한 명령은 다음과 같습니다 (이것은 어쨌든 확장이며, mkdir 자체는 그렇지 않습니다):

mkdir -p tmpdir/{trunk/sources/{includes,docs},branches,tags}

만약 bash 스크립트에서 mkdir를 갖는 변수를 사용하면, POSIX `special' 내장 명령 'eval'이 그 목적을 수행합니다.

DOMAIN_NAME=includes,docs
eval "mkdir -p tmpdir/{trunk/sources/{${DOMAIN_NAME}},branches,tags}"

이것은 다음을 생성할 것입니다:

          tmpdir
    ________|______
   |        |      |
branches   tags  trunk
                   |
                 sources
               ____|_____
              |          |
          includes     docs

Further reading

External links