linux文件系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件系统相关的知识,希望对你有一定的参考价值。

 文件系统

文件系统分类

根据其是否支持"journal"功能:日志型文件系统: ext3, ext4, xfs, ...

非日志型文件系统: ext2, vfat

文件系统的组成部分:

内核中的模块:ext4, xfs, vfat

用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

Linux的虚拟文件系统:VFS

查前支持的文件系统:cat /proc/filesystems


创建文件系统

mkfs

命令用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。

        #文件系统创建命令#

技术分享

mkfs (选项)  (参数)

选项:

fs:  指定建立文件系统时的参数;

-t  <文件系统类型>:      指定要建立何种文件系统;

-v:  显示版本信息与详细的使用方法;

-V: 显示简要的使用方法;

-c: 在制做档案系统前,检查该partition是否有坏轨

(1) # mkfs.FS_TYPE /dev/DEVICE

                      ext4

                      xfs

                      btrfs

                      vfat

(2) # mkfs  -t   FS_TYPE   /dev/DEVICE

     # mkfs -t   FS_TYPE    -L    ‘LABEL‘      /dev/DEVICE

                                                设定卷标

示例:

一、 创建一个 XFS 文件系统(如果 XFS 格式化程序发现分区上已有一个文件系统,那么它将会通知您。还要注意的一点是,XFS 格式重新指定了 UUID)

mkfs  -t  xfs  -i  size=512  /dev/sda5

技术分享


二、创建一个ext4分区

mkfs -t ext4 -L IAN-USB32 /dev/sdc1

(使用 mkfs 的 -L 选项为分区贴上标签,然后使用 blkid 命令显示 GUID)

技术分享


创建ext文件系统

mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

mke2fs

mke2fs:ext系列文件系统专用管理工具,被用于创建磁盘分区的“etc2/etc3”文件系统。

命令参数:

1、-t   {ext2|ext3|ext4}  指定文件类型

【mke2fs   -t   ext4   /dev/sdb5】

技术分享


2、-b   {1024|2048|4096}   指定块大小

【mke2fs -t ext4 -b 8192   /dev/sdb6 】

【指定块大小为8192会提示,块值设置太大了,我们直接输入 ‘y’ 强制格式化,你还可以尝试指定更大的数字。】

技术分享


3、-L ‘LABEL‘    设定卷标

技术分享

4、-j: 相当于 -t ext3

技术分享

-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大            小

-N #:指定分区中创建多少个inode

-I 一个inode记录占用的磁盘空间大小,128---4096

-m #: 默认5%,为管理人员预留空间占总空间的百分比

-O FEATURE[,...]:启用指定特性

-O ^FEATURE:关闭指定特性,

设备文件:指定要创建的文件系统的分区设备文件名;

块数:指定要创建的文件系统的磁盘块数量。

文件系统标签

指向设备的另一种方法与设备无关

blkid 块设备属性信息查看

blkid [OPTION]... [DEVICE]

技术分享

-U UUID: 根据指定的UUID来查找对应的设备

-L LABEL:根据指定的LABEL来查找对应的设备

e2label:管理ext系列文件系统的LABEL

# e2label DEVICE [LABEL]

技术分享

findfs

findfs :查找分区

findfs [options] LABEL=<label> 根据卷标查询文件系统

findfs [options] UUID=<uuid>根据UUID查询文件系统


tune2fs

tune2fs:重新设定ext系列文件系统可调整参数的值

-l:     查看指定文件系统超级块信息;super block( 超级块对于一个独立的文件系 统。保存文件系统的类型、大小、状态等)

技术分享

-L ‘LABEL‘:修改卷标

-m #:修预留给管理员的空间百分比

-j: 将ext2升级为ext3

技术分享

-O: 文件系统属性启用或禁用, –O ^has_journal

-o: 调整文件系统的默认挂载选项,–o ^acl

-U UUID: 修改UUID号

例子:-U 的参数如果为 clear 表示清除档案系统的 UUID

技术分享

更改设备为指定的uuid

技术分享

-U 的参数如果为 random 表示直接产生一个随意的新 UUID:

技术分享

-U 的参数如果为 time 表示直接依当前时间产生一个新的 UUID:

技术分享

设置强制检查前文件系统可以挂载的次数

tune2fs -c 30 /dev/hda1

关闭强制检查挂载次数限制

tune2fs -c -l /dev/hda1

10天后检查

tune2fs -i 10 /dev/hda1

1天后检查

tune2fs -i 1d /dev/hda1

3周后检查

tune2fs -i 3w /dev/hda1

半年后检查

tune2fs -i 6m /dev/hda1

禁用时间检查

tune2fs -i 0 /dev/hda1

调整/dev/hda1分区的保留空间为40000个磁盘块

tune2fs -r 40000 /dev/hda1

调整/dev/hda1分区的保留空间为10%

tune2fs -m 10 /dev/hda1

设置/dev/hda1挂载选项,启用Posix Access Control Lists和用户指定的扩展属性

tune2fs -o acl,user_xattr /dev/hda1

开机取消自检

tune2fs -l /dev/sdb1 | grep -E ‘Maximum mount count:|Check interval‘

tune2fs -i 0 -c 0 /dev/sdb1


 dumpe2fs:查看文件系统信息:superblock信息及block group信息

-h: 不显示block group而只显示superblock 与tune2fs -l一致

          dumpe2fs -h = tune2fs -l


   文件系统检测和修复

条件:

1)常发生于死机或者非正常关机之后

2) 挂载为文件系统标记为“no clean”

注意:一定不要在挂载状态下修复

fsck: File System Check

         fsck.FS_TYPE

         fsck -t FS_TYPE

-p: 自动修复错误

-r: 交互式修复错误

FS_TYPE一定要与分区上已经文件类型相同

   e2fsck:ext系列文件专用的检测修复工具

-y:自动回答为yes

-f:强制修复


以上是关于linux文件系统的主要内容,如果未能解决你的问题,请参考以下文章

Linux 文件系统管理

linux文件系统类型

linux系统中对文件系统的原理进行分析

Linux文件系统操作命令

linux kernel 文件系统编程接口

linux下啥文件系统支持超个4G的单个(重点)文件?