一、文件信息

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

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

例:用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. oracle 之 控制oracle RAC 进行并行运算

    RAC的一大优点就是可以跨节点进行并行计算,那么如何控制并行运算?这就是这篇文章要讨论的内容. 10 g 中: 合理设置跨节点并行,需要先设置一些参数:instance_groups:这个参数主要是设 ...

  2. linux tcpdump命令抓包

    tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 截获主机210.27.48.1 和主机210.27.48.2 或210.27 ...

  3. 11.Python使用Scrapy爬虫小Demo(新手入门)

    1.前提:已安装好scrapy,且已新建好项目,编写小Demo去获取美剧天堂的电影标题名 2.在项目中创建一个python文件 3.代码如下所示: import scrapy class movies ...

  4. 使用Nancy搭建简单的Http服务的示例demo

    刚刚接触Nancy没几天,暂时还不会使用Nancy来做web开发,只是使用Nancy实现了一个简单的Http服务的Demo程序,实现对Post和Get请求的处理. Demo的示例代码地址如下:http ...

  5. 使用sigaction来取代signal作为信号处理器函数

    早期ISO C提供了像这样的函数来支持自定义信号处理 typedef void (*sighandler)(int); sighandler signal(sighandler func); 但是由于 ...

  6. STL sort

    STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负荷,就改用Insertion Sort. ...

  7. git 怎么上传文件到github上

    1.安装git     sudo  apt-get install git 2.配置全局变量     git config --global user.name langhunm     git co ...

  8. MySql命令集合

    1.mysql命令用户连接数据库 mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 (1) 连接到本机上的MYSQL 首先打开DOS窗口,然后进入目录mysql\bin,再键入 ...

  9. mysql 里的 ibdata1 文件不断的增长

    我们在 Percona 支持栏目经常收到关于 MySQL 的 ibdata1 文件的这个问题.当监控服务器发送一个关于 MySQL 服务器存储的报警时,恐慌就开始了 —— 就是说磁盘快要满了.一番调查 ...

  10. jquery制作滚动条到一定位置触发

    $(function(){ var nav=$(".nav"); //得到导航对象 var win=$(window); //得到窗口对象 var sc=$(document);/ ...