Linux 中文件属性详解

查看文件属性

执行 ls -la 命令后,可以查看当前目录下所有文件的权限和属性:

[root@101c7 ~]$ ll -la
total 32
dr-xr-x---.  4 root root  175 Sep  8 22:48 .
dr-xr-xr-x. 17 root root  224 Sep  7 13:37 ..
-rw-------.  1 root root 1260 Sep  7 13:38 anaconda-ks.cfg
-rw-------.  1 root root  847 Sep  8 12:32 .bash_history
-rw-r--r--.  1 root root   18 Dec 28  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 28  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 28  2013 .bashrc
-rw-r--r--.  1 root root  100 Dec 28  2013 .cshrc
drwxr-xr-x.  2 root root    6 Sep  8 22:48 dir1
drwxr-----.  3 root root   19 Sep  7 05:51 .pki
-rw-r--r--.  1 root root  129 Dec 28  2013 .tcshrc
-rw-------.  1 root root  508 Sep  7 05:52 .viminfo

total 为该目录下的所有数据所占用的实际块数量乘以块大小的值。

从左到右以空格分隔成七列,分别代表:类型和权限、连接数、所有者、所有组、大小、修改时间、文件名。

文件类型

第一列第一个字段用来表示文件的类型,文件类型有下面几种:

标记 类型 说明
- 普通文件 文本文件、数据文件、可执行程序等都作为普通文件存储。
d 目录 目录不存放常规数据,它用来组织访问其他文件。
c 字符设备文件 指处理数据时每次只能处理一个字符的设备,例如鼠标、键盘(一次性读取设备)。
b 块设备文件 指处理数据时每次能处理大块数据的设备,例如硬盘。
s 本地域套接字 实现进程间通信的连接,本地域套接字由系统调用 socket 创建。
p 有名管道(FIFO) 让运行在同一主机上的两个进程相互通信,和 socket 文件相似。
l 符号链接 也叫做软链接(Linkfile),通过名字指向文件。

执行 ls 命令后,文件的颜色有以下含义:

颜色 含义
灰色 普通文件
蓝色 目录
绿色 可执行文件
黄色 特殊文件
红色 压缩文件

文件权限

第一列后九个字段以三个为一组,分别表示:

  • 文件所有者权限
  • 同用户组权限
  • 其他用户权限

权限为 “rwx” 的三个参数组合,没有权限显示为 “-” 减号。

连接节点

第二列数字表示节点,每个文件都会将它的权限与属性记录到文件系统的 inode 中。

这个属性记录的就是有多少不同的文件名连接到相同的一个 inode 号码。

所有者/所有组

第三列和第四列分别表示文件所属的用户和用户组。

文件大小

第五列表示文件的容量大小,默认单位为 Bytes。

目录显示的大小不是文件夹大小,而是目录元数据的大小。

修改日期

第六列为文件的创建日期或最近修改时间。

如果修改时间距离太久,那时间部分会显示成年份。

文件名

第七列为文件名或文件夹名。

Linux 的文件名是大小写敏感的。

文件或目录名的第一个字母是 “.” 表示隐藏文件。

文件名规则

  • 由大写字母、小写字母、数字和一些特殊符号组成;
  • 不可以包含 * ? < > ( ) [ ] { } / \ | " ` & ; ! 等符号;
  • +-可以出现在文件名中,但是不能作为文件名中的第一个字母;
  • 文件名中一般不应该包含空格;
  • 使用 Ext 文件系统时,文件名最长 255 个字符,路径最长 4096 个字符。