linux shell: ls 与 文件权限
这是入门的文章,如果你已经是 shell 高手请多多指教,3ku!最近在整一个 android 项目,需要用到 linux shell 的知识??????!!还好,之前只是写过一些简单的 shell,也看过很多大牛写的 shell 文件,佩服的泪牛满面,书到用时方恨少。只好拼命补习!还好,项目结了,感慨万千,特此小记!ls 这个命令只要是接触过 linux
这是入门的文章,如果你已经是 shell 高手请多多指教,3ku!
最近在整一个 android 项目,需要用到 linux shell 的知识??????!!
还好,之前只是写过一些简单的 shell,也看过很多大牛写的 shell 文件,佩服的泪牛满面,书到用时方恨少。
只好拼命补习!还好,项目结了,感慨万千,特此小记!
ls 这个命令只要是接触过 linux 的人,基本上都使用过它。有木有?!
使用 vim 编辑器打开 why.sh 这个文件,编辑内容如下(你也可以任意写,但是要按 shell 的套路来):
很简单的 shell,呵呵!
执行脚本可以 ./why.sh,但是此时你不可以执行它,使用 ls -l 找找答案。
可以看出,没有执行权限(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
改变之后,如下图:
那麽,你就可以执行这个小脚本了。
chown、chgrp 可以改变文件的属主和用户组。这里不再赘述!
更多推荐
所有评论(0)