Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在mac上,xattr和chflags的区别是什么_Macos - Fatal编程技术网

Macos 在mac上,xattr和chflags的区别是什么

Macos 在mac上,xattr和chflags的区别是什么,macos,Macos,在我看来,它们似乎在做一些非常相似的事情,我不明白为什么会有两个不同的命令。chflags管理操作系统已知的少量特定标志(例如“隐藏”)。它们存储在位掩码中,类似于chmod值。它相当古老,可以追溯到BSD 4.4(1994年) xattr管理通用键值元数据,并来自HFS+文件系统。任何应用程序都可以附加任意元数据,并可以用它喜欢的任何方式对其进行解释。我相信该功能是在10.4(2005)中添加的。chflags管理操作系统已知的少量特定标志(例如“隐藏”)。它们存储在位掩码中,类似于chmod

在我看来,它们似乎在做一些非常相似的事情,我不明白为什么会有两个不同的命令。

chflags
管理操作系统已知的少量特定标志(例如“隐藏”)。它们存储在位掩码中,类似于
chmod
值。它相当古老,可以追溯到BSD 4.4(1994年)


xattr
管理通用键值元数据,并来自HFS+文件系统。任何应用程序都可以附加任意元数据,并可以用它喜欢的任何方式对其进行解释。我相信该功能是在10.4(2005)中添加的。

chflags
管理操作系统已知的少量特定标志(例如“隐藏”)。它们存储在位掩码中,类似于
chmod
值。它相当古老,可以追溯到BSD 4.4(1994年)


xattr
管理通用键值元数据,并来自HFS+文件系统。任何应用程序都可以附加任意元数据,并可以用它喜欢的任何方式对其进行解释。我相信该功能是在10.4(2005)中添加的。

chflags
是一个BSD子系统命令,允许更改文件系统本机可能支持的其他标志。从历史上看,这是BSD系统中的一种基本文件模式扩展支持,它使用元数据本机文件系统中未使用的位。由于MacOS构建在BSD风格之上,因此支持
chflags
(但支持一些扩展)。您可以通过
chflags
操作的值是预先确定的

xattr
是一种操作与文件关联的用户元数据的工具。这些元数据可以比简单的开/关设置丰富得多。即使许多文件系统对此有特殊的支持,它的实现也是免费的。历史上的HFS+mac文件系统在所谓的命名forks中对此有特殊的支持。对于可以关联到给定文件的元数据的种类/数量没有限制。文件系统不知道这些元数据内容,它只是另一种存储。这可能是在某些环境下需要访问这些的操作系统或工具。例如,我可以向给定文件添加任何此类元数据:

$ ls -ail myfile
8607162443 -rw-r--r--  1 yunes  staff  0  6 jui 16:50 myfile
$ xattr -w mydata myvalue myfile %now my file is associated with some metadata
$ ls -ail myfile
8607162443 -rw-r--r--@ 1 yunes  staff  0  6 jui 16:50 myfile
$ xattr -l myfile %let me know which are the metadata associated to a given file
mydata : myvalue
$

因此,系统将这些元数据存储在某个地方(它可能会借助一些文件系统支持来实现此功能,或者使用一些适当命名的普通文件,是否见过那些奇怪的
前缀文件?)。一些工具可能会使用它来做一些特殊的事情……

chflags
是一个BSD子系统命令,它允许更改文件系统本机可能支持的其他标志。从历史上看,这是BSD系统中的一种基本文件模式扩展支持,它使用元数据本机文件系统中未使用的位。由于MacOS构建在BSD风格之上,因此支持
chflags
(但支持一些扩展)。您可以通过
chflags
操作的值是预先确定的

xattr
是一种操作与文件关联的用户元数据的工具。这些元数据可以比简单的开/关设置丰富得多。即使许多文件系统对此有特殊的支持,它的实现也是免费的。历史上的HFS+mac文件系统在所谓的命名forks中对此有特殊的支持。对于可以关联到给定文件的元数据的种类/数量没有限制。文件系统不知道这些元数据内容,它只是另一种存储。这可能是在某些环境下需要访问这些的操作系统或工具。例如,我可以向给定文件添加任何此类元数据:

$ ls -ail myfile
8607162443 -rw-r--r--  1 yunes  staff  0  6 jui 16:50 myfile
$ xattr -w mydata myvalue myfile %now my file is associated with some metadata
$ ls -ail myfile
8607162443 -rw-r--r--@ 1 yunes  staff  0  6 jui 16:50 myfile
$ xattr -l myfile %let me know which are the metadata associated to a given file
mydata : myvalue
$

因此,系统将这些元数据存储在某个地方(它可能会借助一些文件系统支持来实现此功能,或者使用一些适当命名的普通文件,是否见过那些奇怪的
前缀文件?)。一些工具可以用来做一些特殊的事情……

如果投票结束这项活动的人能写一篇解释为什么会这样的话,那就太好了;我不明白为什么投票关闭时它甚至不是强制性的……如果投票关闭的人能写一篇解释为什么的话,那就好了;无法理解为什么投票关闭时它甚至不是强制性的……如果您使用
ls-l@
而不是
ls-l
,您将看到它们。如果您使用
ls-l@
而不是
ls-l
,您将看到它们。