Golangでファイルのパーミッションを0644,0700といった形式で取得する
Pocket

Golangでファイルやディレクトリのパーミッションを取得しようとした際、オブジェクトとして取得できてしまうのでどうやったら0644,0700といった形式で取得すればいいのかな?と少し手こずったので、備忘として残しておく。
以下のように、printfで”%04o”でパーミッションを数字として出力することができるようだ。

Sponsored Links

package main

import (
	"fmt"
	"os"
)

func main() {
    file := "file.txt"
    info, _ := os.Stat(file)
    mode := info.Mode()
    
    // オブジェクトなので、"0600"のような形式で取得したい場合はこのようにする
    fmt.Printf("%04o\n", mode) // オブジェクトなので、"0600"のような形式で取得したい場合はこのようにする
}

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*