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