웹사이트 검색

mkdir 명령을 사용하여 Linux에서 디렉터리를 만드는 방법


요약: 이 가이드에서는 디렉토리를 생성하는 데 사용되는 mkdir 명령을 살펴보겠습니다. 또한 초보자가 Linux 시스템을 자신있게 운영하는 데 도움이 되는 몇 가지 실제 사례에 대해서도 논의할 것입니다.

Linux 사용자로서 우리는 정기적으로 파일과 디렉터리를 사용합니다. 파일을 사용하면 중요한 데이터를 저장할 수 있지만 디렉터리를 사용하면 파일을 적절한 방식으로 구성할 수 있습니다. 이 외에도 콘텐츠를 더 나은 방식으로 구성하기 위해 계층적 디렉터리 구조를 만드는 경우가 많습니다.

초보자에게 친숙한 이 글에서는 mkdir 명령에 대해 알아 보겠습니다. 이름에서 알 수 있듯이 mkdir 명령은 지정된 경로에 명명된 디렉터리를 만드는 데 사용되며, 이를 통해 필요한 파일 권한을 사용하여 한 번에 하나 또는 여러 개의 디렉터리를 만들 수도 있습니다.

mkdir 명령을 사용하려면 사용자에게 상위 디렉토리에 대한 필수 권한이 있어야 합니다. 그렇지 않으면 권한 거부 오류와 함께 명령이 실패합니다.

다른 Linux 명령과 마찬가지로 mkdir 명령의 구문은 주로 옵션인수라는 두 그룹으로 나뉩니다.

mkdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...

위 구문에서 대괄호 ([])는 선택적 인수를 나타내고, 꺾쇠 괄호 (<>)는 필수 인수를 나타냅니다.

Linux에서 mkdir 명령의 기본 사용법

이름에서 알 수 있듯이 mkdir은 "make 디렉토리"의 약식입니다. 좋은 점은 동일한 디렉터리나 파일이 지정된 경로에 존재하지 않는 경우에만 디렉터리를 생성한다는 것입니다. 이런 방식으로 이는 매우 안전한 명령이며 시스템에 해를 끼치지 않습니다.

이 섹션에서는 예제와 함께 mkdir 명령의 기본 사용법을 살펴보겠습니다.

1. Linux에서 디렉토리 생성

mkdir 명령의 기본적인 용도 중 하나는 지정된 경로에 명명된 디렉터리를 만드는 것입니다. 이제 현재 작업 디렉토리에 rpm-distros라는 이름의 디렉토리를 생성해 보겠습니다.

mkdir rpm-distros

이제 ls 명령을 사용하여 디렉터리가 생성되었는지 확인합니다.

ls -l

첫 번째 예에서는 mkdir 명령과 함께 상대 경로를 사용했습니다. 그러나 이 명령은 절대 경로도 지원합니다.

pwd 명령이나 pwd 환경 변수를 사용하여 현재 작업 디렉터리의 절대 경로를 찾을 수 있습니다.

따라서 절대 경로를 사용하여 현재 작업 디렉터리에 deb-distros라는 이름의 디렉터리를 생성해 보겠습니다.

mkdir $PWD/deb-distros

이제 현재 작업 디렉터리에 새 디렉터리가 생성되었는지 확인합니다.

ls -l

2. Linux에서 여러 디렉터리 만들기

mkdir 명령은 여러 경로를 인수로 허용하므로 한 번에 여러 디렉터리를 만들 수 있습니다.

단일 명령을 사용하여 deb-distros 디렉터리 내에 세 개의 디렉터리를 생성해 보겠습니다.

mkdir deb-distros/kali deb-distros/mint deb-distros/ubuntu

이제 deb-distros 디렉터리의 내용을 나열해 보겠습니다.

ls -l deb-distros

보시다시피 mkdir 명령은 여러 디렉터리를 성공적으로 생성했습니다.

3. Brace 확장을 사용하여 여러 디렉터리 생성

이전 예에서는 단일 명령을 사용하여 다른 디렉터리 내에 여러 디렉터리를 만드는 방법을 살펴보았습니다. 그러나 각 하위 디렉터리에 상위 디렉터리 이름, 즉 deb-distros를 지정했기 때문에 이는 가장 효율적인 방법이 아니었습니다.

이러한 제한을 극복하기 위해 다음 예와 같이 중괄호 확장에 하위 디렉터리 이름을 지정할 수 있습니다. 여기서 rpm-distros 디렉터리 내에 세 개의 하위 디렉터리를 만듭니다.

mkdir rpm-distros/{alma,centos,fedora}

여기서 우리는 다음 두 가지 중요한 점에 주목해야 합니다.

  • 쉼표 (,) 양쪽에는 공백이 없습니다.
  • 중괄호 확장 기능은 Bash 셸에서만 사용할 수 있으므로 이 접근 방식은 이식성이 떨어집니다.

이제 필요한 디렉터리 구조가 성공적으로 생성되었는지 확인해 보겠습니다.

ls -l rpm-distros

4. 중첩된 하위 디렉터리 구조 만들기

이전 섹션에서는 여러 디렉터리를 만드는 방법을 살펴보았습니다. 그러나 중첩된 디렉터리 구조를 생성하려는 경우에는 해당 접근 방식이 작동하지 않습니다. 이러한 경우 필요한 경우 상위 디렉터리를 생성하는 명령의 -p 옵션을 사용할 수 있습니다.

중첩된 하위 디렉터리 구조를 만들어 보겠습니다.

mkdir -p rpm-distros/centos/8.x/8.1/8.1-1911

이제 재귀적인 방식으로 rpm-distros/centos 디렉터리의 내용을 확인합니다.

ls -1R rpm-distros/centos

보시다시피, 명령은 기존 상위 디렉터리에 대한 오류를 보고하지 않고 필요한 디렉터리 구조를 생성했습니다. 이 옵션은 쉘 스크립트를 작성하는 동안 매우 유용합니다. 이를 사용하여 기존 디렉터리로 인해 발생할 수 있는 디렉터리 생성 오류를 억제할 수 있습니다.

5. 권한이 있는 디렉터리 만들기

때로는 디렉토리 생성 직후 디렉토리의 액세스 권한을 수정해야 할 수도 있습니다. 이 경우 mkdirchmod라는 두 가지 명령을 사용해야 합니다. 그러나 단일 명령을 사용하여 동일한 결과를 얻을 수 있습니다.

디렉터리를 생성하는 동안 디렉터리에 대한 액세스 권한을 설정하려면 -m 옵션을 사용해 보겠습니다.

mkdir -m 777 dir-1

이 예에서는 숫자 형식을 사용하여 액세스 권한을 설정했습니다. 비슷한 방식으로 텍스트 형식을 사용할 수 있습니다.

예를 들어, 아래 명령을 사용하여 동일한 결과를 얻을 수 있습니다.

mkdir -m a=rwx dir-2

이제 ls 명령을 사용하여 디렉토리의 액세스 권한을 찾으십시오.

ls -ld dir-2 | awk '{print $1}'

6. mkdir 명령으로 Verbose 활성화

기본적으로 mkdir 명령은 디렉터리 생성 후 터미널에 아무 것도 인쇄하지 않습니다. 따라서 지금까지 ls 명령을 사용하여 디렉토리가 생성되었는지 확인했습니다.

이러한 제한을 극복하기 위해 생성된 각 디렉터리에 대한 메시지를 인쇄하는 명령의 상세 모드를 사용할 수 있습니다. 이 옵션을 –p 옵션과 결합하면 의미 있는 정보를 제공합니다.

상세 모드를 활성화하려면 명령과 함께 -v 옵션을 사용하겠습니다.

mkdir -p -v dir-1/dir-2/dir-3/dir-4/dir-5

이제 명령의 출력을 살펴보겠습니다.

이 기사에서는 mkdir 명령의 기본 사용법을 살펴보았습니다. 먼저 단일 디렉터리와 여러 디렉터리를 만드는 방법을 살펴보았습니다. 다음으로 디렉토리를 생성하는 동안 디렉토리에 대한 권한을 설정하는 방법을 살펴보았습니다. 마지막으로 verbose 모드를 사용하여 디렉터리 생성을 확인하는 방법을 살펴보았습니다.

Linux에서 mkdir 명령의 다른 가장 좋은 예를 알고 계십니까? 아래 댓글로 여러분의 의견을 알려주세요.