使文件不可变 – syscall.Chflags(“文件名”,?)

huangapple go评论85阅读模式
英文:

make file immutable - syscall.Chflags("filename", ?)

问题

这些常量在Go语言中的定义位置是在syscall包中的chflags常量组中。你可以使用syscall包来访问这些常量。以下是示例代码:

import "syscall"

// ...

flags := syscall.UF_NODUMP | syscall.UF_IMMUTABLE | syscall.UF_APPEND | syscall.UF_OPAQUE | syscall.UF_HIDDEN |
         syscall.SF_ARCHIVED | syscall.SF_IMMUTABLE | syscall.SF_APPEND | syscall.SF_DATALESS

err := syscall.Chflags("filename", flags)

请注意,这只是一个示例,你需要根据你的实际需求选择要使用的标志位。

英文:

Where are chflags system call flags constants are defined?

import "syscall"
...
flags := ???
err := syscall.Chflags("filename", flags)

In C language these constants are defined in sys/stat.h or unistd.h:

  • UF_NODUMP
  • UF_IMMUTABLE
  • UF_APPEND
  • UF_OPAQUE
  • UF_HIDDEN
  • SF_ARCHIVED
  • SF_IMMUTABLE
  • SF_APPEND
  • SF_DATALESS

Where these constants in Go?

答案1

得分: 1

你可以参考链接https://github.com/snapcore/snapd/blob/master/osutil/chattr.go,如果你想获取你上面列出的标志的常量。

英文:

You can refer to the link https://github.com/snapcore/snapd/blob/master/osutil/chattr.go if you want to get the constants of the flags you listed out above.

huangapple
  • 本文由 发表于 2021年10月12日 22:17:59
  • 转载请务必保留本文链接:https://go.coder-hub.com/69542185.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定