最近在整一个 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 表示什么含义??