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 表示什么含义??

  • 1
  • 2
  • 下一页

相关内容