본문 바로가기
개발/리눅스

리눅스 디렉토리 생성, mkdir

by 왼하루 2024. 3. 14.
반응형

리눅스 디렉토리 생성, mkdir 명령어 활용 가이드

리눅스 환경에서 새로운 폴더 또는 디렉토리를 만드는 것은 매우 중요한 작업입니다. mkdir 명령어를 사용하면 이 작업을 손쉽게 수행할 수 있습니다. 이 가이드에서는 mkdir 명령어의 다양한 사용법과 옵션을 자세히 설명하겠습니다.

mkdir 기본 사용법

mkdir 명령어의 가장 기본적인 사용법은 다음과 같습니다:
$ mkdir 디렉토리이름
예를 들어, "newdir"라는 새 디렉토리를 만들려면 다음과 같이 입력하면 됩니다:
$ mkdir newdir

상대 경로와 절대 경로

디렉토리를 만들 때 상대 경로나 절대 경로를 지정할 수 있습니다. 상대 경로는 현재 작업 디렉토리를 기준으로 한 경로입니다. 예를 들어:
$ mkdir documents/work
이 명령은 현재 디렉토리 내에 "documents" 디렉토리를 만들고, 그 안에 "work" 디렉토리를 만듭니다. 절대 경로는 루트 디렉토리(/)부터 시작하는 전체 경로입니다. 예:
$ mkdir /home/user/newdir
이 명령은 "/home/user" 디렉토리 아래에 "newdir"라는 새 디렉토리를 만듭니다.

mkdir 옵션

-p (부모 디렉토리 생성)

-p 옵션을 사용하면 지정한 디렉토리의 상위 디렉토리가 없어도 알아서 생성해줍니다. 예:
$ mkdir -p documents/work/projects
이 명령을 실행하면 "documents", "work", "projects" 디렉토리가 모두 생성됩니다.

-v (과정 출력)

-v 옵션을 사용하면 디렉토리 생성 과정을 출력해줍니다. 생성한 디렉토리 목록을 확인할 수 있습니다.

-m (권한 설정)

-m 옵션을 사용하면 생성한 디렉토리의 권한을 지정할 수 있습니다. 예:
$ mkdir -m 755 privatedir
위 명령은 "privatedir" 디렉토리를 소유자에게는 읽기/쓰기/실행 권한, 그룹과 기타 사용자에게는 읽기/실행 권한만 부여합니다.

mkdir 오류 처리

디렉토리 이름 중복

동일한 이름의 디렉토리가 이미 존재하면 mkdir는 오류를 출력합니다. 이 경우 -p 옵션을 사용하면 기존 디렉토리를 건너뛰고 나머지 경로를 생성합니다.

권한 문제

디렉토리를 만들려는 상위 디렉토리에 대한 쓰기 권한이 없으면 오류가 발생합니다. 이 때는 sudo 명령을 사용하여 루트 권한으로 실행해야 합니다.

실습 예제

1. 홈 디렉토리 아래에 "projects"라는 디렉토리 만들기:
$ mkdir ~/projects
2. "projects" 디렉토리 아래에 "coding", "design", "writing" 등의 하위 디렉토리 만들기:
$ mkdir ~/projects/{coding,design,writing}
3. "coding" 디렉토리 아래에 "java", "python", "cpp" 등의 하위 디렉토리 만들기:
$ mkdir -p ~/projects/coding/{java,python,cpp}
4. 디렉토리 권한을 770으로 설정하여 보안 프로젝트 디렉토리 생성하기:
$ mkdir -m 770 ~/projects/security

결론

리눅스에서 mkdir 명령어를 숙지하면 폴더와 디렉토리 관리가 매우 편리해집니다. 이 가이드에서는 mkdir의 기본 사용법부터 다양한 옵션까지 자세히 다뤘습니다. 앞서 살펴본 실습 예제를 통해 mkdir 명령어 활용 능력을 기를 수 있을 것입니다.

FAQ

1. 디렉토리 이름에 공백을 포함할 수 있나요?

네, 가능합니다. 하지만 이스케이프 문자(\)나 따옴표를 사용해야 합니다. 예: mkdir "Documents and Settings"

2. 이미 존재하는 디렉토리 이름으로 mkdir를 실행하면 어떻게 되나요?

오류 메시지가 출력되며 새 디렉토리가 생성되지 않습니다. -p 옵션을 사용하면 오류 없이 건너뜁니다.

3. 만든 디렉토리의 권한은 어떻게 확인하나요?

ls -l 명령을 사용하면 디렉토리 및 파일의 권한을 확인할 수 있습니다.

4. 상대 경로와 절대 경로의 차이점은 무엇인가요?

상대 경로는 현재 작업 디렉토리를 기준으로 한 경로이고, 절대 경로는 루트 디렉토리(/)부터 시작하는 전체 경로입니다.

5. 다수의 디렉토리를 한 번에 만들 수 있나요?

네, 가능합니다. 중괄호({})를 사용하여 디렉토리 이름을 나열하면 됩니다. 예: mkdir dir1 dir2 dir3 또는 mkdir {dir1,dir2,dir3}

댓글