【Linux】Linux文件属性

  既然说要了解Linux的文件属性,那么有个重要的也是常用的指令就必须要先介绍一下:就是『 ls 』这一个查看文件的命令!在以root的身份登入Linux之后,下达『 ls -al 』,结果如下所示:

[root@www ~]# ls -al

total 156

drwxr-x---   4    root   root     4096   Sep  8 14:06 .

drwxr-xr-x  23    root   root     4096   Sep  8 14:21 ..

-rw-------   1    root   root     1474   Sep  4 18:27 anaconda-ks.cfg

-rw-------   1    root   root      199   Sep  8 17:14 .bash_history

-rw-r--r--   1    root   root       24   Jan  6  2007 .bash_logout

-rw-r--r--   1    root   root      191   Jan  6  2007 .bash_profile

-rw-r--r--   1    root   root      176   Jan  6  2007 .bashrc

-rw-r--r--   1    root   root      100   Jan  6  2007 .cshrc

drwx------   3    root   root     4096   Sep  5 10:37 .gconf      <=范例说明处

drwx------   2    root   root     4096   Sep  5 14:09 .gconfd

-rw-r--r--   1    root   root    42304   Sep  4 18:26 install.log <=范例说明处

-rw-r--r--   1    root   root     5661   Sep  4 18:25 install.log.syslog

[    1   ][  2 ][   3  ][  4 ][    5   ][     6     ][       7          ]

[  权限  ][连结][拥有者][群组][文件容量][  修改日期 ][      檔名        ]
View Code

  ls是『list』的意思,重点在显示文件的文件名与相关属性。而选项『-al』则表示列出所有的文件详细的权限与属性 (包含隐藏档,就是文件名第一个字符为『 . 』的文件)。先解释一下上面七个字段的意思:

  

   1)第一栏表示这个文件的类型与权限(permission):

  这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个字符:

  第一个字符代表这个文件是『目录、文件或链接文件等等』:

  • 当为[ d ]则是目录,例如上表档名为『.gconf』的那一行;
  • 当为[ - ]则是文件,例如上表档名为『install.log』那一行;
  • 若是[ l ]则表示为链接档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

  接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

  • 第一组为『文件拥有者的权限』,以『install.log』那个文件为例,该文件的拥有者可以读写,但不可执行;
  • 第二组为『同群组的权限』;
  • 第三组为『其他非本群组的权限』。

  2)第二栏表示有多少档名链接到此节点(i-node)

  每个文件都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录, 因此每个档名就会连结到一个i-node!这个属性记录的就是有多少不同的档名链接到相同的一个i-node。有点类似Windows系统下的快捷方式!

  3)第三栏表示这个文件(或目录)的『拥有者账号』

  4)第四栏表示这个文件的所属群组

  在Linux系统下,你的账号会附属于一个或多个的群组中。举个例子,若class1, class2, class3均属于projecta这个群组,假设某个文件所属的群组为projecta,且该文件的权限为(-rwxrwx---),则class1, class2, class3三人对于该文件都具有可读、可写、可执行的权限。 但如果是不属于projecta的其他账号,对于此文件就不具有任何权限了。

  5)第五栏表示这个文件的容量大小,默认单位为bytes

  6)第六栏表示这个文件的建档日期或者是最近的修改日期

  这一栏的内容分别为日期(月/日)及时间。如果这个文件被修改的时间距离现在太久了,那么时间部分会仅显示年份而已。 如下所示:

[root@www ~]# ls -l /etc/termcap /root/install.log

-rw-r--r-- 1 root root 807103 Jan  7  2007 /etc/termcap

-rw-r--r-- 1 root root  42304 Sep  4 18:26 /root/install.log

# 如上所示,/etc/termcap 为 2007 年所修改过的文件,离现在太远之故;

# 至于 install.log 是今年 (2009) 所建立的,所以就显示完整的时间了。

  如果想要显示完整的时间格式,可以利用ls的选项,亦即:『ls -l --full-time』就能够显示出完整的时间格式了。 

  7)第七栏表示这个文件的档名  

  这个字段就是档名了。比较特殊的是:如果档名之前多一个『 . 』,则代表这个文件为『隐藏档』,例如上表中的.gconf那一行,该文件就是隐藏档。 你可以使用『ls』及『ls -a』这两个指令去感受一下什么是隐藏档!

 

  参考资料:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php

posted @ 2014-04-15 12:47  NW_KNIFE  阅读(261)  评论(0编辑  收藏  举报