当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] Linux 系统中的每一个分区都是一个文件系统。文件系统就是指对存在物理空间上的文件的一种管理软件(个人认为)Linux 2.4 内核以后,开始支持大量的文件系统;日志文件系统;

 Linux 系统中的每一个分区都是一个文件系统。

文件系统就是指对存在物理空间上的文件的一种管理软件(个人认为)

Linux 2.4 内核以后,开始支持大量的文件系统;

日志文件系统; ext3 ReiserFS XFSJFS

Linux2.4内核以后支持的文件系统有; JFS , ReiserFs, ext, ext2, ext3, , ISO9660, XFS, Minx, MSDOS, UMSDOS, VFAT, NTFS, HPFS, NFS, SMB, SysV, PROC 等等

Ext2/ext3 采用block+ innode 方式来存放文件

Ext2/ext3 有一个空间被称为超级块

(superblock) 存放文件系统的原数据

包括;卷标名, block数, inode 数 等等

Inode是存放文件元数据,包括文件权限,属性,更改时间等数据

Inode 就是一个索引节点, 这个inode纪录文件的属性,位置等信息。

每个inode都有一个号码,称为索引节点号(inode号)

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

一个文件只有一个对应的inode号,但是一个inode可以有多个文件名与其对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问他。

书上说ext2不是日志文件系统

从ext2 变成ext3不需要格式化,用tune2fs 就可以

从ext3 变成ext2 可以不用作任何的改动

Ext3 特性;

1. 高效性; 非法关机后恢复ext3文件系统只要10秒左右

2. 数据完整性;避免非法关机对数据完整性的破坏

3. 文件系统的速度; 对磁盘驱动器读写进行了优化

4. 数据的转化; ext2-ext3, ext3-ext2

5. 多种日志模式;对所有数据进行日志纪录模式,只对metadata进行日志纪录,而不对数据进行日志纪录

Data=journal 所有数据日志纪录模式

Data=writeback 对metadata日志纪录模式

提示metadata是定义文件系统中的数据,即数据中的数据

Root可以根据实际的工作情况来定义,在系统的工作速度和数据完整性来选择

将一个新的分区格式化成ext3文件系统

# mke2fs -j /dev/hda8

将ext2 转换成ext3文件系统

# tune2fs -j /dev/hda9

提示; 将ext2文件系统转换成ext3时,不需要将分区卸载。直接转换就可以。不要忘记把/etc/fstab 里的ext2改成ext3

用e2fsck 修复ext3文件系统

1. # umount /dev/hda8 先卸载该分区.

2.#e2fsck -fy /dev/hda8 修复该分区

Reiserfs文件系统

1997 年 hans reiser 把reserfs文件系统在网上公布

Reserfs 比ext2fs要快的的多

当前reserfs 只能在intel结构体系上使用

Reiserfs 文件系统一直被用于在高端的unix系统上

Reiserfs 特点;

1. 先进的日志机制

Reiserfs 日志机制在每个实际数据要修改之前把相应的日志写入到磁盘空间,这样提高数据的安全性

2. 高效的磁盘利用率

Reiserfs对一些小的文件不分配inode。而是将这些小文件打包,存放在同一个磁盘块中。而其他的文件系统是每个文件都要占用一个block块。这意味着如果有1000个小文件,那么就要占用1000个block。这样非常浪费磁盘空间。

3. 独特的搜索方式

Reserfs基于平衡树(balanced tree)搜索,这种方式的速度要比ext2快的多。平衡树是一种高效的算法。

4. 支持海量硬盘

Reserfs可以管理上百G的数据。Rerserfs最大支持文件系统的尺寸是16TB。这非常适合企业级应用。

5. 优异的性能

Reserfs 文件系统启动X -windows的速度比ext2快2倍

文件的附加属性

# chattr +〔AadijS〕 filename 设置文件的附加属性

# lsattr filename 查看文件的附加属性

A; 当文件被改变时,文件的更改时间不变

a; 只能向该文件追加内容,不可以更改原内容

i; 文件不可以删除, 重命名, 改变内容

j; 在ext3文件系统中,次文件一定被写入日志

S; 当文件被改动,此改动会同步写入文件系统

将原ext2转换升级成ext3文件系统

# tune2fs -j /dev/hda1 这是直接转换

# mke2fs -j /dev/hda2 这是格式化转换

常见的文件系统

Minix ; linux第一个支持的文件系统,比较古老,现在每人用了

ISO9660; 标准的cdrom 文件系统

NFS ; 是sun公司推出的网络文件系统,准许多台计算机共享一个文件系统

提示; redhat linux默认是不支持ntfs 文件系统的。我们可以自己编辑kernel来让系统支持ntfs,但是可能会对数据造成损坏

常用创建文件系统工具

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

Mke2fs 创建ext2/ext3文件系统

# Mk2fs -j /dev/hda2

文件系统的使用

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

挂载点:必须是一个目录。当一个目录下有文件时,则在该文件系统被挂载后,原文件暂时无法访问。直到当前挂载的文件被卸载以后,才能继续访问

Mount命令参数

挂载时使用mount命令

基本格式; mount 〔-参数〕 〔设备名〕 〔挂载点〕

Mount -t 指定文件系统的类型

Umount 卸载文件系统

Mount -o loop disk1.iso 挂载.iso 文件

Mount -o 选项指定挂载文件系统时的选项。有些时候也可以/etc/fstab来指定。常用的有

ro ; 以只读的方式挂载

rw ; 以读写的方式挂载

nouser ; 使一般的用户无法挂载设备

user ; 可以让一般的用户挂载设备

配置/etc/fstab

/etc/fstab 这个文件是文件系统的挂载信息

当mount一个文件系统时如果给出的参数不全,系统会从/etc/fstab文件中读取参数来补全

当系统启动时,系统会根据这个/etc/fstab这个文件中的配置信息来自动加载文件系统

这个文件同时,还可以被fsck, dump, quotaon, swapon等程序所使用

fstab 文件的格式[!--empirenews.page--]

fs_spec fs_file fs_type fs_options fs_dump fs_pass

/dev/hda1 /boot ext2 defaults 1 1

fs_spec ; 这个字段表示要加载的文件系统所在的设备或远程文件系统

fs_file; 表示文件系统的挂载点

fs_type; 文件系统的类型

说明;对于swap设别,该字段为none; 对于加载目录名中包含空格的情况,用40来表示空格

Fs_options; 因为在给指定的设备加载文件系统时,需要使用特定的参数,多个参数是由逗号分开的。对于大多数的系统都是default就可以满足需要了

加载文件系统可以指定的参数;

ro ; 以只读的方式加载

sync; 不对该设备的写操作进行缓冲处理,这可以防止在非法关机时破坏文件系统和数据的完整性。但是这样却降低了计算机的工作效率

user ; 准许普通用户可以挂载这个文件系统

quota ; 强制的在该文件系统上进行磁盘配额

noauto ; 不在使用mount -a 命令 (在系统启动时) 加载文件系统

fs_dump ; 该选项被“dump”命令使用来检查一个文件系统应该以多快的频率进行转存,如果不需要转存就设置为0

fs_pass ; 这个字段表示fsck命令用来决定在启动时需要被扫描文件系统的顺序,根文件系统“/” 对应该字段的值为1,其他文件系统应该为2。如果该文件系统不需要在启动时扫描,则设置为0

检查当前系统中挂载的文件系统

# mount 使用mount命令

# cat /etc/fstab 使用/etc/fstab 文件

# cat /proc/mounts 使用内存镜像文件

卷标的含义

由于设备的文件名可能在硬盘结构发生变化时而改变,因此redhat linux 对ext2文件系统使用卷标来挂载和卸载

卷标纪录在ext2/ext3文件系统的超级块中(superblock)

e2label 命令可以查询和更改ext2文件系统的卷标名

# cat /etc/fstab

LABEL=/ / ext3 default 1 1

/dev/hda7 /usr ext3 default 1 1

第二的意思就是说,把/dev/hda7这个分区挂载到/usr这个目录上

第一行没有指明分区,意思是把LABEL(卷标)为/ 的分区mount到/ 分区上。 这样写的好处就是当你的硬盘从主板上的IDE1(hda)移动到IDE2(hdc)上的时候,系统仍然可以自动的挂载正确的分区

手动添加新分区,自定义卷标

# e2label /dev/hdax /new

# mkdir /new

最后在/etc/fstab 文件中加入

LABEL=/new /new ext3 default 1 1

这样就ok了, 下次重启后系统会自动挂载这个/new分区

查询 ext2/ext3 的卷标名

# e2label /dev/hda2 查看

Boot 系统返回信息

更改ext2/ext3的卷标名

# e2label /dev/hda2 data 更改

# e2label /dev/hda2 查看

Data 系统返回信息

用卷标名来挂载文件系统

# mount —L data /data

# mount LABEL=DATA /data

当你想创建,删除分区或重新划分分区大小,分区所在的设备就不能是正在使用的(分区不能被挂载,并且交换空间也不能被启动)。达到这个目录的最简单的方法就是,进入救援模式中引导系统。由于已经加载的文件系统的信息会自动的写道/etc/mstab中,所以用户只需要给出设备或挂载点中的一个参数即可

如果驱动器不包括任何这在使用的分区,你可以使用umount来卸载分区,使用swapoff 命令来关闭硬盘驱动器上的交换空间

文件系统的维护命令

Fsck /filesystem check ; 用于检查和修复文件系统

e2fsck; 检查和修复ext2/ext3文件系统

tun2fs; 更改ext2文件系统的属性

resize2fs; 更改ext2文件系统的大小

parted; 更改多种文件系统的大小

linux有个parted 工具可以调整分区的大小,但是他是有限制的。如果向增大一个分区那么该分区后面必须有没有使用的空间,而且这个分区没有被mount

# parted /dev/had resize 3 644 1300

意思是把分区3 调整从柱面644 到柱面1300结束,重新启动后就会生效了。

Linux系统将每隔20次启动系统或30天对文件系统进行一次检查。这些属性可以用tune2fs 来设定(时间间隔的周期以秒指定)

# tune2fs -i 0 /dev/hdb5

设置检查文件系统的时间间隔秒数(-i)为0,0就是禁止根据时间的周期进行检查。

文件系统访问控制列表

可以为多个用户和组建立文件访问控制列表

基本格式化为; mount -o acl

Getfacl

Setfacl

Acl 访问控制列表

自定义访问控制列表是一种机制,每一个acl由一个用户标识和组标识结合的整体。用户标识与组标识配合相对应的访问权限组成了

(user.group.mode)

访问级别

(u.g,rwx) 特定的一个用户,特定的组

(u.%,rwx)特定的一个用户, 任意的组

(%.g,rwx)任意一个用户,特定的组

(%.%,rwx)任意一个用户,任意一个组

每一个文件都有13组的访问权限模式,如果有多个类型的访问权限条目,那么较详细的条目的优先级较高。在acl中设置某一个特定用户的读写权限,如果设置了m(ask), 那用户的权限还要受到

m(umask)的限制。原来是要两个权限相与一下,才四用户的正确权限

比如; 设置userA 的权限为r+w,而m设置为r,那么userA的权限为r。

自动挂载文件系统

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

需要后台的automount 进程

Autofs服务的开关由 /etc/init.d/autofs脚本来控制

主要应用在软驱和光驱的场合

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

Autofs 服务的主要配置文件

/etc/auto.master 和 /etc/auto.misc

通过这两个文件来完成automount的设定

Auto.master 的每一行表示一个自动挂载的集群

每一行的格式为

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

Auto.misc 文件中纪录的则是每一个自动挂载的设备

每一个行的格式为;

挂载点(实际挂载点为“/自动挂载的目录集合/挂载点”) 自动卸载的时间 设备文件名[!--empirenews.page--]

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭