zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    apollo实现c#与android消息推送(三)
    apollo实现c#与android消息推送(二)
    apollo实现c#与android消息推送(一)
    成为架构师,需要哪些技能
    Centos 7.x Smokeping部署安装及使用
    ISIS实验配置
    Netty网编程实战:四种解决粘包方式切换、两种生产级双向监听模式并行、高效编解码、多处理器协同作战
    STP+基于LACP的portchannel 实验分享
    Java基础之反射
    IntelliJ IDEA 可以使用中文了
  • 原文地址:https://www.cnblogs.com/ningvsban/p/3665943.html
Copyright © 2011-2022 走看看