我永远不记得从rw-r--r--
到的转换是什么644
。两者之间是否有基于Web的简单转换器?
stat -c
... 显示它们
我永远不记得从rw-r--r--
到的转换是什么644
。两者之间是否有基于Web的简单转换器?
stat -c
... 显示它们
Answers:
为什么首先需要八进制数?
我一直使用:
chmod o+x file # all + eXecute permissions
chmod g-w file # group - write perms
chmod u=r file # user can just read
chmod ug=rw file # user,group = read and write
chmod a+w file # user,group,others + write
ugo(a)很容易记住。但是,您可以混淆o:= owner吗?o:=其他?但是如果o = owner,你会是什么?u:= user,因此o = other。
一些命令仅像数字权限一样。好吧,如果您记住以下两个序列,则计算起来并不难:ugo + rwx。
r w x | Sum
u 4 2 1 | 7
g 4 - 1 | 5
o 4 2 - | 6
---------------------
756
是的,非常人为。
关于s和SI,必须查阅手册。下次可能是google。:)
我喜欢这个权限计算器:http :
//file-permissions.ninja
到目前为止,这是最方便的,而且我相信,这正是您最初要求的:
http://ss64.com/osx/chmod.html
它是完全交互式的,尽管您不能编辑字符串“ -rx -------”,但是可以使用八进制或复选框。做任何一个都会更新另一个。
在同一页面上:
数值(绝对)模式:
从一到四个八进制数字假定任何省略的数字都是前导零。
第一位数字=选择设置的用户ID(4)和设置组ID(2)的属性并保存文本图像(1)第二位=拥有文件用户的权限:读取(4),写入(2) ,然后执行(1)第三位=文件组中其他用户的权限:读取(4),写入(2)和执行(1)第四位=文件组中其他用户的权限不在该文件中:read( 4),编写(2)和执行(1)
通过将每个数字的值相加来计算八进制(0-7)值用户(rwx)= 4 + 2 + 1 = 7 Group(rx)= 4 + 1 = 5 World(rx)= 4 + 1 = 5 chmod模式= 0755
我有一个小别名,可以将其放入.bashrc(或等效名称)中。
免责声明:我不是剧本的作者,而且我不确定是谁写的……但是这样做有助于他/她。
alias lsp="ls -l --color |
awk '{k=0; for(i=0;i<=8;i++) k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));
if (k) printf(\" %0o \",k); print}'"
echo 'rwxrwxrw-' | perl -ne 'BEGIN{sub conv{ chomp(my $ins=shift); my $k=0; for(my $i=0;$i<=8;$i++) { my $tmps = ( substr($ins, $i, 1) =~ /[rwx]/ ); $k+= ( $tmps*(2**(8-$i)) ); }; if ($k) { sprintf(" %0o ", $k); } else { "??" ; }; }; } print(conv($_)."\n");'
将打印“ 776
”。干杯!