一、文件信息

当创建一个文件的时候,系统保存了有关该文件的全部信息,包括:

  • 文件的位置;
  • 文件类型;
  • 文件长度;
  • 哪位用户拥有该文件,哪些用户可以访问该文件;
  • 硬连接计数;
  • 文件的修改时间;
  • 文件的权限位;

例:用touch命令创建一个文件:

$ touch temp

然后用命令ls -l查看该目录下文件的属性(中文版):

[root@Linux_chenwy temp]# ls -l

总用量 36

-rw-r--r--  1   root   root   34890   10月 19 20:17   httpd.conf

-rw-r--r--  1   root   root   0   10月 19 20:16   temp

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

总用量 36:是ls所列出的入口占用空间的字节数(以K为单位)。

[1]: 属性。

[2]: 该文件硬链接的数目。

[3]: 文件属主。

[4]: 文件属组(一般是文件属主所在的缺省组。)

[5]: 用字节表示的文件长度,记住,不是K字节!

[6]: 文件的最近更新时间。

[7]: 文件名。

 

二、文件信息详解

1. 第一列为文件属性(总共有10个属性)

例如:-rw-r--r--

(1) 第一个属性表示文件类型,有以下7种类型:

[d] 目录。

[l] 符号链接(指向另一个文件)。

[s] 套接字文件。

[b] 块设备文件(可供存储的接口设备)。

[c] 串行端口设备文件(如键盘,鼠标等)。

[p] 命名管道文件。

[-] 普通文件,或者更准确地说,不属于以上几种类型的文件。

(2) 剩余的属性中,3个为一组,用来表示不同用户对该文件的权限,均为“rwx”三个参数的组合,其中(括号部分为目录的情况):

[r]表示可读(可以列出该目录中的文件),

[w]表示可写(可以在该目录中创建或删除文件),

[x]表示可执行(可以搜索或进入该目录),

第一组为“拥有者的权限”;

第二组为“所属用户组的权限”;

第三组为“其他人的权限”;

如果把属组用户或其他用户针对某一目录的权限设置为- - x,那么他们将无法列出该目录中的文件。如果该目录中有一个执行位置位的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录并不妨碍他的执行

另外,目录的权限将会覆盖该目录中文件的权限。例如,如果目录temp具有如下的权限:

drwxr--r--  1   admin   0 10月 19 20:16 temp

而目录下的文件myfile的权限为:

-rwxrwxrwx  1   admin   0 10月 19 20:16 myfile

那么admin组的用户将无法编辑该文件,因为它所属的目录不具有这样的权限。

该文件对任何用户都可读,但由于它所在的目录并未给admin组的用户赋予执行权限,所以该组的用户都将无法访问该目录,他们将会得到“访问受限”的错误消息

2. 第二列表示该文件的硬连接计数,如果是目录的话,表示该目录下的子目录数。

3. 第三列表示该件的拥有者。

4. 第四列表示该文件所属的组。

5. 第五列表示该文件的大小。

6. 第六列为该文件的创建日期或者最近的修改日期。

7. 第七列为文件名,如果文件名前有“.”则表示该文件为“隐藏文件”,在ls命令中加上a参数即可列出隐藏文件,如ls -a

三、参考

1. 《shell十三问》

(完)

linux系统文件属性详解的更多相关文章

  1. linux系统meminfo详解(待补充)

    ========================================================================================== MemTotal: ...

  2. Linux /dev目录详解和Linux系统各个目录的作用

    Linux /dev目录详解(转http://blog.csdn.net/maopig/article/details/7195048) 在linux下,/dev目录是很重要的,各种设备都在下面.下面 ...

  3. linux zip 命令详解

    功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时 ...

  4. Linux常用命令详解—基于CentOS7

    ## Linux 目录- /:根目录,一般只存放目录,不存放文件- /bin -> /usr/bin:可执行二进制文件的目录,也是常用命令目录,如常用的命令 ls.cat.mv 等- /boot ...

  5. Linux常用命令详解下

    Linux常用命令详解 目录 一.Linux常用命令 1.1.查看及切换目录(pwd.cd.ls.du) 1.2.创建目录和文件(mkdir.touch.ln) 1.3.复制.删除.移动目录和文件(c ...

  6. Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)

    启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...

  7. Linux启动过程详解

    Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...

  8. Linux netstat命令详解

    Linux netstat命令详解 一  简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多 ...

  9. Linux crontab 命令详解

    在 Linux 中,任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行.红帽企业 Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新.譬如,被 locat ...

随机推荐

  1. ibernate+Struts2环境如何使用jqGrid。

    因为公司项目需要,在Hibernate+Struts2的环境下,研究了一下如何使用jqGrid. 说实在的,Struts2+jqGrid不是一个很好的组合.因为jqGrid中很多功能,基本上都使用的是 ...

  2. 题目1413:神秘元素 ——lis的元素是否唯一

    求序列的最长子序列中不可分割元素的数目.不可分割元素,肯定属于某一个最长子序列,首先做的就是把属于最长子序列的数提取出来,减小查找范围.怎么提取?可以用LIS(最长递增子序列)和LDS(最长递减子序列 ...

  3. Python--线性代数篇

    讲解Python在线性代数中的应用,包括: 一.矩阵创建 先导入Numpy模块,在下文中均采用np代替numpy import numpy as np 矩阵创建有两种方法,一是使用np.mat函数或者 ...

  4. SVN checkout 出的项目在PHPstorm中打开没有subversion(SVN)选项按钮怎么办?

    对于svn add 命令的批量操作,为了操作简便还是习惯在IDE中完成,有时候新checkout出的项目,在PHPstorm中右键菜单中没有 Subversion 按钮,操作如下: 点击VCS按钮,然 ...

  5. linux(centos)下安装ffmpeg

    [备忘]windows环境下20行php代码搞定音频裁剪 上次我的这篇文章将了windows下web中如何操作ffmpeg的文章,这里则记录下linux(centos)下的安装 首先:我花了中午大概1 ...

  6. Nginx优化指南

    大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能 ...

  7. Java-Runoob-高级教程:Java 文档注释

    ylbtech-Java-Runoob-高级教程:Java 文档注释 1.返回顶部 1. Java 文档注释 Java 支持三种注释方式.前两种分别是 // 和 /* */,第三种被称作说明注释,它以 ...

  8. JAVA访问控制变量、类变量、类方法

    1.私有:同类中 2.默认:同包中的类 3.保护:同包中的类  子类中(继承性) 4.公有:无范围 创建子类并覆盖方法时,必须考虑原来方法的访问控制: 作为通用的规则,覆盖方法是,新方法的访问控制不能 ...

  9. sql developer Oracle 数据库 用户对象下表及表结构的导入导出

    Oracle数据库表数据及结构的导入导出   导出的主机与即将导入到的目标主机的tablespace 及用户名需一直!!!!!

  10. 初始mysql语句

    操作文件夹(库) 增 : create database db1 charset utf8; 查 : #查看当前创建的数据库 show create database db1; #查看所有的数据库 s ...