본문 바로가기

공부/Linux

리눅스 디렉토리 생성 및 제거(mkdir, rmdir)

해커스쿨에서 운영하고있는 F.T.Z 서버에서 연습한 내용+인터넷에 있는 정보를 정리함.

mkdir 명령

mkdir 디렉토리명

 만들고자 하는 디렉토리명을 mkdir뒤에 쓰면된다.

 ex) test 디렉토리 만들기 예시

 [guest@ftz guest]$ ls -l
 total 4
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer
 [trainer2@ftz trainer2]$ mkdir test
 [guest@ftz guest]$ ls -l
 total 8
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer

 drwxrwxr-x   2   guest    guest   4096 Aug 28 02:28 test

mkdir -m 퍼미션값 디렉토리명

 디렉토리를 생성할때 권한을 설정할 수 있다. 디폴트값은 755이다.

 ex) test 디렉토리 권한 설정(퍼미션값 777)

 [guest@ftz guest]$ ls -l
 total 4
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer
 [guest@ftz guest]$ mkdir -m 777 test
 [guest@ftz guest]$ ls -l
 total 8
 drwxrwxr-x     2   guest    guest   4096 Apr 10 18:57 linuxer

 drwxrwxrwx   2   guest    guest   4096 Aug 28 02:48 test

 위를 보면 퍼미션값을 777로 바꾸고 디렉토리를 생성하니 이름이 drwxrwxrwx로 변경되었다.
 이는 퍼미션값을 777로 설정한것과 직접적인 연관이 있다. 자세한건 후에 관련 글을 작성하도록 하겠다.

 

mkdir -p 경로와 디렉토리

 디렉토리 생성시 상위 경로의 디렉토리도 함께 생성된다.
 ex) mkdir -p를 이용해 test2/qwer1234 디렉토리 한번에 생성하기

 [guest@ftz guest]$ ls -l
 total 8
 drwxrwxr-x     2   guest    guest   4096 Apr 10 18:57 linuxer
 drwxrwxrwx   2   guest    guest   4096 Aug 28 02:48 test
 [guest@ftz guest]$ pwd
 /home/guest
 [guest@ftz guest]$ mkdir /home/guest/test2/qwer1234
 mkdir: cannot create directory ' /home/guest/test2/qwer1234 ' : No such file or directory
 [guest@ftz guest]$ mkdir -p /home/guest/test2/qwer1234
 [guest@ftz guest]$ ls -lR
 . :
 total 12
 drwxrwxr-x     2   guest    guest   4096 Apr 10 18:57 linuxer
 drwxrwxrwx   2   guest    guest   4096 Aug 28 02:48 test

 drwxrwxr-x     2   guest    guest   4096 Apr 10 03:05 test2
 
 ./linuxer:
 total 0
 
 ./test:
 total 0
 
 ./test2:
 total 4
 drwxrwxr-x     2   guest    guest   4096 Apr 10 03:05 qwer1234

 mkdir로 상위 경로의 디렉토리인 test2와 그 하위 디렉토리인 qwer1234를 한번에 생성하는게 안됨을 확인하고,
 -p 옵션을 사용하여 두 디렉토리를 한번에 생성하고, ls-R 옵션을 이용해 test2 디렉토리의 하위 디렉토리인
 qwer1234까지 제대로 생성됬음을 확인하였다.

 

mkdir -v 디렉토리명

 디렉토리를 생성할 때 그에 관한 메세지를 출력한다.
 한번에 여러개의 디렉토리를 생성할 때 사용하면 좋다.
 ex) 한번에 여러 디렉토리의 생성과 그에 관한 메세지 출력

 [guest@ftz guest]$ ls -l
 total 4
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer
 [guest@ftz guest]$ mkdir -v 1234 5678 1357 2468
 mkdir: created directory '1234'
 mkdir: created directory '5678'
 mkdir: created directory '1357'

 mkdir: created directory '2468'
 [guest@ftz guest] $ ls -l
 total 20
 drwxrwxr-x   2   guest    guest   4096 Aug 28 03:28 1234
 drwxrwxr-x   2   guest    guest   4096 Aug 28 03:28 5678
 drwxrwxr-x   2   guest    guest   4096 Aug 28 03:28 1357
 drwxrwxr-x   2   guest    guest   4096 Aug 28 03:28 2468
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer
 [guest@ftz guest]$ mkdir -v 1234 5678 1357 2468
 mkdir: cannot create directory '1234' : File exists
 mkdir: cannot create directory '5678' : File exists
 mkdir: cannot create directory '1357' : File exists
 mkdir: cannot create directory '2468' : File exists

 위에서 mkdir -v로 디렉토리를 생성하자 created directory라고 성공적으로 디렉토리를 생성했다고
 메세지를 출력하였다. 그 뒤에 바로 mkdir -v로 똑같은 디렉토리를 생성하자, cannot creat dirctory,
 File exists라며 디렉토리가 만들어지지 않았고, 이미 같은 디렉토리가 존재한다는 메세지를 출력해주었다.

rmdir 명령

rmdir 디렉토리명

 삭제하고자 하는 디렉토리명을 rmdir뒤에 쓰면된다.

 ex) test 디렉토리 삭제 예시

 [guest@ftz guest]$ ls -l
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer
 drwxrwxr-x   2   guest    guest   4096 Aug 28 04:06 test
 [guest@ftz guest]$ rmdir test
 [guest@ftz guest]$ ls -l
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer

rmdir -p 경로와 디렉토리

 디렉토리 제거시 상위 경로의 디렉토리도 함께 제거된다.

 ex) rmdir -p를 이용해 test/qwer1234 디렉토리 한번에 삭제하기

 [guest@ftz guest]$ ls -lR
 . :
 total 8
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer
 drwxrwxr-x   3   guest    guest   4096 Aug 28 04:11 test

 ./linuxer:
 total 0

 ./test:
 total 4
 drwxrwxr-x   2   guest    guest   4096 Aug 28 04:11 qwer1234

 ./test/qwer1234:
 total 0
 [guest@ftz guest]$ rmdir -p test/qwer1234
 [guest@ftz guest]$ ls -lR
 . :
 total 4
 drwxrwxr-x   2   guest    guest   4096 Apr 10 18:57 linuxer

 -p옵션을 사용하지 않고 test디렉토리를 지우려고 하면 Directory not empty라는 경고 메세지와 함께
 삭제되지 않는다. 이때 -p 옵션으로 삭제하려는 디렉토리 경로를 지정해주면 한번에 삭제가 된다.
 하지만 rmdir -p는 삭제하려는 디렉토리안에 파일이 들어가있을 경우 삭제할 수 없다.
 이때는 rm명령어의 -r 옵션을 사용해야한다. rm명령어에 대한 자세한 내용은 다음 포스팅에서 다룰것이다.

'공부 > Linux' 카테고리의 다른 글

리눅스 pwd, cd 명령어 및 옵션 정리  (0) 2019.08.27
리눅스 ls 명령어 및 옵션 정리  (0) 2019.08.21