文件系统

来源:互联网 发布:单片机 容易发的sci 编辑:程序博客网 时间:2024/05/22 08:06

文件系统介绍:

在linux中文件系统分为建立在硬盘分区上真实的文件系统,与建立在真实文件系统之上向应用提供接口的虚拟文件系统。
真实文件系统真正决定了硬盘上的文件的存储方式,文件的组织结构。数据块的大小等实际存储文件时应该考虑到的行为。
虚拟的文件系统向应用掩饰了真实文件系统的一切变化,作为中间层的角色,调用系统模块中的真实文件文件系统驱动程序。进行硬盘的底层操作。但是对应用提供的都是一致的接口。实现了上层文件操作的统一化。使应用在进行IO时不用考虑。真正文件系统的多样性。

文件系统的驱动模块存放在 /lib/modules/`uname -r`/kernel/fs 下。如果该文件夹下存在对应的文件,那么便能使虚拟文件系统读取该文件系统上的文件,也就是应用可以读取该文件系统上数据。但是拥有模块并不代表可以对分区进行创建文件系统操作。对分区创建文件系统还需要对应的工具。
注: 文件系统不一定要建立在分区上,也可以直接建立在磁盘上。

文件系统类型:

windows:

fat系列
ntfs

linux:

ext系列
xfs

文件系统创建工具介绍:

mkfs:

创建文件系统。该工具两种使用方法,使用-t指定文件系统的类型,或者mkfs.后指定文件系统的类型。-t :指定创建的文件系统类型-L :指定文件系统的标签

mke2fs:

创建ext系列的文件系统类型。-j-i 数据空间中多少字节创建一个inode-N 指定具体的节点数量 -I inode表项的大小 128-1024 之间但是需要是 128 的整数倍-m 指定预留的管理员使用的空间 。即预留的数据块块计算 

mkswap:

创建swap格式的文件系统,该文件系统用在交换分区上

mkiso:

创建iso光盘映像文件-a或--all:mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中; -A<应用程序id>或-appid<应用程序ID>:指定光盘的应用程序ID; -abstract<摘要文件>:指定摘要文件的文件名; -b<开机映像文件>或-eltorito-boot<开机映像文件>:指定在制作可开机光盘时所需的开机映像文件; -biblio:指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN; -c<开机文件名称>:制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog<开机文件名称>全部内容作成一个文件; -C<盘区编号,盘区编号>:将许多节区合成一个映像文件时,必须使用此参数; -copyright<版权信息文件>:指定版权信息文件的文件名; -d或-omit-period:省略文件后的句号; -D或-disable-deep-relocation:ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能; -f或-follow-links:忽略符号连接; -h:显示帮助; -hide<目录或文件名>:使指定的目录或文件在ISO 9660或Rock RidgeExtensions的系统中隐藏; -hide-joliet<目录或文件名>:使指定的目录或文件在Joliet系统中隐藏; -J或-joliet:使用Joliet格式的目录与文件名称; -l或-full-iso9660-filenames:使用ISO 9660 32字符长度的文件名; -L或-allow-leading-dots:允许文件名的第一个字符为句号; -log-file<记录文件>:在执行过程中若有错误信息,预设会显示在屏幕上; -m<目录或文件名>或-exclude<目录或文件名>:指定的目录或文件名将不会房入映像文件中; -M<映像文件>或-prev-session<映像文件>:与指定的映像文件合并; -N或-omit-version-number:省略ISO 9660文件中的版本信息; -o<映像文件>或-output<映像文件>:指定映像文件的名称; -p<数据处理人>或-preparer<数据处理人>:记录光盘的数据处理人; -print-size:显示预估的文件系统大小; -quiet:执行时不显示任何信息; -r或-rational-rock:使用Rock Ridge Extensions,并开放全部文件的读取权限; -R或-rock:使用Rock Ridge Extensions; -sysid<系统ID>:指定光盘的系统ID; -T或-translation-table:建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上; -v或-verbose:执行时显示详细的信息; -V<光盘ID>或-volid<光盘ID>:指定光盘的卷册集ID; -volset-size<光盘总数>:指定卷册集所包含的光盘张数; -volset-seqno<卷册序号>:指定光盘片在卷册集中的编号; -x<目录>:指定的目录将不会放入映像文件中; -z:建立通透性压缩文件的SUSP记录,此记录目前只在Alpha机器上的Linux有效。

tune2fs:

调整保存在文件系统中的可以修改的参数 ,大部分应该是位于超级块中的信息。-c:调整最大加载次数; -C:设置文件系统已经被加载的次数; -e:设置内核代码检测到错误时的行为; -f:强制执行修改,即使发生错误; -i:设置相邻两次文件系统检查的相隔时间; -j:为“ext2”文件系统添加日志功能,将其转换为“ext3”文件系统; -l:显示文件超级块内容; -L:设置文件系统卷标;既修改系统的label  -m:显示文件保留块的百分比; -M:设置文件系统最后被加载到的目录; -o:设置或清除文件系统加载的特性或选项;tune2fs -o has_journal : 开启文件系统的日志功能tune2fs -o acl : 开启文件系统的acl 列表功能-O:设置或清除文件系统的特性或选项; -r:设置文件系统保留块的大小; -T:设置文件系统上次被检查的时间; -u:设置可以使用文件系统保留块的用户; -U:设置文件系统的UUID。

dumpe2fs:

察看分区的超级块信息,以及分组信息-h :只显示文件系统的超级块信息,不显示分组信息。    超级块 位于硬盘分组的0 1 3 5 7 及357的2次幂分组。 

e2label:

设置文件系统的卷标,格式 e2label 被设置的文件系统对应的设备名称  标签的名称 。