Shell - 解压缩文件并设置所有文件的权限

Shell - 解压缩文件并设置所有文件的权限

我在 Windows 上创建了 zip 文件,我想在 Linux 上解压它。对于提取的文件,我希望拥有权限 644。但是,提取文件以 770 结尾。

我努力了

umask 644
unzip update.zip -d . 

但没有效果,解压出来的文件权限还是770。

答案1

你的umask模式不对。

# umask 644
# touch test1
# stat -c "%a %n" test1
22 test1

要获取结果文件644,您需要设置umask 0022.

# umask 0022
# touch test2
# stat -c "%a %n" test2
644 test2

man umask

umask() 将调用进程的文件模式创建掩码(umask)设置为 mask & 0777(即仅使用 mask 的文件权限位),并返回掩码的先前值。

相关内容