文件类型
下面是在我的Ubuntu下的/usr目录下的文件信息:
chenshu@ubuntu:/usr$ ls -alh
total 147M
drwxr-xr-x 14 root root 4.0K Jul 5 18:36 .
drwxr-xr-x 24 root root 4.0K Jun 30 11:08 ..
drwxr-xr-x 6 root root 4.0K May 10 06:25 apache-maven-3.0.4
drwxr-xr-x 2 root root 64K Jul 13 20:53 bin
drwxr-xr-x 2 root root 4.0K May 3 10:48 games
drwxr-xr-x 38 root root 4.0K Jul 5 18:35 include
drwxr-xr-x 8 root root 4.0K Jun 27 16:21 jdk1.6.0_33
drwxr-xr-x 8 uucp 143 4.0K Apr 12 17:27 jdk1.7.0_04
lrwxrwxrwx 1 root root 14 Jun 27 16:25 jdk6 -> ./jdk1.6.0_33/
-rwxr-xr-x 1 root root 69M Jun 27 16:20 jdk-6u33-linux-x64.bin
-rwxrw-rw- 1 chenshu chenshu 78M May 11 14:26 jdk-7u4-linux-x64.gz
drwxr-xr-x 212 root root 36K Jul 13 10:17 lib
drwxr-xr-x 10 root root 4.0K Apr 26 00:30 local
drwxr-xr-x 10 root root 4.0K Jul 6 07:15 nginx
drwxr-xr-x 2 root root 12K Jun 25 11:03 sbin
drwxr-xr-x 334 root root 12K Jul 11 20:31 share
drwxr-xr-x 13 root root 4.0K Jul 5 18:32 src
第一位是文件类型,解释如下表:d | 目录 |
- | 文件 |
l | 链接 |
s | socket |
p | named pipe |
b | block device |
c | character device |
用户访问权限
ugoa是4段字符的组合,用来控制用户对文件的访问权限u段是指拥有文件的用户
g段是属于该文件的group的用户们
o段是不属于该文件的group的其他用户们
a段是all users,这些一起构成了file mode bits。
ls -alh显示的第一个字符之后的九个字符,按照三位分为一组
比如jdk-7u4-linux-x64.gz文件的九字符是:
rwxrw-rw- 拆成三组看起来是:
rwx | rw- | rw-
每个字符叫做permission field,有几种可能的值:
r | 4 | 可读 |
w | 2 | 可写 |
x | 1 | 可执行 |
- | 无权限 | |
s | setuid |
chmod支持另外一组组合:rwxXst
r read
w write
x execute (or search for directories)
X execute/search only if the file is a directory or already has execute permission for some user
s set user or group ID on execution
t restricted deletion flag or sticky bit
chmod支持几个操作符来设置权限
+ 增加
- 删除
= 清空并增加权限
chmod u+x file 给file的owner增加执行权限
chmod u=rwx,g=rx,o=x file 上例的另一种形式
可以用r, w, x对应的三个数值求和来赋予权限
6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限