1. 文件类型
文件属性字段总共有 10 个字母组成; 第一个字符代表文件的类型.
字母 "b" 的表示块设备文件, 一般置于 / dev 目录下, 设备文件是普通文件和程序访问硬件设备的入口, 是很特殊的文件. 没有文件大小, 只有一个主设备号和一个辅设备号. 一次传输数据为一整块的被称为块设备, 如硬盘, 光盘等. 最小数据传输单位为一个数据块(通常一个数据块的大小为 512 字节)
字母为 "c" 表示该文件是一个字符设备文件(character), 一般置于 / dev 目录下, 一次传输一个字节的设备被称为字符设备, 如键盘, 字符终端等, 传输数据的最小单位为一个字节.
字母为 "p" 表示该文件为命令管道文件. 与 shell 编程有关的文件.
字母 "s" 表示该文件为 sock 文件. 与 shell 编程有关的文件.
"-" 表示普通文件;
"d" 表示目录, 是 dirtectory(目录)的缩写; 其中: 目录或者是特殊文件, 这个特殊文件存放其他文件或目录的相关信息
"l" 表示链接文件, 是 link(链接)的缩写, 类似于 Windows 下的快捷方式;
"p" 表示管理文件;
"b" 表示块设备文件, 是 block(块)的缩写;
"c" 表示字符设备文件, 是 char(字符)的缩写;
"s" 表示套接字文件, 是 socket(套接字)的缩写;
2. 文件权限, 分三组(UGO), 每组三个(RWX):
r(Read, 读取权限): 对文件而言, 具有读取文件内容的权限; 对目录来说, 具有浏览目录的权限.
w(Write, 写入权限): 对文件而言, 具有新增, 修改文件内容的权限; 对目录来说, 具有删除, 移动目录内文件的权限.
x(eXecute, 执行权限): 对文件而言, 具有执行文件的权限; 对目录来说, 该用户具有进入目录的权限.
第一组表示文件创建者 / 所有者对该文件所具有的权限, 第二组表示创建者 / 所有者所在的组的其他用户所具有的权限, 第三组表示其他组的其他用户所具有的权限. 除了文件类型位, 前三个表示文件拥有者的权限, 中间三个表示文件所属组拥有的权限, 最后三个表示其他用户拥有的权限.
$ ls -l
总用量 0
crw-rw-rw- 1 root root 10, 200 2 月 11 07:21 tun
上述 tun 文件的信息: c 表示字符设备文件, 第 2~4 位的 rw - 表示 root 用户的权限是可读, 可写, 执行位置为 - 表示没有执行权限, 第 5~7 表示 root 组的用户具有可读, 可写及不可执行的权限, 第 8~10 位表示其他用户具有可读, 可写和不可执行权限
3. 目录或链接个数
该字段表示此文件是属于哪个用户. Linux 类系统都是多用户系统, 每个文件都有它的拥有者. 只有文件的拥有者才具有改动文件属性的权利. 当然, root 用户具有改动任何文件属性的权利. 对于一个目录来说, 只有拥有该目录的用户, 或者具有写权限的用户才有在目录下创建文件的权利.
对于目录文件, 表示它的第一级子目录的个数. 注意此处看到的值要减 2 才等于该目录下的子目录的实际个数, 每个目录下有两个隐藏目录. 和.. 目录.
链接文件: 类似于 Windows 里的快捷方式. 多个链接文件同时指向一个 "源文件". 链接文件分为硬链接或符号链接两种.
在 Linux 的文件系统中, 保存在磁盘分区中的文件不管是什么类型都给它分配一个编号, 称为索引节点号 inode . 软连接, 其实就是新建立一个文件, 这个文件就是专门用来指向别的文件的(那就和 Windows 下的快捷方式的那个文件有很接近的意味). 软连接产生的是一个新的文件, 但这个文件的作用就是专门指向某个文件的, 删了这个软连接文件, 那就等于不需要这个连接, 和原来的存在的实体原文件没有任何关系, 但删除原来的文件, 则相应的软连接不可用(cat 那个软链接文件, 则提示 "没有该文件或目录")
硬连接是不会建立 inode 的, 他只是在文件原来的 inode link count 域再增加 1 而已, 也因此硬链接是不可以跨越文件系统的. 相反都是软连接会重新建立一个 inode, 当然 inode 的结构跟其他的不一样, 他只是一个指明源文件的字符串信息. 一旦删除源文件, 那么软连接将变得毫无意义. 而硬链接删除源文件的时候, 系统调用会检查 inode link count 的数值, 如果他大于等于 1, 那么 inode 不会被回收, 因此文件的内容不会被删除, 相当于删除了一个索引. 硬链接实际上是为文件建一个别名, 链接文件和原文件实际上是同一个文件. 可以通过 ls -i 来查看一下, 这两个文件的 inode 号是同一个, 说明它们是同一个文件; 而软链接建立的是一个指向, 即链接文件内的内容是指向原文件的指针, 它们是两个文件.
软链接可以跨文件系统, 硬链接不可以; 软链接可以对一个不存在的文件名 (filename) 进行链接(当然此时如果你 vi 这个软链接文件, Linux 会自动新建一个文件名为 filename 的文件), 硬链接不可以(其文件必须存在, inode 必须存在); 软链接可以对目录进行连接, 硬链接不可以. 两种链接都可以通过命令 ln 来创建. ln 默认创建的是硬链接. 使用 -s 开关可以创建软链接
4. 所有者及组别
该文件的所有者 / 创建者 (owner) 及其所在的组(group). 一个用户可以加入很多个组, 但是其中有一个是主组, 就是显示在第 4 字段的名称.
5. 文件大小
如果是文件, 则表示该文件的大小, 单位为字节.
如果是目录, 则表示该目录符所占的大小, 并不表示该目录下所有文件的大小. 请注意是文件夹本身的大小, 而不是文件夹以及它下面的文件的总大小.
6. 修改日期
文件最后修改的日期时间
来源: http://www.bubuko.com/infodetail-3415664.html