CentOS下ext4、vfat文件系统创建、修改

(接上文:CentOS磁盘和分区简介)

1,磁盘分区之后并不能直接使用,需要在分区上创建文件系统并挂载;

2,查看系统能够支持的文件系统类型:cat /etc/filesystems

3,挂载
设备或文件系统,挂载的目标位置,称为挂载点(mount point)
  挂载使用mount命令,设备、挂载点 两者都需要指明
  卸载使用umount命令,设备、挂载点 两者只需要指明其一

Note:挂载完成后,挂载点下原有的文件就会被隐藏,无法访问,直到卸载。因此,通常使用空目录作为挂载点


一,ext4文件系统管理

CentOS文件系统管理工具一览:
  创建文件系统的工具
    mkfs系列:mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ...
      ext系列文件系统专用工具mke2fs
    检测及修复文件系统的工具
      fsck系列:fsck.ext2, fsck.ext3, ...
    查看其属性的工具
      dumpe2fs, tune2fs
    调整文件系统特性:
      tune2fs

1,创建ext4文件系统

CentOS的文件系统创建工具 mkfs.fstype

[root@localhost ~]# mkfs    #双击tab可以看到具体工具名称
mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.fat     mkfs.minix   mkfs.msdos   mkfs.vfat    mkfs.xfs 

其中,mkfs是Linux下各种文件系统创建工具(mkfs.fstype)的前端入口,这些工具都以mkfs.开头,后面是该工具管理的文件系统类型(fstype)。

  1. ext系列文件系统的创建工具有mkfs.ext2mkfs.ext3mkfs.ext4
  2. fat系列文件系统的创建工具有mkfs.fatmkfs.vfat
    这两个本质上是同一个工具,区别在于vfat支持长文件名,fat不支持
    使用man mkfs.vfat会跳转到mkfs.fat的说明文档;
  3. 管理特定文件系统的工具,比如mkfs.btrfsmkfs.xfs等等。

实际上,ext系列文件系统真正常用的工具是mke2fs,其语法及常用选项如下:

mke2fs [OPTIONS] device
  -t {ext2|ext3|ext4}:指明要创建的文件系统类型,以下几个命令是等效的
    mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4
  -b {1024|2048|4096}:指明文件系统的块大小(blocksize);只能是1K,2K,4K,默认4096(4K);
  -L LABEL:指明卷标;
  -j:创建有日志功能的文件系统ext3;
mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3
  -i bytes-per-inode:指明inode与字节的比率,即每多少字节创建一个Inode;
  -N number-of-inodes:直接指明要在此文件系统创建的inode的数量;i和N选项不能同时用;
  -m percent:指定系统为root预留的管理空间(percent可以是1-99的数字,不带%),默认5%;
  -O [^|-]FEATURE:在默认特性基础上增减指定特性;

用法举例:mke2fs -t ext4 -L 'test' -b 4096 -i 4096 -m 8 /dev/sdb1

[root@localhost ~]# mke2fs -t ext4 -L 'test' -b 4096 -i 4096 -m 8 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=test
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 1310464 blocks
104837 blocks (8.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
32768 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
[root@localhost ~]# 

-O选项简单说明:

  • [^]FEATURE:FEATURE前有^表示减少该特性,没有^表示增加该特性。
  • 默认特性有两种方式指定:
     1,在/etc/mke2fs.conf配置文件中的[defaults]部分指定;
     2,同时使用-T选项指定文件类型,在/etc/mke2fs.conf配置文件中对应类型的[fs_types]部分指定;
  • FEATURE的具体选项可以参见man 5 ext4

易混淆选项辨析:

  • -i bytes-per-inode:bytes-per-inode是一个指定的值,该选项用于指定磁盘分区的bytes/inode的比率;
    基于磁盘分区的空间,每bytes-per-inode个bytes的空间就分配一个inode节点;
    bytes-per-inode的值不能小于blocksize值(blocksize的值只能是1024或2048或4096,所以该值最小不能小于1024,最大不能大于分区大小),并且一旦创建就无法改变,除非重新创建文件系统。
  • -I inode-size:指定inode的大小,单位为byte;这个size必须是2的N次幂,并且大于等于128byte;

-I选项不常用,但容易与-i选项混淆,因此在这里做简单说明。

更具体的介绍请查看man mke2fs中相应选项的说明

2,检测及修复文件系统工具fsck

[root@localhost ~]# fsck
fsck         fsck.btrfs   fsck.cramfs  fsck.ext2    fsck.ext3    fsck.ext4    fsck.minix   fsck.xfs

因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统,检测和修复建议离线(卸载磁盘或分区)进行;

  • ext系列文件系统的专用工具e2fsck及其常用选项:

e2fsck : check a Linux ext2/ext3/ext4 file system
  e2fsck [OPTIONS] device
    -y:对所有问题自动回答为yes;
    -f:即使文件系统处于clean状态,也要强制进行检测;

举例:e2fsck -y /dev/sdb1

  • fsck工具语法及其常用选项:

fsck:check and repair a Linux file system
  fsck [-t fstype] [options] [device]
    -t fstype:指明文件系统类型;
      fsck -t ext4 = fsck.ext4
    -a:无须交互,自动修复所有错误;
    -r:交互式修复;
    -f:强制检测

举例:fsck -t ext4 -a /dev/sdb1 #自动修复/dev/sdb1

3,查看ext4文件系统属性

3.1 显示ext系列文件系统的属性信息: dumpe2fs
  dumpe2fs [-options] device
    -h:只显示设备上的超级块信息,否则还会显示块组信息

3.2 显示或修改ext系列文件系统的Label信息:e2label
  查看Label:e2label device
  设定Label:e2label device LABEL
举例:

[root@localhost ~]# e2label /dev/sdb1
test
[root@localhost ~]# e2label /dev/sdb1 'test dev' 
[root@localhost ~]# e2label /dev/sdb1
test dev

3.3 查看(也能修改)ext系列文件系统数据信息:tune2fs

举例:tune2fs -l /dev/sdb1

4,修改ext系列文件系统信息:tune2fs

注意:块大小创建后不可修改;

tune2fs命令及其常用选项:

tune2fs命令:查看或修改ext系列文件系统的某些属性 
    adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems;
                
    tune2fs [OPTIONS] device
        -l:查看超级块的内容;
                    
        修改指定文件系统的属性:
            -j:ext2 --> ext3;
            -L Label:修改卷标;
            -m #:调整预留空间百分比;
            -O [^]FEATHER:开启或关闭某种特性;
                        
            -o [^]mount_options:开启或关闭某种默认挂载选项,如-o acl,-o ^acl

二,fat文件系统

如果我们希望一个存储设备(比如优盘)不需要重新创建文件系统,就能同时在Windows或Linux系统下使用,那么这时在优盘上创建vfat类型的文件系统就能满足需求。

fat和vfat
fat和vfat基本一致,区别在于vfat支持长文件名,而fat不支持。
此外,Linux将fat/vfat/fat32文件系统都统一用vfat表示,

1,安装fat文件系统管理工具

vfat文件系统是CentOS原生支持的,但是fat文件系统的管理工具mkfs.vfat,mkfs.fat却未必开始就安装,比如我最小安装的CentOS 7就没有。

[root@localhost ~]# mkfs    #双击tab查看是否安装,或者用rpm、yum等管理工具查看
mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.minix   mkfs.xfs 

因此,首先要解决两个问题,
1.1,安装哪个包可以提供需要的管理工具?

[root@localhost ~]# yum provides mkfs.vfat
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.yun-idc.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com
dosfstools-3.0.20-10.el7.x86_64 : Utilities for making and checking MS-DOS FAT filesystems on Linux
源    :base
匹配来源:
文件名    :/usr/sbin/mkfs.vfat

通过yum可知,当前版本提供mkfs.vfat工具的是dosfstools-3.0.20-10.el7.x86_64这个包。

1.2,安装dosfstools-3.0.20-10.el7.x86_64包
yum install dosfstools -y

2,使用管理工具mkfs.fatmkfs.vfat

mkfs.vfat命令的用法
  mkfs.vfat [-options] device
    
其中一个比较重要的选项是 -F FAT-size,在命令的man手册中是这样介绍的:
Specifies the type of file allocation tables used (12, 16 or 32 bit). If nothing is specified, mkfs.fat will automatically select between 12, 16 and 32 bit, whatever fits better for the filesystem size.

简单渣翻:该选项用于指定文件分配表的类型(12,16或32 bit,即fat12,fat16或fat32)。如果没有指定,mkfs.fat将根据文件系统的大小,在12、16或32 bit中自动选择更合适的。

也就是说,如果这里指定-F选项如-F 32,创建的文件系统就是fat32,如果不指定,mkfs.vfat工具将自动选择文件类型,创建的不一定是fat32的文件系统。所以为了保险起见还是指定该选项比较好。

你可能感兴趣的:(CentOS下ext4、vfat文件系统创建、修改)