美文网首页
文件系统-基础

文件系统-基础

作者: vaisy | 来源:发表于2022-02-11 11:09 被阅读0次

    硬盘

    Linux系统位于计算机的磁盘部分(就当作硬盘)通过IDE/SATA/USB之类的接口和CPU相连。
    IDE连接的硬盘文件名:/dev/hd[a-d]
    SATA/SCSI/USB连接的硬盘文件名:/dev/sd[a-p]
    (IDE理论极限是133Mbps,SATA是目前主流)
    硬盘的核心是盘片。盘片的最小组成是扇区(512字节)。扇区组成的圆为磁道。
    对于多硬盘,同一个磁道成为柱面,是多硬盘的最小单位。
    硬盘容量通常以10进制来写,算存储时需要换算。

    磁盘

    第一个扇区记录了主引导分区MBR(446byte)和分区表(64byte)
    分区表的64byte记录了四组:/dev/hda[1-4]各自的开始柱面和结束柱面。
    扩展分区最多一个,可以通过对扩展分区进行逻辑分区再次划分。
    分区表通过fdisk查看
    数据同步到硬盘sync
    检修时fsck
    df和du查看磁盘的使用情况
    以上是相对 比较 常用的几个命令

    新增磁盘的动作

    分区fdisk;格式化mkfs;创建文件系统并检验fsck ;创建挂载点并挂载mount。

    开机过程

    开机时会通过BIOS(写入硬件的基本程序)读MBR(有Boot Loader),MBR去找Linux内核,完成系统加载。
    (安装 Windows的时候会覆盖MBR,所以要搞双系统尽量先Win再Linux)
    加载Linux系统的时候可以把磁盘也顺便挂载了,挂载的文件在/etc/fstab,这个文件会说明哪些设备会被挂载到哪个目录。

    目录

    Linux下一切数据皆为文件。文件以目录树的形式存储。
    文件系统通过挂载mount的形式绑定到某个目录下。

    查找

    whereis和locate从数据库中找
    (updatedb可以更新 这个数据库)
    find从硬盘里查找,所以相对会慢很多。

    文件系统

    用户进程访问到系统调用界面后,由vfs管理文件系统进行读取。(发生在操作系统的内核)
    linux的标准文件系统是ext3/2,为了使操作系统能够读取,硬盘需要格式化到正确的文件系统。
    文件系统一般由三部分组成,查看方式dumpe2fs
    super block:存放总量/使用/剩余
    inode(128字节):记录文件的权限和属性,以及文件所在的block号码
    block:记录文件的内容。(大文件可能占用多个block)

    以/etc为例,
    先读/的inode,找到对应的block,确定是否有权限读取
    然后从block里找到etc的inode号码
    读/etc的inode确认权限,读出结果。

    hard link:新建一条文件名 连接到某个inode号码,换句话说同一个内容可能拥有多个文件名。
    这种情况下删除一个文件名之后,内容仍然可以找到。通过ln命令实现。
    而ln -s情况下建立的是快捷方式符号连接。

    相关文章

      网友评论

          本文标题:文件系统-基础

          本文链接:https://www.haomeiwen.com/subject/wupnkrtx.html