1. Linux档案属性
1.1. 文档组成
使用ls指令,查看当前目录下的文档列表:
[root@localhost ~]# ls -l
total 2620
-rw-------. 1 root root 1096 Mar 5 2015 anaconda-ks.cfg
-rw-r--r--. 1 root root 2621440 Sep 16 11:04 api-http.war
drwxr-xr-x. 3 root root 4096 Sep 16 15:52 c:
-rw-r--r--. 1 root root 25150 Nov 6 14:29 dump.rdb
-rw-r--r--. 1 root root 8815 Mar 5 2015 install.log
-rw-r--r--. 1 root root 3384 Mar 5 2015 install.log.syslog
-rw-r--r--. 1 root root 2 Mar 31 2015 overcommit_memory~
drwxr-xr-x. 6 root root 4096 Mar 5 2015 soft
查看上述结果,可以看到每个文档都是7部分组成,首先我们来解释一下这七部分各代表的含义:
第一栏表示档案类型与权限,此栏共10个字符长度,各个长度的字符代表的含义如下图所示:
第一个字符用来表示档案类型,代表了这个档案是『目录、档案或链接文件等等』
档案类型
- 当为[ d ]则是目录,例如上表档名为『c:』的那一行;
- 当为[ - ]则是档案,例如上表档名为『anaconda-ks.cfg』那一行;
- 若是[ l ]则表示为连结档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
- 第2-10个字符,每三个为一组,分别代表档案的拥有者、同群组、其他人的权限。权限表示为[rwx],[ r ]代表可读 (read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
- 第二栏表示有多少档名连结到此节点(i-node): 每个档案都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录, 因此每个档名就会连结到一个i-node啰!这个属性记录的, 就是有多少不同的档名连结到相同的一个i-node号码去就是了。
- 第三栏表示这个档案(或目录)的『拥有者账号』
- 第四栏表示这个档案的所属群组
- 第五栏为这个档案的容量大小,默认单位为bytes;
- 第六栏为这个档案的建档日期或者是最近的修改日期:
注意 这一栏的内容分别为日期(月/日)及时间。如果这个档案被修改的时间距离现在太久了,那么时间部分会仅显示年份而已。 如果想要显示完整的时间格式,可以利用ls的选项,亦即:$ ls -l --full-time就能够显示出完整的时间格式了包括年、月、日、时间。
- 第七栏为这个档案的档名 比较特殊的是:如果档名之前多一个『 . 』,则代表这个档案为『隐藏档』,你可以使用『ls』及『ls -a』这两个指令去感受一下什么是隐藏档!
1.2. 档案权限对于一般档案与目录档案有着不同的意义:
1.2.1. 权限对档案的意义
档案是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件(binary program)等等。 因此,权限对于档案来说,他的意义是这样的:
r (read)
:可读取此一档案的实际内容,如读取文本文件的文字内容等;w (write)
:可以编辑、新增或者是修改该档案的内容(但不含删除该档案); 因为档案记录的是实际的数据,所以对于档案的rwx来说, 主要都是针对『档案的内 容』而言,与档案档名的存在与否没有关系,即不含有删除档案的权限。x (eXecute)
:该档案具有可以被系统执行的权限。
1.2.2. 权限对目录的意义
目录主要的内容在记录文件名列表,文件名与目录有强烈的关连
r (read contents in directory)
: 表示具有读取目录结构列表的权限,所以当你具有读取r一个目录的权限时,表示你可以查询该 目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!w (modify contents of directory)
: 这个可写入的权限对目录来说,是很了不起的! 因为他表示你具有异动该目录结构列表的权 限,也就是底下这些权限:- 建立新的档案与目录;
- 删除已经存在的档案与目录(不论该档案的权限为何!)
- 将已存在的档案或目录进行更名;
- 搬移该目录内的档案、目录位置。 总之,目录的w 权限就与该目录底下的文件名异动有关就对了!
x (access directory)
: 目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录。