为了账号安全,请及时绑定邮箱和手机立即绑定

检测符号链接

检测符号链接

Go
德玛西亚99 2022-07-11 17:18:36
我的目标是确定我拥有的文件是文件夹还是文件夹的符号链接。以我尝试的方式,我无法在这里发现差异。package mainimport (    "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-xlrwxrwxrwx 1 user user 7 Nov 16 13:31 ./myLink -> target/所以 Go 中的 FileMode 似乎检测到的是目录而不是符号链接,但ls命令显示它实际上是符号链接。我用命令创建了那个符号链接ln -s target/ myLink我在这里遗漏了什么或者为什么这不起作用?编辑:我正在使用 go 版本 go1.11.6 linux/amd64
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

os.File.Stat直接映射到stat(2)在 Unix 上遵循符号链接的系统调用。

lstat(2)不跟随它们(因此是领先的l),并且在 Go 标准库中有一个匹配的调用:os.Lstat.


查看完整回答
反对 回复 2022-07-11
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号