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 个字符。