Dar*_*ein 29 permissions chmod
我永远不记得从类似rw-r--r--
到的转换是什么644
。两者之间是否有一个简单的基于网络的转换器?
J. *_*lor 28
该站点提供了一种交互式方式来查看在设置/取消设置各种位时设置了哪些权限位。
“计算器”看起来像这样:
use*_*own 14
为什么首先需要一个八进制数?
我总是使用:
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
是的,非常人工。
说到s和SI就得查阅手册了。也许下次谷歌。:)
cjm*_*cjm 10
八进制用于权限,因为它很容易转换。每组rwx
形成一个八进制数字。你只需要记住 2 的前 3 个幂:4, 2, 1. r
= 4, w
= 2, x
= 1。
rw-r--r--
= 110 100 100
= 4+2+0 4+0+0 4+0+0
=644
我有这个小别名,您可以将其放入 .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}'"
Run Code Online (Sandbox Code Playgroud)