ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • mkdir
    KAU/Linux 2010. 4. 6. 23:55

    mkdir

    MaKe DIRectory의 약어로서 새로운 디렉토리를 만들때 사용하는 명령어이다.
    리눅스의 가장 흔한 명령어의 일종으로서 필요한 디렉토리가 있을때 간단히 "mkdir 디렉토리명"으로 새로운 디렉토리를 만들 수 있다.
    이때 생성되는 디렉토리는 생성하는 사용자의 umask값에 따라 그 퍼미션이 달라지게 된다.

    사용형식

    mkdir [-p] [-m mode] [--parents] [--mode=mode] [--help] [--version] dir...


    사용예 #1

    새로운 디렉토리를 생성하고자 할때에는 다음과 같이 "mkdir 디렉토리명"이라고만 하면 된다.

    [root@host1 commmand]# ls -l
    합계 0
    [root@host1 commmand]#
    [root@host1 commmand]# mkdir dir1
    [root@host1 commmand]#
    [root@host1 commmand]# ls -l
    합계 4
    drwxr-xr-x    2 root     root         4096  9월 15 20:02 dir1
    [root@host1 commmand]#

    위의 예에서는 dir1이라는 이름을 가진 디렉토리를 생성하였다.


    사용예 #2

    다음은 상위디렉토리를 포함하는 디렉토리를 만들어 보도록 하자.

    [root@host1 commmand]# ls -l
    합계 4
    drwxr-xr-x    2 root     root         4096  9월 15 20:02 dir1
    [root@host1 commmand]#
    [root@host1 commmand]# mkdir dir2/subdir
    mkdir: `dir2/subdir' 디렉토리를 만들 수 없습니다: 그런 파일이나 디렉토리가 없음
    [root@host1 commmand]#

    위와 같이 현재디렉토리밑에 dir2를 만들고 그 안에 다시 subdir이라는 디렉토리를 만들고자 하였다.
    하지만, 위의 예를 보다시피 만들수없다는 에러메시지와 함께 생성되지 않는다.

    그렇다면 상위디레토리를 포함하는 디렉토리를 생성하고자할 때에는 어떻게 할까?
    다음의 예를 보자.

    사용예 #3

    상위디렉토리를 포함하는 디렉토리를 생성하고자 할때에는 아래 예와 같이 -p옵션을 사용한다.

    [root@host1 commmand]# ls -l
    합계 4
    drwxr-xr-x    2 root     root         4096  9월 15 20:02 dir1
    [root@host1 commmand]#
    [root@host1 commmand]# mkdir -p dir2/subdir
    [root@host1 commmand]#
    [root@host1 commmand]# ls -l
    합계 8
    drwxr-xr-x    2 root     root         4096  9월 15 20:02 dir1
    drwxr-xr-x    3 root     root         4096  9월 15 20:06 dir2
    [root@host1 commmand]#
    [root@host1 commmand]# cd dir2
    [root@host1 dir2]#
    [root@host1 dir2]# ls -l
    합계 4
    drwxr-xr-x    2 root     root         4096  9월 15 20:06 subdir
    [root@host1 dir2]#

    -p옵션을 사용하면 상위디렉토리를 포함한 디렉토리를 생성할 수 있다.
    위의 예에서는 현재디렉토리 내에 dir2라는 디렉토리를 생성하고 다시 dir2라는 디렉토리내에 subdir이라는 디렉토리를 생성하였다.


    사용예 #4

    새로 생성되는 디렉토리의 퍼미션은 사용자의 umask값에 따라서 결정된다.
    위의 예에서는 기본 umask값이 0022이므로 디렉토리의 퍼미션이 755가 되었음을 알 수가 있다.
    하지만, 사용자가 원하는 퍼미션으로 새로운 디렉토리를 생성하고자 한다면 어떻게 하면 될까?

    그 해답은 -m옵션을 사용하여 새로운 디렉토리를 만드는 것이다.
    아래 그 예를 보자.

    [root@host1 commmand]# ls -l
    합계 8
    drwxr-xr-x    2 root     root         4096  9월 15 20:02 dir1
    drwxr-xr-x    3 root     root         4096  9월 15 20:06 dir2
    [root@host1 commmand]#
    [root@host1 commmand]# mkdir -m 777 dir3
    [root@host1 commmand]#
    [root@host1 commmand]# ls -l
    합계 12
    drwxr-xr-x    2 root     root         4096  9월 15 20:02 dir1
    drwxr-xr-x    3 root     root         4096  9월 15 20:06 dir2
    drwxrwxrwx    2 root     root         4096  9월 15 20:11 dir3
    [root@host1 commmand]#

    위에서 새로 생성되는 dir3의 퍼미션을 -m옵션에 의해 777로 지정해 주었다.
    결과를 보면 새로 생성된 dir3 디렉토리의 퍼미션이 777로 되어있다는 것을 알수가 있다.

    댓글

Designed by Tistory.