第九章:文件系统管理

本文详细介绍了Linux系统中的文件系统管理,包括分区类型和命名规则,如主分区、扩展分区和逻辑分区的示例。解释了格式化的概念,将分区比作打隔断。此外,还探讨了文件系统常用命令如df、du、fsck、dumpe2fs的使用,以及如何挂载光盘和U盘。特别提到了如何使用fdisk进行分区,以及通过编辑fstab文件实现分区的自动挂载。最后讨论了分配swap分区的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述
这里写图片描述

=========================================================

9.1 回顾分区和文件系统
9.1.1 分区类型:三种分区类型
这里写图片描述

9.1.2 分区命名的规则:1-4只能是主分区或扩展分区,逻辑分区最少为5,一次递增
例1:三个主分区,一个扩展分区,三个逻辑分区
这里写图片描述
这里写图片描述
例2:一个主分区,一个扩展分区,三个逻辑分区
这里写图片描述
这里写图片描述
9.1.3 文件系统
什么是格式化?
分区是把大柜子打成小柜子;
格式化是把小柜子打成一个一个的隔断。隔断的大小是block size。
这里写图片描述
这里写图片描述
这里写图片描述
=========================================================
9.2 文件系统管理-文件系统常用命令
9.2.1 -df、du、fsck、dumpe2fs

1. df 选项    //显示分区的占用状况
    -h 最常用的选项,更直观的显示

这里写图片描述

2.du 选项 目录或文件名     //统计目录或文件的大小
    -h 显示
    -s 显示目录或文件的总大小

这里写图片描述

Question:用df查看到/目录的分区大小是1.8G,而用du查看到的/目录的分区大小是1.6G,为什么呢?

答案:
du只统计文件的大小;df不但统计文件的大小,还统计被系统占用的空间。
因此:
    用du看文件大小更准确
    用df看剩余空间更准确

这里写图片描述

3.文件系统修复命令fsck :该命令基本不用
    fsck 选项 分区设备文件名
4.显示磁盘状态的命令dumpe2fs
    dump2fs 分区设备文件名

9.2.2 挂载命令

1.查询与自动挂载
【备用知识】我们知道Linux中所有的可存储设备,包括硬盘、优盘、光盘、软盘都必须挂载之后才能使用;   只不过硬盘的挂载是Linux系统自动执行的;但是优盘、光盘、软盘的挂载必须手动的进行。
    把光盘等设备文件名和盘符联系起来的过程就叫做“挂载”。

mount [-l] 
    查询系统中已经挂在的设备,-l会显示卷标名称
mount [-a]
    依据配置文件/etc/fstab的内容,自动挂载
mount    //后面什么都不加

这里写图片描述

上面的显示结果:
    框出来的是主分区、扩展分区、逻辑分区的挂载点(现有的我们可以操作的挂载点)
    其他没框出来的,有:临时出现的挂载点、内存挂载点

2.挂载命令(作用把设备文件名和挂载点联系起来)
    mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点
解释:
    -t 文件系统:ext3、ext4(硬盘、分区)、iso9660(光驱)等
    -L 卷标名:给卷取别名,可写可不写
    -o 特殊选项:指定额外的特殊选项,下面介绍两个常用的参数remount、exec/noexec:
        remount:如果我对一些参数进行了修改,我不想重启系统使修改后的参数生效,可以直接用-o remount使修改后的参数生效。

下面是-o选项的一些常见参数:
这里写图片描述
例子:-o
这里写图片描述

9.2.3 挂载光盘与U盘

1、挂载光盘
(1mkdir /mnt/cdrom 创建挂载点(盘符),注:只要是空目录就可以作为挂载点。
(2)将光盘放入光驱
(3)mount -t iso9660 /dev/cdrom  /mnt/cdrom  把光盘/dev/cdrom挂载到挂载点/mnt/cdrom 
    注:光盘的设备文件名是固定的,/dev/cdrom或者/dev/sr0
Question:挂在完成后,要想访问挂在后的光盘中的数据,是访问光盘路径/dev/cdrom?还是挂载点路径/mnt/cdrom?呢。
    答:访问挂载点路径才对。
2、卸载光盘
    umount 设备文件名或挂载点
        umount /dev/cdrom  
            或
        umount /mnt/cdrom
挂载U盘与卸载U盘
解释:唯一与挂载光盘不同的是:光盘的设备文件名是固定的,但是U盘的设备文件名是不固定的,
    因此,在挂载U盘之前,要先知道U盘的设备文件名后才能挂载。
1、挂载U盘的步骤:
(1)插入U盘
(2)用fdisk -l命令查看新挂载的U盘的设备文件名
(3)创建挂载点
(4)用mount把U盘设备与挂载点联系起来。
注意:Linux默认情况下是不支持NTFS文件系统的!(NTFS移动硬盘)
2、卸载U盘的步骤:
    umount 设备文件名或者挂载点

9.2.4 支持NTFS文件系统

    Linux与Windows的区别:在Window下,我们经常要下再驱动;但是在Linux中,驱动是在Linux的内核中的,不需要手工安装驱动,再用到某个驱动时,Linux内核会自己搜索到相应的驱动,并进行调用。
    因此,Linux在驱动方面比Windows更加方便。
但是,Linux并不是拥有所有的驱动(以NTFS为例),也需要手动的进行安装。安装的方法:
(1)重新编译Linux内核(此方法不用,得不偿失)
(2)利用第三方软件安装驱动(经常使用)
下载NTFS插件的网站:www.tuxera.com/community/ntfs-3g-download/
安装NTFS
(3)挂载
(4)卸载

=========================================================
9.3 fdisk分区

9.3.1 fdisk命令分区过程

(1)关闭虚拟机,添加一块新的硬盘
虚拟机–>设置–>添加–>硬盘–>……–>添加成功

(2)fdisk -l 查看新硬盘添加成功后被识别成功?
这里写图片描述
答:发现新添加的5G的硬盘的名字为:/dev/sdb

(3)用fdisk /dev/sdb命令对新添加的硬盘进行分区

这里写图片描述

command(m for help):命令下常用的
    p:打印当前分区情况
    n:新建分区
    d:删除分区
    w:分区完成后,保存并退出
按n分别创建以下分区:
    p:主分区
    e:扩展分区
    l:扩展分区
分区完成后:按w,再执行partprobe命令(重新读取分区表信息)

分区完成后,用fdisk -l 命令查看分区情况,见下图:
这里写图片描述

(4)格式化分区 (只有格式化后,才能往硬盘中写入数据!)

注意:扩展分区不能被格式化,只有主分区和逻辑分区才能被格式化!
        因为扩展分区唯一的作用是:在扩展分区的基础上划分出逻辑分区。
命令:
    mkfs -t ext4 /dev/sdb1
    mkfs -t ext4 /dev/sdb5
    mkfs -t ext4 /dev/sdb6

(5)分别给分区创建挂载点,并把分区挂载上。

     创建挂载点                 把分区挂载上
    mkdir /disk1        mount /dev/sdb1 /disk1
    mkdir /disk5        mount /dev/sdb5 /disk5
    mkdir /disk6        mount /dev/sdb6 /disk6
此时,
    用mount查看挂载情况。

注解:上面用命令执行分区完成后,重启Linux系统后,发现新增加的5G的分区没了,是一次性的,要想使分区永久保存,看下一小节!
=========================================================
9.3.2 分区自动挂载与fstab文件修复

Q:怎么实现开机后的自动挂载呢?
答:实际上是写入/etc/fstab的配置文件。

(1)用 vim /etc/fstab命令打开配置文件,查看文件中的内容,如下图所示:
这里写图片描述

可以看到,有6个字段,下面介绍每一个字段的含义:
其中:
    查看UUID的命令: dumpe2fs 设备文件名
    default:表示在挂载时使用默认权限
    只有是分区才有备份目录lost+found

这里写图片描述
(2)写入/etc/fstab配置文件,可以自动挂载

形如:
    /dev/sdb1  /disk1  ext4  default  1  2
    /dev/sdb5  /disk5  ext4  default  1  2
    /dev/sdb6  /disk6  ext4  default  1  2
注:前提是在根目录/下必须有disk1、disk5、disk6目录,否则的话系统会崩溃!
    为了防止没有上面三个目录出现开机重启后系统崩溃,我们可以执行下面的命令:
    mount -a       //依据配置文件/etc/fstab的内容进行自动挂载
【解释】如果此时系统中没有/disk1目录,则运行此命令会报错,不至于引起系统崩溃;如果此命令运行成功,此时我们可以重启Linux系统,重启后系统就会自动挂载我们在/etc/fstab写入的内容。

但是人不是万能的,在操作的时候,如果确实写入/etc/fstab文件时写入设备文件名或者挂载点错误,我们应该怎么办? 下面就引出——/etc/fstab文件修复

1)mount -o remount,rw/    重新挂载/分区为rw权限
(2)vim /etc/fstab          用vim进入配置文件,将配置文件的内容修改正确
(3)reboot     修改完成后,重启系统
    注:上面这种/etc/fstab文件修复是有局限性的,因为如果根分区/的设备文件名如果写错,此方法没法进行,系统就确实是崩溃了!

=========================================================
9.4 分配swap分区

    注解:再分配分区的时候,我们知道必须分配swap分区,如果在系统进行使用的时候,发现swap分区不够大,我们是否能增加swap分区的大小呢?答案是肯定的!如果有多余的硬盘,可以分出来给swap分区使用。
(1)free  查询内存与swap分区的使用情况
选项:
    -m   用单位M输出结果

这里写图片描述
这里写图片描述

2)新建swap分区  fdisk /dev/sdb     假设linux有一块硬盘/dev/sdb  
执行:fdisk /dev/sdb,进入分区过程
按n:新建一个逻辑分区l,新建完成后
按t:把分区ID改成82,改完后,此时变成了逻辑分区
    此时,新建的逻辑分区成功,还要进行下面的操作
执行partprobe命令,重新读入分区表
重启linux,出现/dev/sdb6新的swap分区

(3)格式化分区  
    mkswap /dev/sdb6  
(4)
    将分区加入swap分区  swapon  /dev/sdb6
    将分区取消swap分区  swapoff /dev/sdb6  
(5)free -m    查看增加的swap,发现swap增大了!此时分区成功
结束!  
注:这样分区是一次性的,如果想永久生效,必须写入/etc/fstab配置文件!见下图:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值