这是一个有点奇特的问题,但网上似乎没有太多关于此的信息。我刚刚添加了一个关于 zip 格式的外部文件属性的问题的答案。从我的回答中可以看出,我得出的结论是,实际上只有第二个字节(4 个字节)用于 Unix。显然这在解压时包含了足够的信息来推断对象是文件还是目录,并且还有其他权限和属性信息的空间。我的问题是,这如何映射到通常的 Unix 权限?通常的 Unix 权限(例如下面)是否ls
恰好适合一个字节,如果是,有人可以描述布局或提供参考吗?
$ ls -la
total 36
drwxr-xr-x 3 faheem faheem 4096 Jun 10 01:11 .
drwxrwxrwt 136 root root 28672 Jun 10 01:07 ..
-rw-r--r-- 1 faheem faheem 0 Jun 10 01:07 a
drwxr-xr-x 2 faheem faheem 4096 Jun 10 01:07 b
lrwxrwxrwx 1 faheem faheem 1 Jun 10 01:11 c -> b
Run Code Online (Sandbox Code Playgroud)
让我通过提出一个具体问题来更具体地说明这一点。根据我上面的回答中引用的Trac 补丁,您可以使用下面的 Python 片段创建一个 zip 文件。
该040755 << 16L
值对应于创建一个具有权限的空目录drwxr-xr-x
。(我测试过)。我承认 …
zip ×1