Golang 获取 Linux 文件创建时间 - 使用 stat 命令
Go 语言中可以使用 os.Stat() 函数获取文件的基本信息,包括文件的创建时间、修改时间、访问时间等。但在 Linux 系统中,文件的创建时间并不是一个标准的属性,因此无法直接通过 os.Stat() 函数获取。不过,可以通过调用 Linux 系统的特定命令获取文件的创建时间,例如使用 stat 命令。
以下是一个示例代码,演示如何使用 os/exec 包执行外部命令获取文件的创建时间:
package main
import (
"fmt"
"os/exec"
"strings"
)
func main() {
// 文件路径
filePath := "/path/to/file"
// 执行 stat 命令获取文件信息
cmd := exec.Command("stat", "-c", "%w", filePath)
output, err := cmd.Output()
if err != nil {
fmt.Println("获取文件创建时间失败:", err)
return
}
// 解析输出结果,获取文件创建时间
createTime := strings.TrimSpace(string(output))
fmt.Println("文件创建时间:", createTime)
}
这段代码中,首先使用 os/exec 包创建一个 exec.Cmd 对象,表示要执行的命令。该命令是 "stat -c "%w" 文件路径",其中 "-c" 选项用于指定输出格式,"%w" 表示输出文件的创建时间。接着调用 Cmd 对象的 Output() 方法执行命令,并获取输出结果和错误信息。
最后,使用 strings.TrimSpace() 函数去除输出结果中的空格和换行符,得到文件的创建时间。
原文地址: https://www.cveoy.top/t/topic/mqjK 著作权归作者所有。请勿转载和采集!