네트워크 엔지니어 & 개발자 로엘이

 

mkdir은 make directory의 약자로 CLI 명령으로 새로운 디렉토리를 생성할 때 사용하는 명령이다.

mkdir은 umask값을 통해 사용자 권한을 적용하여 디렉토리를 생성한다.

별도로 설정하지 않았다면 umask값은 0022로 디렉토리에서 가질 수 있는 최대 권한인 777에서 22를 차감한 값인 755로 디렉토리를 생성한다. 따라서 모든 사용자에게 일기와 실행 권한이 부여된다.

mkdir command

mkdir [옵션] [생성할 디렉토리명]

mkdir 옵션

 옵션 설명
-p 상위 경로의 디렉토리가 없을 경우 함께 생성
-m umask 값을 무시하고 지정한 권한으로 생성
-v 디렉토리 생성 결과 출력
--version mkdir의 버전 정보 출력

1. 디렉토리 생성하기.

[root@localhost test]# mkdir test
[root@localhost test]# ls
total 0
drwxr-xr-x.  3 root root  18 2021-01-12 12:41 .
drwxr-xr-x. 11 root root 268 2021-01-12 12:39 ..
drwxr-xr-x.  2 root root   6 2021-01-12 12:41 test

옵션을 주지 않고 디렉토리를 생성한 결과로 ls 명령을 사용하여 755 권한이 부여된 test 디렉토리가 생성된 것을 알 수 있다.

2. 디렉토리 여러개 생성하기.

[root@localhost test]# mkdir test1 test2 test3
[root@localhost test]# ls
total 0
drwxr-xr-x.  6 root root  57 2021-01-12 12:43 .
drwxr-xr-x. 11 root root 268 2021-01-12 15:49 ..
drwxr-xr-x.  2 root root   6 2021-01-12 12:41 test
drwxr-xr-x.  2 root root   6 2021-01-12 12:43 test1
drwxr-xr-x.  2 root root   6 2021-01-12 12:43 test2
drwxr-xr-x.  2 root root   6 2021-01-12 12:43 test3

스페이스를 구분자로 생성할 디렉토리 명을 여러개 입력하면 현재 디렉토리 내부에 여러 개의 디렉토리를 생성할 수 있다.

3. 존재하지 않는 디렉토리의 하위 경로까지 생성하기.

[root@localhost test]# mkdir test/test/test/test
mkdir: cannot create directory ‘test/test/test/test’: No such file or directory
[root@localhost test]# mkdir -p test/test/test/test
[root@localhost test]# ls test/test/test/
total 0
drwxr-xr-x. 3 root root 18 2021-01-12 16:08 .
drwxr-xr-x. 3 root root 18 2021-01-12 16:08 ..
drwxr-xr-x. 2 root root  6 2021-01-12 16:08 test

test 디렉토리는 조금 전에 생성하였지만 test/test/test 디렉토리가 없기 때문에 상위 디렉토리가 존재하지 않아 test/test/test/test 디렉토리 생성하려고 하면 No such file or directory 에러가 출력된다 이러한 경우에 상위 디렉토리를 일일히 직접 생성할 수도 있지만 -p 옵션을 활용하면 생성할 디렉토리의 상위디렉토리가 없는 경우 한번에 생성이 가능하다.

4. 사용자 권한을 지정하여 디렉토리 생성하기.

[root@localhost test]# mkdir -m 711 test711
[root@localhost test]# ls
total 0
drwxr-xr-x.  3 root root  21 2021-01-12 16:16 .
drwxr-xr-x. 11 root root 268 2021-01-12 15:49 ..
drwx--x--x.  2 root root   6 2021-01-12 16:16 test711

mkdir은 기본적으로 umask값을 통해 디렉토리를 생성하지만 -m 옵션을 사용하면 umask값을 무시하고 사용자 권한을 지정하여 생성할 수 있다.

5. 디렉토리 생성 결과 출력하기

[root@localhost test]# mkdir -v test1 test2 test3
mkdir: created directory ‘test1’
mkdir: created directory ‘test2’
mkdir: created directory ‘test3’

mkdir은 기본적으로 작업의 결과를 출력하지 않지만 -v 옵션을 사용하면 작업 결과를 출력할 수 있다. 다수의 디렉토리를 생성할 경우 유용하게 사용할 수 있다.

6. mkdir 버전 정보 출력

[root@localhost test]# mkdir --version
mkdir (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.

--version 옵션을 사용하면 mkdir의 정보를 확인할 수 있다. 현재 포스팅의 기준 버전은 8.22 버전이다.

 

 

 

- 끝 -

728x90
반응형
250x250

공유하기

facebook twitter kakaoTalk kakaostory naver band