Linux 磁盘、分区、文件系统、挂载
磁盘
- Linux所有设备都被抽象成为一个文件,保存在/dev目录下。
- 设备名称一般为hd[a-z]或sd[a-z]。如果电脑中有多硬盘,则设备名依次为sda、adb、sdc...以此类推
- IDE设备的名称为hd[a-z]。SATA、SCSI、SAS、USB等设备的名称称为sd[a-z]。
分区
在Linux中,使用 备名称+分区号 的方式来表示分区,例如:
sda1---第一块硬盘的第一个分区
sda2---第一块硬盘的第二个分区
sdb1---第二块硬盘的第一个分区
。。。。。。

分区是一个软件概念,主流分区机制分文MBR和GPT两种
- MBR是传统的分区机制,应用于绝大多数使用BIOS的PC设备。
1、MBR支持32bit和64bit系统
2、MBR支持分区数量有限,最多只能创建4个主分区,要想创建多个分区,需要占用一个主分区创建一个扩展分区,然后基于扩展分区创建若干个逻辑分区(扩展分区不能用,只能用来创建逻辑分区)(SCSI硬盘最多15个逻辑分区,IDE硬盘最多63个逻辑分区)
3、MBR只支持不超过2T的硬盘,超过2T的硬盘将只能2T
- GTP是一个较新的分区机制,解决了MBR很多缺点
1、支持超过2T的硬盘
2、向后兼容MBR
3、必须在支持UEFI的硬件上才能使用
4、必须使用64bit系统
5、MAC\LINUX系统都能支持GPT分区格式(部分windows系统支持)
fdisk分区
fdisk是一个基于MBR老牌的分区工具,支持几乎所有的Linux的发型版本。
- fdisk命令只有具有超级用户权限才能运行
- 使用fdisk -l可以列出所有安装的磁盘及其分区信息
- 使用fdisk /dev/sd[a-z]可以对目标磁盘进行分区操作
- 分区之后需要使用partprobe命令让内核更新分区信息,否则需要重启才能识别新的分区
- /proc/partitions文件也可以用来查看分区信息

fdisk /dev/sd[a-z]指令
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除一个分区
l list known partition types 列出所有分区类型
m print this menu 列出帮助信息
n add a new partition 添加一个分区
o create a new empty DOS partition table
p print the partition table 列出分区表
q quit without saving changes 不保存,退出
s create a new empty Sun disklabel
t change a partition's system id 改变分区类型
u change display/entry units
v verify the partition table
w write table to disk and exit 把分区表写入硬盘并退出
x extra functionality (experts only)
文件系统
创建分区之后,分区还不可以使用,操作系统必须通过文件系统才能管理文件和数据,磁盘或分区需要创建文件系统之后才能为操作系统使用,创建文件系统的过程被称之为格式化。
- 没有文件系统的设备被成为裸(raw)设备。
- 常见的文件系统有fat32、NTFS、ext2、ext3、ext4、HFS等
- 文件系统之间的区别:日志、支持的分区大小、支持的单个文件大小、性能等等
- windows下主流文件系统是NTFS,Linux下主流文件系统是ext3、ext4
Linux支持的文件系统
ext2 ext3 ext4 fat(msdos) vfat
nfs iso9660 proc gfs jfs ......
创建文件系统:
mke2fs [参数] -t [文件系统类型] 分区
参数:
-b blocksize 指定文件系统块大小
-c 建立文件系统时检查损坏块
-L lable 指定卷标
-j 建立文件系统日志(ext3、ext4默认建立日志)
mkfs也可以用于创建文件系统,支持参数较少,不能进行精细化
mkfs.ext3 /dev/sdb1
mkfs.ext4 /dev/sdb2
mkfs.ext4 /dev/sdb1

查看分区的文件系统的信息
dumpe2fs /dev/sdb5
会列出sdb5分区下文件系统的详细信息
文件系统标签
给分区打上标签方便后期管理
e2label 分区 --- 显示分区标签,如果没有设置过,则显示为空 e2label 分区 标签名 --- 给分区设置标签
检查并修复文件系统
fsck /dev/sda*

fsck -y /dev/sda* 可以遇到错误不提示,直接修复
对于损坏的又修复成功但无法确定位置的文件,fsck会把这些数据放入lost+found目录中
每次启动系统时候会对磁盘进行fsck操作
挂载硬盘
新硬盘分区完并且建立好文件系统之后,还需要挂载到一个目录上才可以使用
Linux需要手动进行挂载操作或者配置/etc/fstab文件来自动挂载
手动挂载
使用命令
mount [参数] 挂载分区 挂载点
常用参数:
-t 指定文件系统的类型
-o 指定挂载选项
挂载选项如图

使用命令
umount 文件系统或者挂载点
来卸载挂载的文件系统
如果在卸载过程中出现device is busy报错,则表示这个文件系统正在被使用,无法卸载
使用命令:
fuser -m /挂载目录
来查看使用文件系统的进程
使用命令
lsof 挂载目录
来查看正在被使用的文件
配置文件自动挂载
编辑/etc/fstab文件可以自动挂载文件系统到指定目录下格式如下

挂载光盘:
建立挂载点
mkdir /mnt/cdrom
挂载光盘
通过命令ll /dev/cdrom可以发现cdrom是链接至sr0的

所以可以使用下面命令挂载光盘
mount -t iso9660 /dev/cdrom /mnt/cdrom
或者
mount -t iso9660 /dev/sr0 /mnt/cdrom
另外-t iso 9660也可以省略,因为系统已经默认光盘文件系统是iso9660
提示“mount: block device /dev/sr0 is write-protected, mounting read-only”,是因为光盘是一旦刻录无法继续写入,所以是只读模式。
此时可以进入/mnt/cdrom查看光盘内容
卸载挂载
umount /mnt/cdrom/
挂载U盘:
建立挂载点
mkdir /mnt/usb
挂载U盘
mount -t vfat /dev/sdb1 /mnt/usb
卸载挂载
umount /mnt/usb
注意:挂载命令中的sdb1是可变的,当计算机中存在两块硬盘时,U盘则为sdc1,三块硬盘,sdd1,以此类推。。。
使用fdisk -l 可查看系统硬盘挂载情况

如果机器中挂载了两块硬盘,一块20G,一块5G,此时再插入U盘,设备文件名则为sdc1
整理自:慕课网(www.imooc.com)网易云课堂(study.163.com)
Linux 磁盘、分区、文件系统、挂载的更多相关文章
- Linux磁盘分区和挂载
Linux磁盘分区和挂载 分区 分区的方式: mbr分区 最多支持4个主分区 系统只能安装到主分区上 扩展分区要占用一个主分区 MBR最大支持2TB,但拥有最好的兼容性 gtp分区 支持无线多个主分区 ...
- Linux 实用指令(7)--Linux 磁盘分区、挂载
目录 Linux 磁盘分区.挂载 1 分区基础知识 1.1 分区的方式: 1.2 windows 下的磁盘分区 2 Linux分区 2.1 原理分析 2.2 磁盘说明 2.3 使用lsblk指令查看当 ...
- Linux磁盘分区、挂载、查看文件大小
快速查看系统文件大小命令 du -ah --max-depth=1 后面可以添加文件目录 ,如果不添加默认当前目录. 下面进入正题~~ 磁盘分区.挂载 引言: ①.分区的方式 a)mbr分区: 最多支 ...
- Linux 磁盘分区和挂载
目录 Linux 磁盘分区和挂载 windows 下的分区 磁盘管理 相关命令 分区及挂载实现步骤 添加硬盘 分区步骤 步骤 挂载步骤 卸载分区步骤 补充: Linux 磁盘分区和挂载 windows ...
- Linux磁盘分区-mount挂载
Linux磁盘分区类型 磁盘存储术语CHS head:磁头 磁头数=盘面数 track:磁道 磁道=柱面数 sector:扇区,512bytes cylinder:柱面 1柱面=512*secto ...
- linux磁盘分区、挂载、查看
实战: 34 查看本机所有磁盘 fdisk -l 35 查看磁盘挂载情况 lsblk -f 36 39: ...
- linux 磁盘分区和挂载看这一篇就够了
Linux fdisk 和 mount 命令操作指南,linux磁盘管理.新增磁盘.挂载新硬盘(linux运维入门) 首先列出文件系统的整体磁盘空间使用情况.可以用来查看磁盘已被使用多少空间和还剩余多 ...
- Linux 磁盘分区、挂载
一.分区介绍 mbr分区: 1.最多支持四个主分区 2.系统只能安装在主分区上 3.扩展分区要占一个主分区 4.mbr最大只支持2TB,但拥有最好的兼容性 gpt分区: 1.支持无限多个主分区(但操作 ...
- shell 脚本实战笔记(4)--linux磁盘分区重新挂载
背景: Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt ...
- Linux磁盘分区,挂载
分区基础知识 分区的方式: 1) mbr分区: 1.最多支持四个主分区 2.系统只能安装在主分区 3.扩展分区要占一个主分区 4.MBR最大只支持2TB,但拥有最好 ...
随机推荐
- Silence Removal and End Point Detection MATLAB Code
转载自:http://ganeshtiwaridotcomdotnp.blogspot.com/2011/08/silence-removal-and-end-point-detection.html ...
- LODOP打印table表格宽度固定-超宽隐藏
之前有博文介绍关于超出div隐藏内容的:LODOP打印超过后隐藏内容样式里面提到了overflow:hidden;控制超出后隐藏,但是前面那篇用的是div,如果是在table中,由于table默认的t ...
- JS根据offsetHeight修改元素的高度
之前的博文: 测试了offsetHeight获取的是页面元素的高度,包裹该元素本身内容的高度,上下padding,上下border.这个获取的但是px,px是相对单位,受电脑分辨率的影响,用LODOP ...
- 内层元素设置position:relative后父元素overflow:hidden overflow:scroll失效 解决方法
内层元素设置position:relative后父元素overflow:hidden overflow:scroll 都失效 解决方法:在position:relative的外层父容器加positio ...
- 【GStreamer开发】GStreamer播放教程08——视频解码的硬件加速
目标 视频的硬件解码近来发展非常快速,尤其是在低功耗的设备上.本教程会讲述一些硬件加速的背景知识并解释一下GStreamer是怎么做的. 悄悄告诉你,如果设置正确地话,我们什么也不用做,GStream ...
- 网络I/O模型
事件驱动模型 与传统编程模式不同,事件驱动程序在启动之后,就在那等待,等待什么呢?等待被事件触发.传统编程下也有“等待”的时候,比如在代码块D中,你定义了一个input(),需要用户输入数据.但这与下 ...
- 与TypeScript的一场美丽邂逅
TypeScript(一)前言:当你点开这篇文章时,我相信你已经在很多地方都已经听说过或者见过TypeScript了.但是可能对TypeScript依然有很多问号:TypeScript到底是什么?为什 ...
- hadoop 集群调优实践总结
调优概述# 几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况. IO受限例子: 索引 ...
- Python3之字符串格式化format函数详解(下)
格式限定符 format通过丰富的的“格式限定符”(语法是 {}中带:号)对需要格式的内容完成更加详细的制定. 进制转换 我们可以再限定符中制定不同的字符对数字进行进制转换的格式化,进制对应的表格: ...
- Python24之递归和迭代
一.递归的含义及一些用途 递归就是函数通过return语句实现自己调用自己的过程,基本上所有的程序语言都有递归算法,常有人说(’一般程序员使用迭代,天才程序员使用递归‘),汉诺塔游戏.谢尔宾斯基三角形 ...