文件系统介绍:
在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 被设置的文件系统对应的设备名称 标签的名称 。