초보리눅스

HOME > 초보리눅스
초보리눅스| 리눅스 초급자들을 위한 기초지식을 제공하는 곳입니다.
 
mkdir (새로운 디렉토리를 생성한다.)
조회 : 3,738  


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로 되어있다는 것을 알수가 있다.

 

저작권 :  수퍼유저코리아 (www.superuser.co.kr),   무단 재배포및 복사를 금합니다. 


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1106


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수