Linux文件系统(文件系统类型、设备文件、常用命令、U盘与光盘挂载)
本篇文章是Linux文件系统整块集合,包含了Linux文件系统介绍、设备文件介绍、常用文件系统命令(查看、修复与配置)、挂载等相关内容,并附代码样例
1.Linux支持的文件系统
部分文件系统可能由于较为早期且出现替代产品,可能不受部分系统支持
ext2
ext2是ext文件系统的升级版,RedHat 7.2版以前的系统默认ext2系统。最大支持16TB的分区和最大2TB的文件
ext3
是ext2文件系统的升级版,带有日志功能,提高系统突然中止时文件系统的可靠性
ext4
是ext3文件系统的升级版,最大支持1EB分区和16TB文件,向下兼容ext3,无限数量子目录、Extents连续数据块(数据库)、多块分配、延迟分配、持久预分配、快速FSCK、日志校验、无日志模式、在线碎片整理、inode增强、默认启用barrier等。是CentOS 6.3的默认文件系统。(1EB=1024PB=1024^2TB)
FAT(FAT16)
较为早期的FAT(File Allocation Table文件分配表)文件系统,使用16位数据表示扇区配置文件,最高支持2GB分区
VFAT(FAT32)
FAT16文件系统的升级版,最大能支持32GB分区,单个文件最大支持4GB,稳定性较好,但安全性较差
exFAT(FAT64)
拓展文件分配表,适用于闪存等移动存储介质,目前最大支持128PB分区、理论最大支持16EB文件,较新的Linux以及macOS系统支持。非日志文件系统,系统中止可能发生文件丢失
iso9660
光盘的文件系统,标准通用化,在Windows、Linux、macOS下都可使用
注意,Linux和从UNIX发展而来的macOS默认都不支持微软的NTFS文件系统,格式化移动存储介质时需要注意避开
2.Linux的分区系统
- 主分区:可包含操作系统启动所必须的文件,计算机必须要有一个主分区才能安装系统,主分区直接看作逻辑硬盘,可以在其中写入文件,但不能在其中分区。
- 扩展分区:仅作为一个分区数据表(链),可通过扩展分区查找到各个逻辑分区,其中不能存放数据文件,必须继续分区为逻辑分区才能使用。
- 逻辑分区:由扩展分区中划分,该分区中可以直接写入数据,可用于存储文件及数据。
Linux的主分区加扩展分区最多有四个,Linux对IDE硬盘最多支持59个逻辑分区,对SCSI硬盘最多支持11个分区
3.Linux的设备文件
Linux的设备文件都存放在/dev/
目录中,设备接入时根据设备类型以及命名方式自动为设备分配设备文件名。
硬盘分区的设备文件名
硬盘分区的设备文件名在初始硬盘分区时就已确定,一般遵循以下命名规则:
分区类型 | 设备文件名 |
---|---|
主分区1~3 | /dev/sda1~3 |
扩展分区 | 在主分区编号后一位 (若有2个主分区则其为sda3,有三个则为sda4 |
逻辑分区 | /dev/sda5~ |
设备文件名数字前的字母表示物理硬盘编号,sd
表示硬盘,a
表示第一块硬盘,如有其他硬盘则编号为sdb
sdc
等
其他设备的设备文件名
- 光盘: cdrom 或 sr,一般cdrom是sr设备文件的软链接
- 软盘:fd
- U盘:一般与硬盘识别相同,也为sd,编号按现有硬盘排序计算
4.文件系统常用命令
df查看文件系统
df [options] [filename]
# 选项名称 设备文件名
options | description |
---|---|
-a | 显示所有的文件系统信息 |
-h | 习惯单位显示容量(默认用块数量1k) |
-T | 增加显示文件系统类型 |
filename参数省略则查看所有文件系统
返回结果(-hT)
文件系统 类型 容量 已用 可用 已用% 挂载点
udev devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 392M 1.1M 391M 1% /run
/dev/sda5 ext4 26G 9.0G 15G 38% /
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sda1 ext4 547M 141M 366M 28% /boot
tmpfs tmpfs 392M 8.0K 392M 1% /run/user/1000
可以看到,除去系统临时产生的文件系统,手动设置挂载的有两个,主分区sda1
挂载在/boot/
下存放系统启动文件,扩展分区sda
挂载在根目录/
下用于存放其他文件
dumpe2fs 查看文件系统的超级块和块组信息(磁盘状态)
dumpe2fs [options] filename
# 选项 设备文件名
options | description |
---|---|
-h | 仅显示超级块信息 |
- 注意filename参数只能为设备文件名,而不是挂载点,文件系统的设备文件名用df查看
- 一般只使用
-h
选项,只查看超级块信息,返回值较长,以下筛选出几条
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum #文件系统特性,表示文件系统支持的功能以及特性
Default mount options: user_xattr acl #默认挂载选项,在下面的mount命令中可以设置
Block size: 4096 #分区中的文件块大小(文件存储最小单位)
Mount count: 24 #该文件系统的挂载次数
5. Linux 文件挂载
不同于Windows的自动装载设, 一般Linux系统的外接存储设备在连接后无法直接使用,而需要挂载。相当于Windows系统中为驱动器分配盘符后才能使用,Linux系统的存储设备需要挂载在一个空目录(挂载点)下才能使用,Linux常用挂载命令为mount
mount查询和自动挂载
mount [options]
options | description |
---|---|
-l | 查询已挂载设备,显示卷标名称 |
-a | 根据配置文件 /etc/fstab 的内容自动挂载 |
配置文件/etc/fstab
中描述了自动挂载的文件系统,系统开机时会根据其内容进行一次自动挂载
mount手动挂载
mount [-t filesystem type] [-L Volume Label] [-o option list] <device> <directory>
# 文件系统类型 卷标(无用可略) 特殊选项 设备文件名 挂载点(目录)
特殊选项 | 说明 |
---|---|
async / sync | 以异步/同步方式挂载 |
atime / noatime | 更新/不更新文件节点的访问时间 |
ro / rw | 以只读(Read Only) / 读写(Read - Write)方式挂载 |
remount | 重新挂载 |
exec / noexec | 在文件系统层面禁止可执行文件的执行(即使root也没有权限) |
取消挂载
umount <filename> #这里的Filename使用设备文件名或是挂载点均可
注意事项
- 在挂载前需要先创建挂载点目录,目录需为空,一般地,挂载目录放在
/mnt/
下(更新系统在/media/
下)。目录挂载点随意设置,只要是空目录即可,以上仅为常规性建议 - 特殊选项一般不需要指定,默认即可。一般只需要remount选项用于重新挂载
- 挂载命令一般只能由root使用,普通用户要加sudo
挂载光盘与U盘实际应用
挂载光盘
mount -t iso9660 /dev/cdrom /mnt/cdrom/
# 光盘文件系统 光盘的设备文件名(可能不同) 光盘的挂载点(可自己更换)
挂载U盘
- 挂载U盘时,将U盘插入电脑,如果为VMware会弹出对话框选择将U盘连接至电脑/虚拟机,这里选虚拟机,并选择要挂载的虚拟机名称。
- 使用fdisk -l命令查看新加入的U盘设备文件名(实际是磁盘分区表),一般为sd,以
/dev/sdb1
为例 - 注意查看U盘分区的文件系统,Linux默认不支持NTFS文件系统,一般为exFAT文件系统
- 挂载U盘,语法同挂载光盘
mount -t <filesystem type> /dev/sdb1 /mnt/usb1/
#文件系统类型见第2步,FAT16为fat,FAT32为vfat
如果觉得本文对您有帮助,请点赞收藏,谢谢!