프로그래밍/Unix

유닉스 디렉토리 생성, 삭제

미냐님 2020. 3. 23. 00:45
728x90

 

디렉토리 생성



홈 디렉토리

  • 새로운 디렉토리를 생성
  • 시스템은 자동으로 “.”과 “..” 엔트리를 만들며, 일반 사용자는 이 두 엔트리를 삭제할 수 없음
  • 형식 : mkdir [옵션] 디렉토리명
  • 옵션
  • -p : 하위 디렉토리를 계층적으로 생성할 때 중간의 디렉토리가 없으면, 생성하면서 전체 디렉토리를 생성

 

디렉토리 한 개 생성

  • mkdir 다음에 디렉토리 이름을 지정하면 현재 디렉토리 아래에 디렉토리 생성
  • 예) mkdir Unix
  • mkdir 다음에 디렉토리 이름을 절대 경로로 지정하면 절대 경로 상에 디렉토리 생성
  • 예) mkdir /home/ksshin/Unix/ch2

 

$ mkdir Unix
$ ls Unix
$ ls -a Unix
. ..
$ mkdir /home/ksshin/Unix/ch2
$ ls Unix
ch3
$

 

 

디렉토리 여러 개를 동시에 생성

  • mkdir 다음에 공백으로 구분되는 이름이 여러 개일 경우 각각을 디렉토리 이름으로 하여 여러 개의 디렉토리 생성

 

$ mkdir temp dir1
$ ls –l
total 9
drwxr-xr-x 2 ksshin ksshin 4096 30 May 21:12 temp
drwxr-xr-x 2 ksshin ksshin 4096 30 May 21:12 dir1
$

 

  • 홈디렉토리로 이동하지 않고 생성
  • 명령어 라인이 길어질 때는 줄 끝에 백슬래시() 문자 사용

 

$ mkdir /home/ksshin/Unix/ch1 \
/home/ksshin/Unix/ch2/document \
/home/ksshin/Unix/ch2/source
$

 

 

중간 디렉토리 자동 생성

  • mkdir 명령 다음에 –p 옵션 사용
  • 디렉토리 이름으로 지정한 경로 중 중간 단계의 디렉토리가 존재하지 않으면 중간 단계 디렉토리도 자동으로 생성한 뒤 해당 디렉토리 생성

 

$ mkdir –p temp/work/prog
$ ls –lR temp
temp:
total 1
drwxr-xr-x 2 ksshin ksshin 4096 30 May 21:12 work
temp/work:
total 1
drwxr-xr-x 2 ksshin ksshin 4096 30 May 21:12 prog
temp/work/prog:
total 0
$

 

 

서브디렉토리 생성 후의 구조

디렉토리 생성



rmdir(remove directory)

  • 디렉토리를 삭제
  • 형식 : rmdir [옵션] 디렉토리명
  • 옵션
  • -p : 지정한 디렉토리를 삭제한 뒤, 그 디렉토리의 부모 디렉토리가 빈 디렉토리일 경우 부모 디렉토리도 자동으로 삭제
  • 사용 예
  • rmdir temp

 

디렉토리 삭제할 때 규칙

  • 비어 있지 않은 디렉토리는 삭제할 수 없다.
  • 작업 디렉토리와 루트 디렉토리 사이에 있는 디렉토리는 어떤 것도 지울 수 없다.
  • 비어 있지 않은 디렉토리를 한 번에 지우려면 ‘rm –r’ 명령 사용
  • 디렉토리를 지울 때마다 사용자에게 질문하게 하려면 ‘rm –ir’ 명령 사용
  • 비어 있지 않은 디렉토리를 삭제하려고 하면 오류 메시지 출력

 

$ rmdir temp
rmdir: failed to remove ‘temp’ : Directory not empty
$

 

 

디렉토리 한 개 삭제

  • rmdir 다음에 디렉토리 이름 지정하면 현재 디렉토리 내에 있는 해당 디렉토리 삭제
  • 예) rmdir dir
  • rmdir 다음에 디렉토리 이름을 절대경로로 지정하면 절대 경로 상에 있는 해당 디렉토리 삭제
  • 예) rmdir /home/ksshin/test

 

디렉토리 여러 개 삭제

 

$ rmdir temp/work/prog test
$ cd ~/Unix/ch2
$ rmdir document source
$

 

 

가장 단순한 디렉토리 삭제 방법

  • 가장 낮은 곳에 있는 디렉토리 삭제

 

$ cd ~/Unix/ch2
$ rmdir document source

 

  • ch1, ch2 디렉토리 삭제

 

$ cd ..
$ rmdir ch1 ch2

 

  • 삭제 후 디렉토리 구조

가장 단순한 디렉토리 삭제 방법

  • 절대 경로명으로 디렉토리 삭제

 

$ rmdir /home/ksshin/Unix/ch2/document \
/home/ksshin/Unix/ch2/source \
/home/ksshin/Unix/ch1 \
/home/ksshin/Unix/ch2
$

 

  • “~” 기호를 사용하여 디렉토리 삭제

 

$ rmdir ~/Unix/ch2/document \
~/Unix/ch2/source \
~/Unix/ch1 \
~/Unix/ch2
$

 

728x90

'프로그래밍 > Unix' 카테고리의 다른 글

유닉스 파일 내용 보기  (0) 2020.03.23
유닉스 디렉토리 이름 변경 및 검색  (0) 2020.03.23
유닉스 디렉토리 이동  (0) 2020.03.23
유닉스 디렉토리 구조  (0) 2020.03.22
유닉스 파일의 종류  (0) 2020.03.22