如何将元数据添加到 mac/linux 上的文件夹

Ale*_*lls 1 unix linux bash mkdir node.js

如果我创建一个像这样的目录:

mkdir foo
Run Code Online (Sandbox Code Playgroud)

或者使用node.js

fs.mkdirSync('foo');
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将元数据添加到文件夹中以表明我创建了它(哪个用户创建了它,或一些其他元数据)。我如何使用 bash 或 node.js 读取该元数据?

小智 5

在 Linux 上,您可以将自定义元数据作为扩展属性添加到文件中,前提是user.*如果您没有此CAP_SYS_ADMIN功能(~如果您不是 root),请将它们放入命名空间中:

$ setfattr -n user.foobar -v quux file
$ getfattr -n user.foobar file
# file: file
user.foobar="quux"
Run Code Online (Sandbox Code Playgroud)

我没有使用node.js,但您应该查找listxattr()setxattr()getxattr()removexattr()命名垫片 - 这些(及其l*f*体)是扩展属性的系统调用接口。