Linux日记—0X02文件系统

发布于 2020-04-17  87 次阅读


文件系统

文件系统是存储在计算机上文件和目录的数据结构,也可用于存储文件的分区或者磁盘,操作系统可以通过文件系统方便的查询和访问其中包含的磁盘块。

Linux下的文件系统

Linux中每一个分区都是一个文件系统,都有着自己的层次结构,linux支持多种文件系统使得系统更加灵活,可以和别的操作系统并存。

文件记录形式

Linux文件系统使用索引节点来记录文件信息。索引节点是一种数据结构,包含一个文件的各种信息。

一个文件系统对应一个索引节点的数组,每个文件或者目录都与索引节点数组的唯一一个元素对应,每个索引节点有一个号码,称为索引节点号。

Linux文件系统将文件索引节点号和文件名保存在目录中,目录将文件名称和他的索引号结合起来组成一个表,目录中每一对文件名称和索引节点称为一个连接。

连接有硬链接,软连接(符号链接)

硬连接:原文件名和连接文件名指向同一物理文件地址,目录不能硬连接,不能跨越文件系统,一个文件存在硬链接时不能删除。

软连接:用IN-S命令建立,类似与Windows下的快捷方式

文件系统类型

Linux

Linux:存在几十个文件系统类型:ext2,ext3,ext4

不同文件系统采用不同的方法来管理磁盘空间,各有优劣;文件系统是具体到分区的,所以格式化针对的是分区,分区格式化是指采用指定的文件系统类型对分区空间进行登记、索引并建立相应的管理表格的过程。

  • ext2具有极快的速度和极小的CPU占用率,可用于硬盘和移动存储设备
  • ext3增加日志功能,可回溯追踪
  • ext4日志式文件系统,支持1EB(1024*1024TB),最大单文件16TB,支持连续写入可减少文件碎片。rhel6默认文件系统

windows

  • FAT16:MS—DOS和win95采用的磁盘分区格式,采用16位的文件分配表,只支持2GB的磁盘分区,最大单文件2GB,且磁盘利用率低
  • FAT32:(即Vfat)采用32位的文件分配表,支持最大分区128GB,最大文件4GB
  • NTFS:支持最大分区2TB,最大文件2TB,安全性和稳定性非常好,不易出现文件碎片。

其他

  • RAMFS:内存文件系统
  • ISO 9660:光盘
  • NFS:网络文件系统
  • SMBAFS/CIFS:支持Samba协议的网络文件系统
  • Linux swap:交换分区,用以提供虚拟内存。

vfc

就是因为虚拟文件系统(vfc)即使有逻辑文件系统的差异,但在用户层面上是完全感受不到的。

Linux文件系统的组织方式

各种操作系统采用的都是树状的目录结构与Windows的操作系统类似,区别在于Linux用“/”作为间隔根目录和子目录

Linux文件系统的工作原理

Linux通过为每个文件分配文件块的方式把数据存储在存储设备中,这样就要维护每一个文件所有文件块的分配信息,分配信息也存储在磁盘上,linux下文件系统分配策略为块分配和扩展分配

文件系统的挂载和卸载

硬件上的文件系统在经挂载后才可以访问存储设备上的文件,在window下挂载就是给磁盘分盘(分配盘符CDEFG。。。)

在linux下则是将设备挂接到一个已经存在的目录,比如要访问存储设备的一个文件,必须要将文件所在的分区挂载到一个已知的目录上,通过这个目录来访问存储设备。

linux的挂载需要在shell命令环境中使用mount命令

系统终端的打开方式为同时按下Ctrl+Alt+T

系统命令格式为 命令 (选项)(参数)三个模块

mount命令

mount的作用是加载文件系统,使用权限是root用户或/ETC/fatab中允许的使用者

用mount命令就可以查看所有的挂载文件系统

挂载文件系统时要确定被挂载的文件系统是Linux支持的文件系统,其次要手动创建挂载点。

比如挂载一个光盘驱动盘

mount -t ios9660/mymount/cdrom

卸载文件系统

unmount -【参数】【挂载设备】【挂载点】

就是mount的逆命令


初闻不知曲中意,再听已是曲中人