Linux文件,目录读写执行,chmod赋予权限底层详解

一个文件是什么属性,是文件还是目录是通过什么来看的呢

举个例子:当我们ls一个目录时,下面会出现这样

-rw-r--r-- 1 xxx xxx xxx....

我们主要看前面的-rw-r--r--

这个其实是分为四块的,x    xxx   xxx   xxx   xxx

即-   rw-   r--   r--

第一位代表着这个文件还是目录还是如安链,文件是-,目录是d(directory),软链是l(link)

第二组代表着本机(u)对其的读写执行操作r-只读,w-可写,x-执行,

第三组代表着同组用户(g)对其的读写执行操作r-只读,w-可写,x-执行

第四组代表着所有用户(R)对其的读写执行操作r-只读,w-可写,x-执行

(后三组每一个位置上代表一个操作权限,如果是-则没有这个权限)

那么chmod的底层用法是什么样呢?

其实在计算机系统只有0,1,所以计算机三个操作都有权限的话是111,111十进制转换是7,

具体二进制转十进制算法是1*2^2+1*2^1+1*2^0=7,如果是110,则是1*2^2+12^1+0*2^0=5;

所有当你不想chmod -R 777的时候,就可以一个个来写了

举例,想给自己rwx,同组r-x,所有人r-x,就应该是111,101,101,转化为二进制就是7,5,5

那么chmod就是chmod 755 路径(后面可以直接跟当前上级目录下的你想给的文件的文件名,比如/1.sh,或者直接绝对路径)

当你三组的值都算出来的时候就不用加-u ,-R了,当只想给自己的机子加的时候应该是

chmod  -u 7 路径(设置自己有读写执行这个文件的权限)

你可能感兴趣的:(服务器,Linux,文件)