权限-使用unzip命令解压缩的文件不包含任何权限设置

时间:2019-11-20 07:30:18

标签: c# shell permissions unzip ziparchive

我使用unzip命令在macos终端中提取文件。但是我发现解压缩后的文件没有任何权限:

$ unzip '/Users/menghanyu/foo.zip' -d '/Users/menghanyu/foo-unzip'
cd /Users/menghanyu/foo-unzip
ls -la
----------    1 menghanyu  staff  28998 11 20 14:30 Foo.json
----------    1 menghanyu  staff  28998 11 20 14:30 Bar.json

我尝试使用-K,但没有用。 (因为我不能确保该zip文件具有权限标记。)

$ unzip -K '/Users/menghanyu/foo.zip' -d '/Users/menghanyu/foo-unzip'

如何使提取的文件与父文件夹的权限一致?

zipinfo

Archive:  foo.zip
Zip file size: 57996 bytes, number of entries: 2
?---------  2.0 unx   28998 b- defN 19-Nov-20 14:30 Foo.json
?---------  2.0 unx   28998 b- defN 19-Nov-20 14:30 Bar.json

zipinfo命令告诉我们未设置umask,但是c#ZipArchive没有提供相应的api,我该怎么办?

public class ZipArchiveEntry
{
    public ZipArchive Archive { get; }
    public long CompressedLength { get; }
    public string FullName { get; }
    public DateTimeOffset LastWriteTime { get; set; }
    public long Length { get; }
    public string Name { get; }
    public void Delete();
    public Stream Open();
    public override string ToString();
}

0 个答案:

没有答案