go - 检测符号链接
问题描述
我的目标是确定我拥有的文件是文件夹还是文件夹的符号链接。以我尝试的方式,我无法在这里发现差异。
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
linkPath := "./myLink"
// with golang
f, _ := os.Stat(linkPath)
fmt.Println(f.Mode().String())
// ls -la
out, _ := exec.Command("ls", "-la", linkPath).Output()
fmt.Printf("%s", out)
}
我的(Debian)系统上的输出如下所示:(每行的第一个字母很重要!)
drwxr-xr-x
lrwxrwxrwx 1 user user 7 Nov 16 13:31 ./myLink -> target/
所以 Go 中的 FileMode 似乎检测到的是目录而不是符号链接,但ls
命令显示它实际上是符号链接。
我用命令创建了那个符号链接
ln -s target/ myLink
我在这里遗漏了什么或者为什么这不起作用?
编辑:我正在使用 go 版本 go1.11.6 linux/amd64
解决方案
推荐阅读
- linux - 如何简单地在文件中保持最新记录
- reactjs - Snowpack 无法解析导入
- javascript - React.js 显示带有 onClick 事件的组件
- javascript - 编辑文件夹中视图图像的代码 - Javascript
- javascript - 具有html元素的动态变化数组的不同位置
- mongodb - 无法聚合多个集合
- android - Firestore 获取最新文档
- vue.js - 放大 DataStore 查询:多次触发集线器就绪事件
- php - 仅针对 API 中特定 ROUTE 的 CORS 错误
- annotations - ChartJS v3 迁移:如何定义注解插件?