感谢支持
我们一直在努力

Linux Shell: ls 与 文件权限

最近在整一个 Android 项目,需要用到 linux shell 的知识,还好,之前只是写过一些简单的 shell,也看过很多大牛写的 shell 文件,佩服的泪牛满面,书到用时方恨少。


只好拼命补习!还好,项目结了,感慨万千,特此小记!


ls 这个命令只要是接触过 linux 的人,基本上都使用过它。有木有?!


使用 vim 编辑器打开 why.sh 这个文件,编辑内容如下(你也可以任意写,但是要按 shell 的套路来):


Linux Shell: ls 与 文件权限

很简单的 shell,呵呵!


执行脚本可以 ./why.sh,但是此时你不可以执行它,使用 ls -l 找找答案。


Linux Shell: ls 与 文件权限

可以看出,没有执行权限(x)。在往下面说之前,先了解一下 – rw- r– r– 是什么意思。


rwx 可以使用二进制数据 0、1 来表示,即存在就是 1,不存在就是 0,所以 rwx 是111(十进制是7),以此类推:


r- – 就是 100, -wx 就是011,r-x 就是 101.


把  – rw- r– r–  分为(1)(2)(3)(4)四个部分来说。


(1) –       表示是一个文件,(d 表示是一个目录, l 表示该文件是一个链接文件)


(2)rw-   表示当前用户可以操作这个文件的权限(可读可写不可执行,值是110 = 6)


(3)r–    表示与当前用户同一个组的可以操作这个文件的权限(可读不可写不可执行,100 = 4)


(4)r–    表示其它用户可以操作这个文件的权限(可读不可写不可执行,值是100 = 4)


如果你使用 chmod 777 filename,就相当于开放这个 filename 的所有权限给任何用户组的用户。


另外,我们还需要知道 u、o、g、a 表示什么含义??

他们分别是 user、other、group、all 的简写。所以下面的含义很简单:


chmod u + 权限(r 、w、x) file


chmod o + 权限(r 、w、x) file


chmod g + 权限(r 、w、x) file


chmod a + 权限(r 、w、x) file


分别表示:


改变当前用户、其它用户、当前用户同组的、所有用户对 file 的操作权限。


这个时候,就可以改变 why.sh 文件的权限为可执行了,两种方式(等效的):


chmod u+x why.sh


chmod 744 why.sh


改变之后,如下图:


Linux Shell: ls 与 文件权限

那麽,你就可以执行这个小脚本了。


Linux Shell: ls 与 文件权限

chown、chgrp 可以改变文件的属主和用户组。这里不再赘述!

赞(0) 打赏
转载请注明出处:服务器评测 » Linux Shell: ls 与 文件权限
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏