加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_马鞍山站长网 (https://www.0555zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

好文分享:EXT文件系统机制原理详解

发布时间:2019-09-18 22:15:12 所属栏目:建站 来源:骏马金龙
导读:副标题#e# 文章有些长,但是作者总结的非常好,能学到很多技术细节知识。请大家耐心阅读。 将磁盘进行分区,分区是将磁盘按柱面进行物理上的划分。划分好分区后还要进行格式化,然后再挂载才能使用(不考虑其他方法)。格式化分区的过程其实就是创建文件系统

软链接之所以也被称为特殊文件的原因是:它一般情况下不占用data block,仅仅通过它对应的inode记录就能将其信息描述完成;符号链接的大小是其指向目标路径占用的字符个数,例如某个符号链接的指向方式为"rmt --> ../sbin/rmt",则其文件大小为11字节;只有当符号链接指向的目标的路径名较长(60个字节)时文件系统才会划分一个data block给它;它的权限如何也不重要,因它只是一个指向原文件的"工具",最终决定是否能读写执行的权限由原文件决定,所以很可能ls -l查看到的符号链接权限为777。

注意,软链接的block指针存储的是目标文件名。也就是说,链接文件的一切都依赖于其目标文件名。这就解释了为什么/mnt的软链接/tmp/mnt在/mnt挂载文件系统后,通过软链接就能进入/mnt所挂载的文件系统。究其原因,还是因为其目标文件名"/mnt"并没有改变。

例如以下筛选出了/etc/下的符号链接,注意观察它们的权限和它们占用的空间大小。

  1. [root@xuexi ~]# ll /etc/ | grep '^l' 
  2. lrwxrwxrwx. 1 root root 56 Feb 18 2016 favicon.png -> /usr/share/icons/hicolor/16x16/apps/system-logo-icon.png 
  3. lrwxrwxrwx. 1 root root 22 Feb 18 2016 grub.conf -> ../boot/grub/grub.conf 
  4. lrwxrwxrwx. 1 root root 11 Feb 18 2016 init.d -> rc.d/init.d 
  5. lrwxrwxrwx. 1 root root 7 Feb 18 2016 rc -> rc.d/rc 
  6. lrwxrwxrwx. 1 root root 10 Feb 18 2016 rc0.d -> rc.d/rc0.d 
  7. lrwxrwxrwx. 1 root root 10 Feb 18 2016 rc1.d -> rc.d/rc1.d 
  8. lrwxrwxrwx. 1 root root 10 Feb 18 2016 rc2.d -> rc.d/rc2.d 
  9. lrwxrwxrwx. 1 root root 10 Feb 18 2016 rc3.d -> rc.d/rc3.d 
  10. lrwxrwxrwx. 1 root root 10 Feb 18 2016 rc4.d -> rc.d/rc4.d 
  11. lrwxrwxrwx. 1 root root 10 Feb 18 2016 rc5.d -> rc.d/rc5.d 
  12. lrwxrwxrwx. 1 root root 10 Feb 18 2016 rc6.d -> rc.d/rc6.d 
  13. lrwxrwxrwx. 1 root root 13 Feb 18 2016 rc.local -> rc.d/rc.local 
  14. lrwxrwxrwx. 1 root root 15 Feb 18 2016 rc.sysinit -> rc.d/rc.sysinit 
  15. lrwxrwxrwx. 1 root root 14 Feb 18 2016 redhat-release -> centos-release 
  16. lrwxrwxrwx. 1 root root 11 Apr 10 2016 rmt -> ../sbin/rmt 
  17. lrwxrwxrwx. 1 root root 14 Feb 18 2016 system-release -> centos-release 

3.3 设备文件、FIFO、套接字文件

关于这3种文件类型的文件只需要通过inode就能完全保存它们的信息,它们不占用任何数据块,所以它们是特殊文件。

设备文件的主设备号和次设备号也保存在inode中。以下是/dev/下的部分设备信息。注意到它们的第5列和第6列信息,它们分别是主设备号和次设备号,主设备号标识每一种设备的类型,次设备号标识同种设备类型的不同编号;也注意到这些信息中没有大小的信息,因为设备文件不占用数据块所以没有大小的概念。

  1. [root@xuexi ~]# ll /dev | tail 
  2. crw-rw---- 1 vcsa tty 7, 129 Oct 7 21:26 vcsa1 
  3. crw-rw---- 1 vcsa tty 7, 130 Oct 7 21:27 vcsa2 
  4. crw-rw---- 1 vcsa tty 7, 131 Oct 7 21:27 vcsa3 
  5. crw-rw---- 1 vcsa tty 7, 132 Oct 7 21:27 vcsa4 
  6. crw-rw---- 1 vcsa tty 7, 133 Oct 7 21:27 vcsa5 
  7. crw-rw---- 1 vcsa tty 7, 134 Oct 7 21:27 vcsa6 
  8. crw-rw---- 1 root root 10, 63 Oct 7 21:26 vga_arbiter 
  9. crw------- 1 root root 10, 57 Oct 7 21:26 vmci 
  10. crw-rw-rw- 1 root root 10, 56 Oct 7 21:27 vsock 
  11. crw-rw-rw- 1 root root 1, 5 Oct 7 21:26 zero 

4.inode基础知识

每个文件都有一个inode,在将inode关联到文件后系统将通过inode号来识别文件,而不是文件名。并且访问文件时将先找到inode,通过inode中记录的block位置找到该文件。

4.1 硬链接

(编辑:网站开发网_马鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!