以前学linux的时候,毕竟自己没搞运维,就只注重了很多命令的运用,没太在意文件系统这块。买了本linux的书,这部分看了点东西,记个笔记哈哈。

有个场景,比如说我们现在的服务器上存储不够用了,那么当然需要加硬盘了对吧。

在linux上加硬盘,往硬盘上存数据,就会涉及到给硬盘分区、格式化(赋予文件系统)、挂载。

步骤是   分区(parted) --->  格式化 (mkfs) ----->挂载(mount)

分区有很多工具。比如说fdisk,parted等等吧,这里需要知道两个分区类型。一种是传统老旧的类型叫MBR,一种是现在常用的类型GPT。

简单说下区别:MBR最多只有4个主分区,在逻辑分区上也比较局限(主分区个数有限,如果再想分区,就要抽出来一个扩展分区,在扩展分区里添加逻辑分区)。而GPT基本上分区数足够了,分区的存储大小也足够了。

fdisk这个分区工具只支持传统的MBR分区类型,parted分区工具这两种类型都支持。

分区工具的使用,就不多说了,这个每一步都有提示,线上手册也很多。

我在学习的时候看了慕课网的视频教程,不错的。贴个地址:http://www.imooc.com/learn/111

分区以后,要创建文件系统,mkfs(make file system)就是格式化创建文件系统,这个都是针对某一块磁盘的分区进行的格式化。ext4表示一种linux支持的文件系统。

比如:   mkfs.ext4 /dev/sdf2

/dev/sdf2 这个就是设备名称。

你比如sda、sdb、sdc   等等,这就是第几块磁盘的意思,a就是第一块硬盘,b就是第二块。。。

比如sda1 sda2 sda3 这个就表示是第一块硬盘里,sda1第一块分区,sda2第二块分区。。。

格式化以后,就要挂载文件系统,就是把一个分区设备,挂到一个挂载点上。(挂载点说白了就是一个存在的目录)

命令格式就是 # mount /dev/sdb1 /home/bala

(这里再说个知识点,挂载命令里/dev/sdb1这个设备名,现在推荐的做法都是用uuid唯一标识符了,因为设备名称会改变,和内核发现设备的顺序有关)

在给一个分区创建文件系统时,会分配它一个唯一的uuid。

那么怎么样知道这个设备名,对应那个uuid呢?这里有个命令

# blkid #就是block id   可以看到哪个设备名对应哪个uuid 。然后挂载的时候,使用uuid,而不是设备名了哈哈

文件系统这块,必须要提及文件系统表/etc/fstab,系统启动的时候会读取这个文件,自动挂载里边的记录的设备。

比如查看下:# cat /etc/fstab

UUID=80c0be4e-fed2-4542-9259-d667b6ae34eb / ext4 defaults 1 1
UUID=9ae2f239-db3e-4aae-8cef-85d05cf9d61d /boot ext4 defaults 1 2
UUID=4bc97876-6add-4768-96ca-13876451a570 /home ext4 defaults 1 2
UUID=afddbec2-c7b2-4bde-97d3-fc4a4deb380e swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0

表里各个项意思是:设备名 挂载点 文件系统类型 选项 balala

发现以上文件系统类型项中,出现比如swap tmpfs 等等。这些是特殊的文件系统,并不仅仅是物理媒介,他们是作为系统接口来使用的文件系统。

主要有proc(挂载在/proc)、sysfs(挂载在/sys)、tmpfs

还要提及swap。说白了就是内存不咋够用了,利用一些磁盘上的空间,进行数据交换的一块空间。可以使用free命令查看swap使用情况。

可以使用磁盘分区当交换空间,也可以使用一个文件当交换空间。具体命令就不列出了。

还有个比较重要的知识点就是inode节点。这个有兴趣的话,可以自己去查下资料。

文件系统这块总结几个常用的命令吧,很多命令里有很多选项参数,这里就不一一列举了。

# parted

# fdisk  -l

# mkfs

# blkid

# mount

# umount

# sync   # 同步,强制缓冲区里的东西,写到磁盘里。

# df      # disk free磁盘使用情况

# du     # 目录下,各个文件占用存储大小

# free   # 查看内存和交换分区swap使用情况

# ls -i  # inode节点

# vi /etc/fstab  # 查看文件系统表

linux中分区、格式化文件系统、挂载的更多相关文章

  1. linux硬盘分区格式化及挂载

    1.硬盘的接口类型 硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为 ...

  2. 7.linux磁盘管理 分区 建立文件系统 挂载使用

    一.磁盘管理 分区  建立文件系统  挂载使用   逻辑卷建立  磁盘阵列的建立  磁盘配额设定     fdisk -l       查看磁盘信息     df -Th        查看硬盘对应的 ...

  3. linux增加硬盘 磁盘分区格式化及挂载

    nux磁盘分区格式化及挂载 意义: 给linux 系统服务器扩容, 加一块硬盘 实验环境: virtualBox虚拟软件  + centos6.5 第一步: 添加硬件 硬盘 (我这里用virtualB ...

  4. Linux磁盘分区与文件系统

    一 Linux磁盘分区与文件系统 在Linux中常见的操作系统有:ext2 ext3 ext4 xfs btrfs reiserfs等文件系统的作用主要是明确磁盘或分区上的文件存储方法以及数据结构,L ...

  5. Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

    [前言] 本文将要讲解的功能为Linux环境下对磁盘进行操作.包括分区.格式化.挂载外接移动存储设备等. 该文的写作背景为本人的树莓派需要外接一个固态硬盘作为存储设备,因此,便开始了一系列的折腾. [ ...

  6. Linux 磁盘分区,文件系统创建、挂载、开机自动挂载和卸载

    创建分区 (fdisk): 第一步先在Linux的虚拟机上添加一块硬盘,添加完成后需要重启虚拟机才能够检测识别到新硬盘. 重启系统后可以使用 fdisk -l 命令查看当前所有磁盘分区情况,sdb为我 ...

  7. LINUX 硬盘分区及文件系统

    一,top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 1. 第一行是任务队列信息 2. 第二.三行为进程和CPU的信息 3. 第 ...

  8. 【改】linux中分区的概念

    1.目录和分区 区别:Linux的分区是物理上的概念,从物理上将存储空间分开:Linux的目录是逻辑上的概念,Linux的目录树实际上是一个分区之间的数据逻辑结构关系,不是物理结构: 联系:一个分区必 ...

  9. 解析Linux中的VFS文件系统机制

    转载:原文地址https://www.ibm.com/developerworks/cn/linux/l-vfs/ 1. 摘要 本文阐述 Linux 中的文件系统部分,源代码来自基于 IA32 的 2 ...

随机推荐

  1. MySQL入门详解(二)---mysql事务、锁、以及优化

    MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在一个商城系统中,用户执行购买操作,那么用户订单中应该加一条,库存要减一条,如果这两步由于意外只进行了其中一步那么就会发生很大的问题.而事 ...

  2. 【代码笔记】iOS-给密码进行加密

    一,工程图. 二,代码. #import "ViewController.h" #import "Base64CodeByteFunc.h" @interfac ...

  3. CSS布局模型学习(Float、Position、Flexbox)

    一.Floatfloat 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. 清除浮 ...

  4. ss 重新设置 端口的方法 记录

    1. 选择 ssh 进行远程登入: ssh root@服务器ip -p 端口, 事例如:ssh root@176.122.134.96 -p 28202 2. ls 展示 当前目录下的文件,看到有 s ...

  5. 浅析ARM公司在物联网领域的战略布局

    From: http://www.cnblogs.com/yefanqiu/p/3447769.html 浅析ARM公司在物联网领域的战略布局 随着ARM芯片的出货量越来越多,自信满满的ARM公司统一 ...

  6. Python使用MySQLConnector/Python操作MySQL、MariaDB数据库

    使用MySQL Connector/Python操作MySQL.MariaDB数据库   by:授客 QQ:1033553122 因目前MySQLdb并不支持python3.x,而MySQL官方已经提 ...

  7. 看jQuery的这几天

    现在在做SPA时,有很多非常好用而且流行的前端框架,比如Vue,React,Angular等,jQuery似乎要逐渐退出前端的舞台了.不得不说,'write less,do more' 这句话吸引了我 ...

  8. [SQLServer大对象]——FileTable初体验 (转载)

    阅读导航启用FILESTREAM设置更改FILESTRAM设置启用数据库非事务性访问级别FileTable 在我接触FileTable之前,存储文件都是存储文件的链接和扩展名到数据,其实并没有实际的把 ...

  9. Python中可视化图表处理echarts库的安装

    系统环境:Windows 7 企业版 进入cmd 输入:python –m pip install pyecharts

  10. 浅谈C#中的 async await 以及对线程相关知识的复习

    C#5.0以后新增了一个语法糖,那就是异步方法async await,之前对线程,进程方面的知识有过较为深入的学习,大概知道这个概念,我的项目中实际用到C#异步编程的场景比较少,就算要用到一般也感觉T ...