Linux--分区与挂载

磁盘结构

磁盘结构

磁盘主要分为以下结构:

  • 磁头(head):对磁盘的数据进行读写
  • 磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。 磁盘上的磁道是一组记录密度不同的同心圆
  • 扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区。硬盘的第一个扇区,叫做引导扇区。 一个扇区的大小为512个字节。
  • 柱面(cylinder):在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面。

整个磁盘的存储大小为: 存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

磁盘的使用

一块新的硬盘或者U盘等外部设备在插入PC后,需要完成以下事情:

  • 在/dev/下创建一个新的目录,用来代表该磁盘。如/dev/hda,/dev/hdb等。
  • 磁盘最开始需要进行格式化,使用mkfs命令为磁盘进行格式化,确定文件系统类型。
  • 对硬盘进行分区后才可以使用。
  • 在Linux中挂载到一个已经存在的目录下才可以访问该磁盘,否则无法访问。使用mountunmount来进行挂载和卸载。

一般挂在点都在/mnt/xxx目录下,并且该目录必须是已经存在的,否则无法挂载

fdisk的使用

在Linux中,使用fdisk来查看当前的硬盘以及硬盘的分区、文件系统等信息。并且使用fdisk命令可以为磁盘进行分区。 fdisk的命令有以下这些: Fdisk命令详解:

命令

备注

m

获取帮助

n

新建分区

p

显示分区表

d

删除分区

b

设置卷标

w

写入分区表

t

改变分区文件系统类型

v

检验分区

l

显示fdisk所支持的文件系统代码

q

退出

fdisk示例
  1. 使用fdisk -l查看当前所有硬盘以及分区的状态。
# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot   Start     End   Blocks  Id System
/dev/sda1  *      1     13   104391  83 Linux
/dev/sda2       14    1305  10377990  8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

可以看到目前有两个磁盘:

  • sda:10.7G,255个磁头,63个磁道,1305个扇区
    • 主分区1:/dev/sda1
    • 主分区2:/dev/sda2
  • sdb:5G,255个磁头,63个磁道,652个扇区
    • 无分区

分区的概念

Linux中,磁盘只有被分区完后,才可以被挂载到目录下。

分区有三种:主分区,扩展分区,逻辑分区,每个磁盘最多只能有四个主分区,而可以有多个扩展分区,在扩展分区中,还可以创建多个逻辑分区。

  • 主分区:创建完后即可挂载
  • 扩展分区:扩展分区创建完后,还需要创建逻辑分区才可以被挂载

示例

格式化一块硬盘(hdb),并且对其进行分区,分区后进行挂载

创建主分区
  1. 通过fdisk /dev/hdb进入磁盘的命令模式

进入格式化命令模式

  1. 输入n代表创建分区,e代表扩展分区,p代表主分区

新建主分区

  1. 输入First Cylinder的值代表分区初始的柱面值,以及分区的大小+3G代表为该分区分3G

输入初始柱面的值以及分区大小

  1. 输入p查看创建的分区/dev/hdb1

新建分区

创建扩展分区
  1. 与创建主分区步骤相同,只是在选择command action的时候,选择e,表示创建扩展分区

创建后的扩展分区

  1. 在创建完扩展分区后,来创建逻辑分区,输入l代表创建逻辑分区

创建逻辑分区

  1. 与创建主分区、扩展分区一样,为逻辑分区选择起始的柱面,以及分配的大小

分配分区大小

  1. 查看扩展分区

查看分区信息

分区格式化

在磁盘分区创建完毕后,需要为分区通过mkfs进行格式化,赋予它文件系统: 如ext2,ext3,vfat

使用命令 mkfs -t ext3 /dev/hdb1分别对分区hdb1进行格式化处理,格式化为ext3文件类型

其中mkfs –t ext3命令等价于mkfs.ext3mkfs -t ext2命令等价于mkfs.ext2

mkfs命令

分区挂载

当分区格式化完成文件系统后,就可以通过mountunmount进行挂载与卸载了,当分区挂载到具体目录后,即可进行创建文件、删除文件等文件操作了。

mount /dev/hdb1 /mnt/hdb1就会将/dev/hdb1分区挂载到/mnt/hdb1目录下,也就是该目录下的文件都会被写到/dev/hdb1的磁盘分区中保存。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ionic3+

ionic3升级适配angular5

昨天angular5和ionic3同时发布更新了,为了用上angular5的新特性,还是有必要踩下坑的,当然踩坑的白老鼠建议选用一个最近不用维护的项目。

10340
来自专栏python3

django组件--cookie与session

在一个会话的多个请求中共享数据,这就是会话跟踪技术。例如在一个会话中的请求如下: 请求银行主页; 

19850
来自专栏Java技术分享

Maven下载、安装和配置

这两件事情他都做到了,而且还做了更多的事情。Maven还可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经...

26470
来自专栏疯狂的小程序

微信小程序分享——会话服务器和业务服务器合并

因为两台服务器的镜像是不同的,里面的环境也不同。业务服务器是nginx+php-fpm的环境,而会话服务器是LAMP (Apache)。

42550
来自专栏肖洒的博客

Java调用Python

了解到Java有Runtime.getRuntime().exec() 这样就好办多了。 这个方法其实就好像是cmd命令行一样的执行python 程序:

22740
来自专栏Python研发

django-celery定时任务以及异步任务and服务器部署并且运行全部过程

应用Celery之前,我想大家都已经了解了,什么是Celery,Celery可以做什么,等等一些关于Celery的问题,在这里我就不一一解释了。

1K20
来自专栏散尽浮华

Linux下锁定账号,禁止登录系统的设置总结

在我们运维工作中,会经常要求一些用户不允许登陆系统,以加固系统安全。今天这里介绍下锁定账号登陆的几种方法: 一、最常用方式,修改用户的shell类型为/sbin...

323100
来自专栏伪君子的梦呓

安装和配置 Java 环境

下面的在 win7 32 位电脑上安装 Java 的过程,目前最新的是 Java 10,由于 Java 10 Windows x86 的版本,所以只能下载和安装...

12720
来自专栏惨绿少年

MongoDB的备份与恢复

1.1 MongoDB的常用命令 mongoexport / mongoimport mongodump / mongorestore      有以上两组命...

1.2K60
来自专栏13blog.site

git删除本地分支

远端master分支有更新需要拉取至本地,但是代码有些地方做了修改导致了小冲突,但是这些修改又是无关紧要的,于是就打算直接删除掉本地分支再重新拉取master分...

32760

扫码关注云+社区

领取腾讯云代金券