Linux为每个分区指定卷标,linux文件系统

第十三单元 文件系统

文件结构

为了能在设备上存储与读取文件,需要在分区上创立文件系统

文件系统记录目录与文件我们称之为文件结构

每一个文件系统在linux里被解释成油一个根目录为起点的目录树结构

Linux将各个文件系统mount在系统目录树中使用

Linux 文件结构

文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。

目录提供了管理文件的一个方便而有效的途径。

linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。

linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和windows也是采用树型结构,但是在DOS和windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。

因为linux是一个多用户系统,制定一个固定的目录规划有助于对系统文件和不同的用户文件进行统一管理。

文件系统

不同的操作系统与设备,有着很多种的文件系统

不同的文件系统存放、搜索文件的方式都有不同

Linux支持多种文件系统的读写

Linux最主要使用的是ext2/ext3文件系统

Linux文件系统

文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。

Linux可以对多种文件系统做读写操作,Windows的FAT16、FAT32、NTFS文件系统在Linux都可以做相应的操作。

ext2/ext3文件系统

ext2/ext3文件系统支持rwx权限及文件属性(attributes)

ext2/ext3文件系统采用block+inode的方式存放文件

ext2/ext3文件系统上有一块空间被称为超级块(superblock)用于存放文件系统的远数据,诸如卷标名、block数、inode数等

inode存放文件的元数据,包含文件权限、属性、更改时间等

linux

ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。

linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。

对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。

文件属性

在ext2/ext3文件系统中,对每个文件,还提供额外的属性支持

用户可以用lsattr来检查文件的属性

系统用户可以用chattr来改变文件的属性

a4c26d1e5885305701be709a3d33442f.png

chattr这个命令很重要,尤其是系统安全方面

+-=:分别表示增加、减少、(设定)属性,添加指令则是+,撤销指令则是-

A:当设定了属性A,这个文件的存取时间atime就不能更改了

a:设定a以后,这个文件只能增加数据而不能删除数据,只有root可以设定

i:则表示这个文件“不能被删除、更名、设定链接也无法写入新数据”

这几个参数很有用,其他的就不一一列举了

ext3文件系统

ext3文件系统即添加了日志功能的ext2,可与ext2文件系统无缝兼容

ext2文件系统可以通过增加日志的方式简单的升级到ext3文件系统

ext3文件系统支持三种日志模式:规则(默认,仅记录元数据) 日志化(将数据像元数据一样记录入日志)

写回(只在fsck时发生)

使用一个日志的文件系统减少了系统崩溃后恢复文件系统所花费的时间。因为没有必要运行fdisk来检查文件系统。

现在基本上是ext3文件系统了,这是默认选定的,ext4文件系统也正在推广了

将原ext2文件系统升级成为ext3文件系统:

[root @stationxx root]# tune2fs –j /dev/hda1

[root @stationxx root]# mke2fs –j /dev/hda2

创建文件系统

如果我们需要使用一个分区用于存储文件,则我们要在这个分区上建立文件系统

常用的创建文件系统的工具:mkfs

可以用于创建各种文件系统,由-t参数指定 mke2fs

创建ext2/3文件系统,支持指定block大小等功能

• 对于一个新建立的分区,需要重新启动系统,才能在其之上建立文件系统,例如:

[root @stationxx root]# mkfs –t vfat /dev/hda9

mke2fs支持的常用参数:

• -b:指定block的大小。

• -c:在创建文件系统的同时检查分区坏块

• -i:指定bytes/inode比率。

• -N:指定inode总数。默认情况下由block数与bytes/inode比率算出

• -m:指定保留块的比率。默认为5%。保留块一般会被用于文件交换等特殊工具。

• -j:为ext2文件系统添加日志

• -L:创建文件系统的同时设定label。

使用文件系统

为了使用一个文件系统,往其中存入读文件,用户需要先挂载文件系统

挂载的指令:mount

语法:

mount –t 文件系统类型 [其他参数] 设备 挂载点

• 设备指的是一个具体的文件系统,可以用设备名或卷标名表示

挂载点必须是一个存在的目录。如果目录下原来有文件,则在文件系统挂载后,原文件暂时不能访问。直到挂载上的文件系统被卸载。

• 我们一般采用/mnt目录下的一个空目录为挂载点。

mount参数

n -t 文件系统类型:用于指定挂载文件系统的类型,一般这个参数是必须的。

n -o 参数:补充追加的参数

n ext2文件系统默认采用的参数:rw、suid、dev、exec、auto、nouser、async

defaults包含的参数

n rw:允许对文件系统进行读写操作

n suid:允许使用set uid和set gid

n dev:允许包含设备文件

n exec:允许二进制文件执行

n auto:允许自动辨别文件系统类型

n nouser:只允许超级用户挂载文件系统

n async:异步管理文件的改变

n 其他参数通常有:

n loop:使用回访设备挂载文件系统

n ro:对文件系统只能进行读的操作

n user:允许一般用户挂载文件系统

/etc/fstab

配置文件系统挂载信息

mount文件系统若给出的参数不全,系统会从/etc/fstab中读取参数补全

系统启动会参考/etc/fstab中的配置项目自动加载文件系统

也被fsck、dump、quotaon、swapon等程序使用

/etc/fstab文件每一行由空格分为六项,包括:

• 设备文件

• 挂载点

• 文件系统类型

• mount参数:包含defaults和auto的行会在开机时自动被加载。

• dump参数:0表示永不备份。1表示每天备份,2表示每两天备份一次,依次类推。

• fsck顺序:0表示忽略。1、2、3表示检查顺序。一般1被根文件系统使用。网络文件系统与光驱软驱等设备应该被忽略。

当前挂载系统

用户可以通过直接键入mount后回车来检查当前挂载中的文件系统

也可以通过查看文件中/etc/mtab文件来查看当前挂载中的文件系统

a4c26d1e5885305701be709a3d33442f.png

也可以通过使用内存映像文件/proc/mounts来查看

a4c26d1e5885305701be709a3d33442f.png

卷标

n 由于设备文件名可能在硬盘结构发生变化时更动,因此Red Hat Linux对ext2文件系统使用卷标来挂载与卸载。

n 卷标记录在ext2/ext3文件系统的超级块中

n 用户可以用e2label指令来查询与更改ext2文件系统的卷标

查询ext2、ext3文件系统的卷标

a4c26d1e5885305701be709a3d33442f.png

更改ext2/ext3文件系统的卷标

a4c26d1e5885305701be709a3d33442f.png

用卷标名挂载文件系统

[root @stationxx root]# mount –L data /data

[root @stationxx root]# mount LABEL=data /data

卸载文件系统

当一个文件系统使用完毕,用户应当卸载该文件系统

umount指令用于卸载文件系统

语法:umount [参数] 设备/挂载点

一个正在使用的文件系统是无法被卸载的

由于已经加载的文件系统的信息会被自动记录于/etc/mtab,所以用户需要给出设备挂载点中的一个参数即可

[root @stationxx root] # umount /mnt/cdrom

文件系统维护

n fsck/filesystem check:用于检查与修复文件系统

n e2fsck:检查与修复ext2文件系统

n 系统在启动时自动会被检查

n tune2fs:更改ext2文件系统属性

n resize2fs:更改ext2文件系统的大小

n parted:更改多种文件系统大小

ext3基于ext2,因此这些工具可以使用在ext3的文件系统上

自动挂载

n 系统通过autofs服务自动挂载文件系统

n 需要后台的automount进程

n autofs服务的开闭由/etc/init.d/autofs脚本控制

n 主要应用于软驱与光驱等场合

n 如果该设备一段时间没有被使用,autofs会自动卸载

一般我们通过更改/etc/auto.master和/etc/auto.misc文件来完成automount的设定。

• auto.master文件每一行表示一个自动挂载集群。每一行的格式为:

自动挂载目录集合 参考文件(默认为/etc/auto.misc)

• auto.misc文件中记录的则是每一个自动挂载的设备。每一行的格式为:

挂载点(实际挂载点为“/自动挂载目录集合/挂载点”)自动卸载等待时间 设备文件名

磁盘限额

n Linux内核支持基于文件系统的磁盘限额

n 每一个组或用户,可以单独设置其磁盘限额

n 磁盘限额包括对block的限制与对inode的限制,每一种限制又可以分为软限制与硬限制

n 软限制被突破后,经过一段时间(grace time),会自动变成硬限制

软限制即在达到此限制后,系统会警告用户,但仍允许用户继续占用硬盘空间。

硬限制不允许普通用户突破。

quota的配置与使用,本人有些愚钝,不是很懂,以后单独分析一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值