• 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
  • 相关阅读:
    js 的一些兼容性写法
    浏览器 Event对象 及 属性 的兼容处理
    js 三元表达式 复杂写法
    Angular.js中使用$watch监听模型变化
    Android学习之——ViewPager及应用引导页的开发
    Android开发中常用的库总结(持续更新)
    Android学习之——GridView
    Android开发工具——Android studio1.0正式版使用技巧
    Android学习之——ListView下拉刷新
    Android学习之——ListView
  • 原文地址:https://www.cnblogs.com/Presley-lpc/p/12122014.html
Copyright © 2020-2023  润新知