创建文件系统

在设备或者硬盘分区上构建 Linux 文件系统的命令是 mkfs。
命令的语法是:

# mkfs [options] device

mkfs 命令实际上是不同文件系统构建器实用程序(例如 mkfs.ext2 和 mkfs.ext4)的前端。
这些实用程序可直接从命令行执行。
使用 mkfs 包装器时,包括 -t fstype 选项以指定要构建的文件系统的类型。
如果未指定,则创建默认文件系统类型 ext2.

要查看安装了哪些受支持的文件系统类型,请使用 ls /sbin/mkfs* 命令:

# ls -lrt /sbin/mkfs*
-rwxr-xr-x. 1 root root  28624 Jun 10  2014 /sbin/mkfs.fat
lrwxrwxrwx. 1 root root      8 Jan  7  2015 /sbin/mkfs.msdos -> mkfs.fat
lrwxrwxrwx. 1 root root      8 Jan  7  2015 /sbin/mkfs.vfat -> mkfs.fat
-rwxr-xr-x. 4 root root  96296 Aug  3  2017 /sbin/mkfs.ext4
-rwxr-xr-x. 4 root root  96296 Aug  3  2017 /sbin/mkfs.ext3
-rwxr-xr-x. 4 root root  96296 Aug  3  2017 /sbin/mkfs.ext2
-rwxr-xr-x. 1 root root 368464 Aug  4  2017 /sbin/mkfs.xfs
-rwxr-xr-x. 1 root root 375240 Aug  6  2017 /sbin/mkfs.btrfs
-rwxr-xr-x. 1 root root  37104 Dec  1 23:28 /sbin/mkfs.minix
-rwxr-xr-x. 1 root root  36984 Dec  1 23:28 /sbin/mkfs.cramfs
-rwxr-xr-x. 1 root root  11520 Dec  1 23:28 /sbin/mkfs

mkdosfs、mkfs.msdos 和 mkfs.vfat 文件是指向 mkfs.fat 的符号链接。

使用 mkfs

使用 mkfs 命令时创建的默认文件系统类型是 ext2.
如前所述,mkfs 是一个调用其他文件系统构建实用程序的包装器。
因此,以下任何命令都会在指定设备上创建 ext2 文件系统:

# mkfs /dev/xvdd1
# mke2fs /dev/xvdd1
# mkfs.ext2 /dev/xvdd1

要创建 ext3 文件系统,请使用以下任一命令:

# mkfs -t ext3 /dev/xvdd1 
# mke2fs -t ext3 /dev/xvdd1 
# mkfs.ext3 /dev/xvdd1

要创建 ext4 文件系统,请使用以下任一命令:

# mkfs -t ext4 /dev/xvdd1 
# mke2fs -t ext4 /dev/xvdd1 
# mkfs.ext4 /dev/xvdd1

文件系统类型

创建文件系统会将信息写入设备并创建空白空间的顺序。
这种与文件系统相关的数据只占用一小部分空间。
磁盘驱动器上的剩余空间被分成小的、大小一致的段,称为块。
Linux 支持多种文件系统类型,其中一些描述如下。

文件系统描述
ext2适用于固定磁盘和可移动媒体的高性能
ext3ext2的日志版本
ext4支持更大的文件和文件系统大小
vfatMS-DOS 文件系统在 Windows 和 Linux 之间共享文件时很有用
XFS高性能日志文件系统
Btrfs满足大型存储系统的可扩展性要求
如何在 Linux 中创建和挂载文件系统

/etc/fstab 文件

/etc/fstab 文件称为文件系统挂载表,其中包含 mount 命令挂载设备所需的所有信息。
添加新文件系统时,在 /etc/fstab 中创建适当的条目以确保文件系统在引导时挂载。
以下是 /etc/fstab 文件中的条目示例:

# cat /etc/fstab 
LABEL=centos_root		/        ext4      defaults         0 0
devpts     /dev/pts  devpts  gid=5,mode=620   0 0
tmpfs      /dev/shm  tmpfs   defaults         0 0
proc       /proc     proc    defaults         0 0
sysfs      /sys      sysfs   defaults         0 0
UUID=687eb83f-c16f-4fa9-bb49-1621eed3a35d      /test   ext4     defaults         0 0

第一列是要挂载的设备。
应使用 UUID 或者标签名称代替设备名称,因为设备名称可能会更改。
第二列是挂载点,除了交换分区条目。
第三列是文件系统类型。
第四列指定安装选项。
第五列由 dump 命令使用。
数字 1 表示转储文件系统,0 表示不需要转储文件系统。
fsck 程序使用最后一列来确定在重新启动时执行文件系统检查的顺序。
根文件系统的值应指定为 1,其他文件系统的值应指定为 2.
值 0 不检查文件系统。

查看更多教程 https://on  itroad.com

文件系统标签

文件系统构建实用程序的一个有用选项是 -L name 选项。
这会为分区分配一个标签;挂载文件系统时,可以使用此标签代替设备名称。
标签的最大大小限制为 16 个字符。
对于现有的文件系统,e2label 命令用于显示或者设置标签。

文件系统会自动分配一个通用唯一标识符 (UUID)。
挂载文件系统时可以使用 UUID。
要显示 UUID、标签和文件系统类型,请使用 blkid 命令。
以下示例说明如何创建不同的文件系统(带标签和不带标签),并使用 blkid 命令显示信息。
要创建 ext2 文件系统并显示信息,请输入:

# mkfs /dev/xvdf1
# blkid /dev/xvdf1
/dev/xvdf1: UUID="41bae7c3-396a-436d-9764-d27d4ca3f17b" TYPE="ext2"

要创建 ext3 文件系统并显示信息,请输入:

# mkfs -t ext3 /dev/xvdf1
# blkid /dev/xvdf1
/dev/xvdf1: UUID="c8e958f4-e5d0-4404-8a9a-2cea24675fcd" SEC_TYPE="ext2" TYPE="ext3"

要创建 ext4 文件系统、分配标签名称并显示信息,请输入:

# mkfs -t ext4 -L "Test Label" /dev/xvdf1 
# blkid /dev/xvdf1
/dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"

配置文件

许多选项可用于自定义块大小、片段大小、每组块、日志选项、inode 数量和其他参数。
在不包含任何选项的情况下,使用 /etc/mke2fs.conf 配置文件中指定的默认值。

示例 /etc/mke2fs.conf 文件

挂载文件系统

不同分区上的文件系统和可移动设备(例如 CD、DVD 或者 USB 闪存驱动器)必须添加到要访问的目录层次结构。
要添加分区或者设备,必须创建安装点。
挂载点只是一个用 mkdir 命令创建的目录。
创建目录或者挂载点后,使用 mount 命令添加分区。
mount 命令的语法是:

# mount [options] device_file mount_point

以下示例创建一个挂载点 (/test) 并添加分区:

# mkdir /test
# mount /dev/xvdf1 /test

或者,通过引用 UUID 或者标签来挂载分区或者设备。
以下示例使用 blkid 命令显示 UUID 和标签,并通过引用每个分区来挂载分区:

# blkid /dev/xvdf1
/dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"
# mount LABEL="Test Label" /test
# mount UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" /test

不带任何选项的 mount 命令显示所有当前添加的文件系统:

# mount | grep test
/dev/xvdf1 on /test type ext4 (rw,relatime,seclabel,data=ordered)

在本例中,/dev/xvdf1 分区挂载在 /test 上。
文件系统类型为 ext4 并且为读取和写入而挂载。
df 命令还显示挂载的文件系统。
例子:

# df -hP /test
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvdf1      923M  2.4M  857M   1% /test

proc 文件系统中的信息显示已挂载的文件系统。
例子:

# cat /proc/mounts | grep test
/dev/xvdf1 /test ext4 rw,seclabel,relatime,data=ordered 0 0

安装选项

要指定挂载选项,请使用 -o 标志后跟以逗号分隔的选项字符串。
以下是 mount 命令的一些可用选项:

  • auto : 允许使用 mount -a 命令自动挂载文件系统
  • loop :将图像安装为循环设备
  • noauto :禁止使用 mount -a 命令自动挂载文件系统
  • noexec :禁止在文件系统上执行二进制文件
  • nouser :禁止普通用户(root 除外)挂载和卸载文件系统
  • remount :如果文件系统已经被挂载,则重新挂载文件系统
  • ro : 以只读方式挂载文件系统
  • rw : 挂载文件系统进行读写
  • user : 允许普通用户(root 除外)挂载和卸载文件系统

例如,要将 /dev/xvdf1 分区以只读方式挂载在 /test 挂载点上,并且只有 root 用户能够挂载和卸载文件系统,请输入:

# mount -o nouser,ro /dev/xvdf1 /test

要使用循环设备挂载 ISO 镜像(假设 ISO 镜像存在于当前目录中并且挂载点存在),请输入:

# mount -o ro,loop rhel7-x86_64-dvd.iso /media/cdrom

日志挂载选项

ext3 和 ext4 文件系统具有三个日志级别,可以使用 mount 命令或者 /etc/fstab 的选项部分中的 -o 选项进行设置:

  • data=journal :最高级别。写日记最多的人。这将写入所有数据和元数据更改的日志条目。所有数据在写入主文件系统之前都会提交到日志中。
  • data=ordered :默认模式。在将元数据提交到日志之前,所有数据都被直接强制输出到主文件系统。
  • data=writeback :最低级别。不保留数据排序。在将元数据提交到日志后,数据可以写入主文件系统。

卸载文件系统

要卸载文件系统,请使用 umount 命令。
分区名称、设备名称或者安装点用作参数。
例子:

# umount /dev/xvdd1 
# umount /test
日期:2020-09-17 00:14:17 来源:oir作者:oir