linux学习27 Linux磁盘使用及文件系统管理高级概念讲解

一、创建文件系统

  1、格式化:低级格式化(分区之前进行,划分磁道等等),高级格式化(分区之后对分区进行,创建文件系统)

    a、格式化:元数据区,数据区

      元数据区:Inode(index node)。

        记录文件大小,权限,属主属组,时间戳,数据块指针

      数据区:数据区会被分成大小相等的块,而元数据就是存储具体指到哪个数据块的指针

      

      链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;

 

      设备文件:存储数据指针的空间当中存储的是设备号(major,minor)

[root@node1 ~]# ls -i
33574979(文件索引inode的编号) anaconda-ks.cfg  35721283 fstab      34048286 fstab.patch  34048285 grep.txt    35697265 mytest2  35697264 test         2616139 wohaoshuai1
33667170 FileTest.c       35697238 fstab.new  35367118 functions    33575034 myfirst.sh  50724930 mytest3  35697266 wohaoshuai
[root@node1 ~]# stat anaconda-ks.cfg  #查看inode中存放的元数据
  File: ‘anaconda-ks.cfg’
  Size: 1252          Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 33574979    Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-12-27 17:06:52.671565566 +0800
Modify: 2019-06-04 22:36:40.495028271 +0800
Change: 2019-06-04 22:36:40.495028271 +0800
 Birth: -

  2、VFS:Virtual File System:虚拟文件系统

    

 

   3、文件系统

    Linux的文件系统:ext2(无日志功能),ext3,ext4,xfs(单个文件没有上限),relserfs(据说反删除功能比较好,不过这个作者老婆被人杀了他却无法证明自己的清白)。centos7上又出现了一个文件系统叫btrfs,不过还是在实验阶段。

    光盘:iso9660

    网络文件系统:nfs,cifs

    集群文件系统:gfs2,ocfs2

    内核级分布式文件系统:ceph

    windows的文件系统:vfat,ntfs

    伪文件系统:proc,sysfs,tmpfs,hugepagefs

    Unix的文件系统:UFS,FFS,JFS

    交换文件系统:swap

    用户空间的分布式文件系统:mogilefs,moosefs,glusterfs

二、文件系统管理

  1、文件系统管理工具

    a、创建文件系统的工具

      mkfs

        mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat,...

    b、检测及修复文件系统的工具

      fsck

        fsck.ext2,fsck.ext3......

    c、查看其属性的工具

      dumpe2fs,tune2fs

    d、调整文件系统特性

      tune2fs

  2、文件系统分为两类:有日志型文件系统,无日志型文件系统

  3、链接文件:访问同一个文件不同路径

    a、硬链接:指向同一个inode的多个文件路径。他们的inode号是一样的。

      特性:

        (1)、目录不支持硬链接

        (2)、硬链接不能跨文件系统;

        (3)、创建硬链接会增加inode引用计数

      创建:

        ln src link_file

[root@node1 ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1252 Jun  4  2019 anaconda-ks.cfg
[root@node1 ~]# ln anaconda-ks.cfg anaconda-ks.cfg_yinglianjie
[root@node1 ~]# ls -l anaconda-ks.cfg
-rw-------. 2(可以看到引用计数增加为了 2) root root 1252 Jun  4  2019 anaconda-ks.cfg
[root@node1 ~]# ls -l anaconda-ks.cfg_yinglianjie 
-rw-------. 2 root root 1252 Jun  4  2019 anaconda-ks.cfg_yinglianjie

      

    b、符号链接(软链接):指向一个文件路径的 另一个文件路径。他们的inode是不一样的

      特性:

        (1)、符号链接与源文件是两个各自独立的文件,各有自己的inode。对源文件创建符号链接不会增加引用计数。

        (2)、支持对目录创建符号链接,可以跨文件系统

        (3)、删除符号链接文件不影响原文件,但删除源文件,符号指定的路径即不存在,此时变成无效链接。

        (4)、注意,符号链接文件的大小是其指定的文件的路径字符串的字节数。

      创建:

        ln -s src link_file

      

[root@node1 ~]# rm -rf fstab
[root@node1 ~]# ls -l fstab.slink 
lrwxrwxrwx 1 root root 5 Dec 31 20:26 fstab.slink -> fstab
[root@node1 ~]# cat fstab.slink 
cat: fstab.slink: No such file or directory
posted @ 2019-12-30 22:15  Presley  阅读(308)  评论(0编辑  收藏  举报