Linux系统有如表所示的几种文件类型。

使用ls -lih 命令就可以看到各个文件的具体信息,下面选取以上所提到的这几种文件,列出他们的信息。

除了设备文件(包括字符设备文件和块设备文件二种)外,每一个文件的信息可分为8个部分:

他们的意义如下:

第一部分:

表示文件的索引节点inode。索引节点里存放一个文件的上述信息,比如文件大小、属主、归属的用户组、读写权限等,并指出文件的实际存放位置。

字段2:

文件种类和权限。

其中 -表示普通文件,d表示目录,c表示字符设备,b表示块设备,p表示FIFO(即管道),l表示软连接(也称符号链接),s表示套接字(socket)。

没有专门的符号来表示硬连接类型,硬连接也是普通文件,只不过文件的实际内容只有一个副本,连接文件和被连接文件都指向它,如上面的ln_hard文件是使用

ln readme.txt   In_hard 命令创建出来的到redame.txt文件的硬连接,readme.txt和In_hard地位完全一样。他们都指向文件系统中的同一个位置,他们的硬连接个数都为2,表示 这个文件的实际内容被引用二次,可以看到这二个文件的inode都是一样的。

硬连接文件引入的另一个作用是使得可以用别名来引用一个文件,避免文件被误删除(只有当硬链接个数为1时,对一个文件执行删除操作才会真正删除文件的副本),它的缺点是不能创建到目录的连接,被连接文件和连接文件必须在同一个文件系统中。对此引入软连接,也称符号连接。

软连接只是简单地指向一个文件或者目录,并不增加它的硬连接个数,比如上面的ln_soft文件就是使用ln -s readme.txt ln_soft 创建出来的到readme.txt文件的软连接,它使用另一个inode。

第三部分:硬连接个数。

第四部分:文件拥有者。

第五部分:所属群组。

第六部分:文件或目录的大小。

第七部分:表示最后访问或修改时间。

第八部分:表示文件名或目录名。

对于设备文件,第六部分表示主设备号(用来表示这是哪类设备),第七部分表示次设备号(用来表示这是这类设备中的第几个)。

最新文章

  1. Hadoop入门学习笔记---part2
  2. CSS基本知识4-CSS行模型
  3. c# foreach循环二维数组
  4. Validate US Telephone Numbers
  5. 多线程进行http请求
  6. c#选择填空题题库
  7. Android项目实战(八):列表右侧边栏拼音展示效果
  8. PHP中使用的变量
  9. @+id/和android:id的区别
  10. leetcode 第一题 Two Num java
  11. printf 缓冲区问题
  12. Keil C动态内存管理机制分析及改进
  13. T-SQL技术收集——删除重复数据
  14. 软工+C(2017第4期) Alpha/Beta换人
  15. 数据库索引------B-Tree 索引和 Hash 索引的对比
  16. netty的简单的应用例子
  17. java方法 throws exception 事务回滚机制
  18. CPU上下文切换
  19. 使用Spring提供的缓存抽象机制整合EHCache为项目提供二级缓存
  20. git 查看某个文件的修改记录

热门文章

  1. Android MVP开发模式及Retrofit + RxJava封装
  2. rman备份控制文件
  3. MQTT介绍(1)简单介绍
  4. 关于p标签
  5. Android sync adapter初体验之为什么官方文档上的代码不能work
  6. 回归JavaScript基础(九)
  7. PowerShell小技巧 算术表达式求值
  8. 使用ModelForm表单验证
  9. django中的字段类型
  10. Python常见报错问题(不定时更新)