Go에서 새 디렉터리 만들기

Musfirah Waseem 2023년6월20일
  1. os.Mkdiros.MkdirAll의 권한 모드
  2. Go에서 os.Mkdir() 메서드 사용
  3. Go에서 os.MkdirAll() 메서드 사용
Go에서 새 디렉터리 만들기

Go에는 디렉토리를 생성하는 많은 방법이 있으며 그 중 하나는 os.Mkdir입니다. 새로 형성된 디렉토리에 지정된 이름과 권한 비트를 할당할 수 있습니다.

os.MkdirAll은 누락된 상위를 포함하여 여러 디렉토리를 재귀적으로 생성하는 데 도움이 됩니다.

os.Mkdiros.MkdirAll의 권한 모드

표기법 8진 정수 기능
rwx 7 읽기, 쓰기 및 실행
rw- 6 읽기, 쓰기
r-x 5 읽기 및 실행
r-- 4 읽다
-wx 3 쓰기 및 실행
-w- 2 쓰다
--x 1 실행하다
--- 0 권한 없음

사용자 액세스

허가 8진법 필드
rwx------ 0700 사용자
---rwx--- 0070 그룹
------rwx 0007 다른

공통 권한

  1. 0664: 소유자만 파일을 읽고 쓸 수 있습니다. 반면에 다른 사용자는 파일을 읽을 수만 있습니다.
  2. 0600: 소유자만 파일을 읽고 쓸 수 있으며 다른 사람은 액세스할 수 없습니다.
  3. 0777: 모든 사용자가 파일에 대한 전체 액세스 권한을 가집니다.
  4. 0755: 소유자만 전체 액세스 권한을 갖고 다른 사용자는 파일을 보고 실행할 수만 있습니다.
  5. 0666: 모든 파일 사용자에 대한 읽기 및 쓰기 권한.
  6. 0750: 파일 소유자는 읽고 쓰고 실행할 수 있지만 사용자는 읽고 실행할 수만 있습니다.

Go에서 os.Mkdir() 메서드 사용

package main

import (
	"log"
	"os"
	"fmt"
)

func main() {

	error := os.Mkdir("HomeDir", 0750)

	if error != nil && !os.IsExist(error) {

		log.Fatal(error)

	}

	fmt.Print("The directory has been created successfully.")

}

출력:

The directory has been created successfully.

위의 코드를 사용하면 새 디렉토리를 만들 수 있습니다. 새 디렉터리를 만드는 동안 오류가 발생하면 PathError 유형이 됩니다.

os.Mkdir 기능은 단일 디렉토리만 만듭니다. 이 기능을 사용하여 하위 디렉토리를 만들 수 있습니다.

Go에서 os.MkdirAll() 메서드 사용

package main

import (
	"log"

	"os"

	"fmt"
)

func main() {
	DirPath := "Desktop/Documents/MyDirectory"

	err := os.MkdirAll(DirPath, os.ModePerm)

	if err != nil {

		log.Println(err)

	}

	fmt.Print("The directory has been created successfully.")
}

출력:

The directory has been created successfully.

하나의 명령으로 여러 디렉토리를 생성하는 기능을 만들면 도움이 됩니다. 누락된 상위 디렉토리는 자동으로 만들어지므로 새 디렉토리를 만들기 위한 코드 작성의 중복을 방지합니다.

Musfirah Waseem avatar Musfirah Waseem avatar

Musfirah is a student of computer science from the best university in Pakistan. She has a knack for programming and everything related. She is a tech geek who loves to help people as much as possible.

LinkedIn