这是入门的文章,如果你已经是 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 可以改变文件的属主和用户组。这里不再赘述!





Logo

更多推荐