第六章 Linux 磁盘管理

这篇具有很好参考价值的文章主要介绍了第六章 Linux 磁盘管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、磁盘分区、格式化、文件系统、文件系统类型、挂载、挂载点 的概念

如果我们想在系统中增加一块硬盘用于数据存取,那么大概需要以下步骤:

1)对该磁盘进行分区(分割)

目的,一是为了分割硬盘空间方便管理,更重要的是让各个分区都基本独立开来,这样如果某个区发生问题,至少不会直接影响到其他分区。

举例:如果把一块磁盘比喻成一大块地,那么对磁盘进行分区就相当于是把地按照需要划分成几块地或者几个区域。划分出来的某块地或者某个区域我们一般称作“某个分区”

2)对某个分区进行格式化

各种操作系统都必须按照一定的方式来管理数据,对分区进行格式化的目的是为了在分区里写入文件系统,这样才能被操作系统使用。

举例:我们把向磁盘里存数据比喻成现实生活中向“银行保管箱”里存物贵重品
第六章 Linux 磁盘管理,linux,运维,服务器
地刚刚你已经分好了,可是这个地你能直接用来存物品吗?当然不行,你得在分好的某块地上建好大厦以及在大厦里构建保管柜,这样才能够用于存储物品。
■ 磁盘分区也是同样的道理,要想能够被操作系统用于实际的存储数据,还得在磁盘分区里写入文件系统,也就是所谓的“格式化”,即操作系统需要按照特定的规划去建设开发这个分区,开发好后才能被操作系统用作数据存储。
■ 问一下:向分区写入文件系统,这个文件系统本身会占用磁盘空间吗?
■ 在地上建设大厦和构建保管柜,建设大厦时肯定可以有不同的结构供选择吧?保管柜也有不同的品牌供选择吧?同样的,文件系统也有不同的类型供选择,比如我们 windows 下常见的 NTFS、FAT32 等,它们就是传说中的文件系统类型,而 Linux 下常见的文件系统类型有 EXT*(比如 EXT4)、xfs 等等,具体我们后面讲。
■ 一个分区被格式化(写入文件系统,不管是什么类型的文件系统)后,我们就可以称作它是一个“文件系统”

3)挂载

这个就是把某个文件系统用管子接到某个目录上,对应的目录就称作挂载点,参考第一回!

4)一块硬盘需要经过哪些步骤才可以被我们 Linux 操作系统用来实际的存取数据呢?

分区(分割) -> 对(某个)分区进行格式化(写入文件系统) -> 挂载

所以比较讲究的说法是:我们称呼一个可被挂载的数据为一个文件系统,而不是叫一个分区
请问:第一步 分区(分割) 是必须的吗?一整块磁盘可不可以不进行分区就直接格式化,然后挂载使用

2、查看文件系统使用情况(比如容量空间的使用情况)

df [-ihT] [FILE...]
注:
FILE 可以直接指定文件系统(路径),则会打印出该文件系统的磁盘空间使用情况;
FILE 也可以指定为非文件系统文件的路径则会输出该文件相关的文件系统的磁盘空间使用情况;
选项:
-i:以 inode 数量显示
-h:以较易阅读的单位来显示容量
-T:显示出分区的文件系统格式名称
3、查看目录所占容量(包括其后代文件所占)
du [-ahcs] FILE... 选项:
-h:以较易阅读的单位来显示容量(常用)
-s:只列出总量(常用)
-a:将文件的容量也显示出来,而不是仅仅列
-c:最后列出总量
常用形式:du -sh FILE...

4、列出所有可用块设备的信息(即列出系统上所有存储

lsblk [-dfp] [device]

注:可以看成是 list block device 的缩写,这个命令很重要可以看到系统上块设备的各种情况比如容量这些都是可以查看的!

选项:
-d:仅列出磁盘,而不列出其分区信息
-f:显示文件系统信息,比如类型以及 UUID 等;UUID 是通用唯一识别码,Linux 会将系统内所有的装置都给予一个独一无二的识别码
-p:列出完整路径!而不是仅列出名字

PS:一般我们是直接敲 lsblk 来查看

■ 存储设备名称规范:
■ 物理磁盘:/dev/sd[a-z],比如/dev/sda、/dev/sdb 等等
■ 该磁盘的分区:
/dev/sd[a-z]数字,比如/dev/sda1:表示是/dev/sda 这个磁盘的某个分区,其中数字 1 是分区号。
■ 云服务上磁盘可能为:/dev/vd[a-z]
■ 该磁盘的分区:同理...
■ 所以查看存储设备也可以通过类似这种方法:
ls -l /dev/[sv]d

5、磁盘分区

分区的两种方式: MSDOS (MBR) 分区表方式分区、GPT 分区表(GUID partition table) 方式分区,他们各自有什么特点呢?

1)通过 MSDOS (MBR) 分区表 方式分区

①特点:
■ 主分区+扩展分区 最多 4 个
■ 扩展分区最多只有一个
■ 可以在扩展分区下 划分出多个逻辑分区
■ 不能直接支持 2T 以上磁盘

②有人可能有疑问为什么分区还分什么主分区、扩展分区、逻辑分区这些名词呢?
其实归根到底是因为 MSDOS (MBR) 分区表的分区方式技术上最多只能有四个分区,4 个分区实在是很容易就不够用,怎么办呢?于是牛人就想办法把一个分区作为扩展分区(扩展分区本身不能直接用的),可以在扩展分区的基础上划分出很多个逻辑分区就可以使用了,这样主分区+多个逻辑分区就可以打破只能有 4 个分区的限制。那逻辑分区与主分区在数据存储上是没有区别的,只是名分不同,至于其具体的硬件层面的技术实现细节就不是我
们应该考虑的问题了!

③fdisk [-l] [设备名称]
■ 选项:
-l:输出后面接的设备所有的分区内容。
若后不接具体设备则把能列出来的都列出来

④fdisk 后面如果不加-l 选项,而是接磁盘的名称 则可以对该磁盘进行分区

■ 举例:
fdisk /dev/sdb
根据提示输入 m 可获取帮助:

常用的交互命令:
p:打印出当前磁盘的分区信息
n:新建一个新的分区
w:保存
q:退出
d:删除一个分区
注:这个命令是一个非常容易操作的命令,因为每一步都有提示!

2)GPT 分区表(GUID partition table) 方式分区

通过这个分区表方式来分区就强大了,分区数量没有 4 个限制了,所以就没有什么主分区、扩展分区、逻辑分区这些概念了都是分区没有名分的不同了;也没有 2T 容量的限制!所以比上面 MBR 分区表方式的分区更强大更先进。

警告:其实目前的 fdisk 命令已经开始支持 GPT 分区表方式分区进行分区,不过目前是在实验阶段,不建议生产环境使用。

所以我们最好使用专门的用于 GPT 分区表方式分区的命令:gdisk,这个命令使用上和 fdisk 类似

3)partprobe [-s]

partprobe 更新 Linux 核心的分区表信息,如果分完区结果看不到分区设备信息(虚拟机这边不用),就手动更新下,当然重启系统也可以
选项:
-s:显示摘要和分区

4)parted 命令

parted 支持 MSDOS (MBR) 分区表方式分区 以及 GPT 分区表(GUID partition table) 方式分区进行分区,不过我们上面介绍了 fdisk 与 gdisk 用户体验更好,所以更推 荐你使用 fdisk 或 gdisk 进行分区!parted 命令你如果有兴趣自行查询使用。
■ 查询帮助
①直接敲 parted 进入交互模式(输入之后会等待你输入交互命令)
第六章 Linux 磁盘管理,linux,运维,服务器

②输入 help 命令查看这边支持的交互命令
第六章 Linux 磁盘管理,linux,运维,服务器

提示:
■ 这边的交互命令也可以通过 tab 进行自动补全,甚至你不敲 help 直接敲两次 tab 试试!
■ 当然直接通过 man parted 的方式也可以查询 parted 的帮助信息

6、格式化(写入文件系统)

1)Linux 下常见的文件系统类型:

■ ext4
第四代扩展文件系统(英语:Fourth extended filesystem,缩写为 ext4)是 Linux 系统下的日志文件系统,是 ext3 文件系统的后继版本。
■ 什么叫日志文件系统?
日志文件系统(英语:Journaling file system)是一种文件系统在发生变化时,先把相关的信息写入一个被称为日志的区域,然后再把变化写入主文件系统的文件系统。 在文件系统发生故障(如内核崩溃或突然停电)时,日志文件系统更容易保持一致性,并且可以较快恢复。
■ 注意:这个日志不是用来修复数据损坏的而是修复文件系统的,你可以理解为他主要修复这种情况:当把物品存入保管箱时,由于突发状况使得银行没有把这个保管箱登记标记为已使用,这时就产生了不一致性(比如实际已使用的保管箱数量与登记系统里记录的不一样)!至于说数据本身的丢失,就不是这个能够恢复的了!
■ xfs
xfs,一种高性能的日志文件系统,也是 CentOS7 上默认的文件系统类型(CentOS6 上默认是 ext4)。
■ 比较
第六章 Linux 磁盘管理,linux,运维,服务器
■ 当然文件系统类型有很多,可以通过以下命令查看当前操作系统支持那些文件系统类型:

ls -l /lib/modules/$(uname -r)/kernel/fs

我们知道 ext4 和 xfs 即可

2)格式化操作

■ mkfs.xfs [-L] 设备
选项:
-L:指定文件系统的 Label name,最长可以有 12
其他参数等以后遇到特殊的格式化需求再 man 查询吧!
■ mkfs.ext4 [-L] 设备
■ mkfs [-t 文件系统类型] 设备
这是个综合命令,当我们使用 mkfs -t xfs 时,它内部就会去执行 mkfs.xfs
选型:
-t: 可接系统支持的文件系统类型,例如常见文件系统类型:xfs、ext4 等

3)查看文件系统信息

■ dumpe2fs [-h] 文件系统设备路径
显示 ext2/ext3/ext4 类型的文件系统信息
选项:
-h:只显示 superblock 信息,superblock 里记载了该文件系统的整体信息比如 inode、date block 的总量、剩余量、以及每个 inode 或 date block
的大小、等属性。
■ xfs_info 文件系统设备路径
显示 xfs 类型的文件系统信息
■ blkid 查看文件系统 UUID 等信息
■ 以列表的形式输出文件系统的设备名路径、文件系统类型、lable、挂载点、UUID 信息
第六章 Linux 磁盘管理,linux,运维,服务器

■ 查看文件系统的 UUID

blkid 文件系统路径
blkid 可列出各个文件系统的 UUID 、文件系统类型 等参数
blkid -s UUID [文件系统设备路径]
如果不指定文件系统路径,则显示所有文件系统的 UUID

■ 查看文件系统 LABEL:blkid -s LABEL [文件系统设备路径]
如果不指定文件系统路径,则显示所有文件系统的 LABEL
■ 修改文件系统的 LABEL 即卷名称类似于我们 windows 下盘的名字比如 C、D、E 的意思(如果格式化的时候没有设置可以通过这个方法来设置或修改)
■ ext 类的文件系统,修改某个文件系统的卷标 LABEL 可以使用 e2label 或 tune2fs

 e2label 设备路径 [新 LABEL]
 tune2fs –L 新 LABEL 文件系统设备路径

■ xfs 类的文件系统,修改 LABLE 请使用 xfs_admin

xfs_admin -L 新 LABEL

7、挂载/卸载文件系统

1)使用 mount 进行手动挂载

■ mount [-t 文件系统类型] 文件系统路径 挂载点
选项:
-t :来指定欲挂载的文件系统类型(一般不用加、因为系统会自动分析文件系统类型的)
其他一些选项我们待会再讲

注:强烈不推荐使用文件系统名称(路径)的方式来挂载,因为不可靠(万一哪天硬盘插入服务器接口的顺序改变了那么名称就变了)!
■ mount [-t 文件系统类型] UUID=‘’ 挂载点
通过文件系统名字挂载并不可靠,所以最好使用文件系统的 UUID 号来挂载!
■ mount [-t 文件系统类型] LABEL=‘’ 挂载点
也可以通过 文件系统的 LABEL 名来挂载
■ mount -o 后面接挂载时设定的参数

未完待续文章来源地址https://www.toymoban.com/news/detail-760901.html

到了这里,关于第六章 Linux 磁盘管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux——(第六章)常用指令(一)

    目录 一、帮助指令 1.man获取帮助信息 2.help指令 3.常用快捷键 二、文件和目录相关指令 1.pwd 指令 2.ls 指令 3.cd 指令 4.mkdir 指令 5.rmdir指令 6.touch指令 7.cp 指令 8.rm 指令 9.mv 指令 10.cat 指令 11.more 指令 12.less 指令 13.echo 指令 14.head 指令 15.tail 指令 16. 指令和  指令 17.ln 指令 18.h

    2024年02月09日
    浏览(27)
  • 第六章 Linux实际操作——实用指令

    运行级别说明: 0 :关机 1:单用户【找回丢失密码】 2:多用户状态没有网络服务 3: 多用户状态有网络服务 4:系统未使用保留给用户 5: 图形界面 6:系统重启 常用3和5,也可以指定默认运行级别 CentOS7后运行级别说明 在centos7以前,/etc/inittab文件中.进行了简化,如下: multi-user.targe

    2023年04月21日
    浏览(21)
  • 服务器(linux)磁盘挂载nfs

    笔者项目中此前有这么个需求,需要支持文件进行预览,文件的存储位置都在后端服务器上,想要支持预览是比较困难的(若是在前端服务器上则比较方便),因为无法做到跨服务器之间的静态文件预览,然后解决这个问题的思路就设定在了将后端服务器的文件所在位置挂载

    2024年02月04日
    浏览(36)
  • Linux CentOS 服务器清理磁盘空间

    首先根目录下使用[df -ah]命令查询磁盘空间占用情况。 发现[/根目录]下面磁盘占用100% 进入根目录,查询大文件与目录 查看GB以上文件夹目录并且排序,可以使用以下命令: 然后不断执行上面的过程,进入大文件目录,定位到大文件 我这里最终找到是Tomcat下面logs日志占据了20多

    2024年02月05日
    浏览(57)
  • 嵌入式Linux知识第六章——单片机

    目录 6.1 CPU 内存 虚拟内存 磁盘/硬盘 的关系⭐⭐⭐ 6.2 CPU内部结构⭐⭐⭐⭐ 6.3 ARM结构处理器简析 ⭐⭐ 6.4波特率是什么,为什么双方波特率要相同,高低波特率有什么区别;⭐⭐⭐⭐ 6.5arm和dsp有什么区别⭐⭐ 6.6 ROM RAM的概念浅析⭐⭐⭐ 6.7 IO口工作方式:上拉输入 下拉输入

    2024年04月10日
    浏览(64)
  • linux服务器监控之内存、cpu、网络、磁盘

    一、服务器实时内存监控 1、Linux帮助命令 man:Linux下的函数手册命令,可以查看所有命令的使用方法 ls:  ls -al: ll: 2、实时监控命令 top:   能够实时监控系统的运行状态,并且可以按照cpu及内存等进行排序。            语法:top -hv|-bcHiOSs -d secs -n max -u|U user -p pid(s) -o file

    2024年02月09日
    浏览(49)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(52)
  • Linux 清理磁盘空间&使用du指令排查服务器磁盘占用过大的文件

    命令:df -h 参数说明: -a:列出所有的文件系统,包括系统特有的/proc等文件系统 -k:以KB的容器显示各文件系统 -m:以MB的容量显示各文件系统 -h:以人们较易阅读的GB,MB,KB等格式自行显示 -H:以 M=1000K代替M=1024K的进位方式 -T:连同该分区的文件系统名称(例如ext3)也列出

    2024年02月06日
    浏览(42)
  • linux系统删除文件之后服务器磁盘空间未释放处理

    一、通过rm 删除文件之后磁盘空间未释放,这是有进程仍在占用被删除的文件,要想真正的删除,只需要停止或重启进程,就会自动释放磁盘空间 二、应用进程很重要不能重启或停止,可以使用以下方法: 1.查看占用删除文件的进程号 使用lsof命令 lsof命令不存在,安装命令

    2024年02月06日
    浏览(53)
  • 【运维】Linux 跨服务器复制文件文件夹

    如果是云服务 建议用内网ip scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包