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

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.显示磁盘状态的命令dumpe2fsdump2fs 分区设备文件名

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、挂载光盘
(1)mkdir /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/sdb1mkfs -t ext4 /dev/sdb5mkfs -t ext4 /dev/sdb6

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

     创建挂载点                 把分区挂载上mkdir /disk1        mount /dev/sdb1 /disk1mkdir /disk5        mount /dev/sdb5 /disk5mkdir /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配置文件!见下图:

第九章:文件系统管理相关推荐

  1. 第九章 文件处理(IO) ② 代码

    第九章 文件处理IO 代码 1.课前测试 2.异常捕获 try{}-catch{} 3.创建目录/文件 File 文件的基本操作 4.获取目录所有子文件名/子级文件对象数组 5.遍历目录下的文件 6. ...

  2. mount: 未知的文件系统类型“vboxsf”_第六章--文件系统管理

    linux文件系统管理,本文主要是讲述linux6.5版本的文件系统,具体和7版本的linux相差不大,原理都是一样的,大家可以借鉴这对比对比. 安全接入硬盘步骤:关机--接入硬盘--开机 磁盘空间达 ...

  3. python - 啃书 第九章 文件访问

    概述 计算机文件是存储在外部存储器上的数据集合.通常计算机处理的大量数据都是以文件的形式组织存放的,操作系统也是以文件为单位对数据进行管理的. 每个文件都有一个文件名,文件名由基本名和扩展名组成,不同 ...

  4. corepython第九章:文件和输入输出

    学习笔记: OS模块代码示例: 1 import os 2 for tmpdir in ('/tmp',r'c:\users\administrator\desktop'): 3 #如果存在括号里面的 ...

  5. Python核心编程(第九章)--文件和输入输出

    文件内建函数: open()函数提供了初始化输入/输出操作的通用接口 open()基本语法:file_object = open(filename,access_mode='r',buffering= ...

  6. c语言第9章实验报告,《经典规范C语言程序设计》实验报告(第九章)文件程序设计.doc...

    <经典规范C语言程序设计>实验报告(第九章)文件程序设计 <高级语言程序设计>实验报告 班级: 学号: 姓名: 成绩: 实验日期: 年 月 日 实验题目: 实验九 文件程序设计 ...

  7. 鸟哥的Linux私房菜(基础篇)- 第十五章、磁碟配额(Quota)与进阶文件系统管理

    第十五章.磁碟配额(Quota)与进阶文件系统管理 最近升级日期:2009/09/10 如果您的 Linux 服务器有多个用户经常存取数据时,为了维护所有使用者在硬盘容量的公平使用,磁碟配额 (Quo ...

  8. 鸟哥的Linux私房菜-第七章、Linux 磁盘与文件系统管理

    第七章.Linux 磁盘与文件系统管理 前言 一.认识 Linux 文件系统 1.文件系统特性 2.Linux 的 EXT2 文件系统 (1)data block (数据区块) (2)inode ta ...

  9. 鸟哥的Linux私房菜(基础篇)- 第九章、文件与文件系统的压缩与打包

    第九章.文件与文件系统的压缩与打包 最近升级日期:2009/08/20 在 Linux 底下有相当多的压缩命令可以运行喔!这些压缩命令可以让我们更方便从网络上面下载大型的文件呢!此外,我们知道在 Li ...

最新文章

  1. asp.net core mvc上传大文件解决方案
  2. 进阶学习(3.3) Abstract Factory Pattern 抽象工厂模式
  3. MyBatis中提示:元素类型为 mapper 的内容必须匹配 (cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|de
  4. QT中关于窗口全屏显示与退出全屏的实现
  5. Popupwin结合Timer实现定时弹出消息提示
  6. linux搜索关键字并定位,Linux系统中文件定位与查找(示例代码)
  7. 前端笔记-CSS布局使得网页分成3部(头,内容,脚)
  8. python中浮点数类型_Python基本数据类型之浮点型
  9. 使用Vivado保存仿真波形数据并读取
  10. Airflow 中文文档:设置配置选项
  11. python程序设计应用教程pdf_python程序设计教程
  12. 史上最全 IT 类学习资源
  13. Android动画总结
  14. six MySQL 主主
  15. 电气转行嵌入式还是java_19 届 985 毕业生想从电气行业转行到 IT 行业,你们怎么看?...
  16. python-合并两个列表并去重
  17. Spring分析之IOC原理
  18. ffmpeg webm 提取_ffmpeg简单使用教程 转码、压制、提取、截取、合并、录屏等
  19. Codeforces 786A Berzerk(博弈论)
  20. 2017-2018-2 20179204《网络攻防实践》第二周学习总结

热门文章

  1. 一种集各种优点于一身的技术面试方式--转
  2. solr源码分析之数据导入DataImporter追溯。
  3. Getting started with Apache Camel--转载
  4. 探索 ConcurrentHashMap 高并发性的实现机制--转
  5. 【大佬漫谈】数字科技驱动的信贷风险技术——乔杨
  6. 【大数据-Hadoop】Hadoop架构
  7. 【采用】如何搭建反欺诈策略与模型
  8. 天通苑海鲜餐馆数据调查,很难想象消费越贵越受欢迎
  9. Java Review - Java进程内部的消息中间件_Event Bus设计模式
  10. Spring4.X系列之AOP-@AspectJ