linux磁盘管理(代码片段)

行稳方能走远 行稳方能走远     2022-12-14     124

关键词:

参考:Ubuntu 下的磁盘管理
作者:~莘莘
发布时间: 2021-07-11 17:51:08
网址:https://blog.csdn.net/lcx1837/article/details/118633544?spm=1001.2014.3001.5501

Linux 磁盘管理基本概念

Linux 的磁盘管理体系和Windows 有很大的区别,在Windows 下经常会遇到“分区”这个概念,在Linux 中一般不叫“分区”而叫“挂载点”。“挂载点”就是将一个硬盘的一部分做成文件夹的形式,这个文件夹的名字就是“挂载点”,不管在哪个发行版的Linux 中,用户是绝对看到不到C 盘、D 盘这样的概念的,只能看到以文件夹形式存在的“挂载点”.
文件/etc/fstab 详细的记录了Ubuntu 中硬盘分区的情况,如图2.8.1.1 所示:

在图2.8.1.1 中有一行“/ was on /dev/sda1 during installation”,意思是根目录“/”是在/dev/sda1上的,其中“/”是挂载点,“/dev/sda1”就是我们装Ubuntu 系统的硬盘。由于我们的系统是安装在虚拟机中的,因此图2.8.1.1 没有出现实际的硬盘。可以通过如下命令查看当前系统中的磁盘:

ls /dev/sd*

上述命令就是打印出所有以/dev/sd 开头的设备文件,如图2.8.1.2 所示:

在图2.8.1.2 中有四个磁盘设备文件,其中sd 表示是SATA 硬盘或者其它外部设备,最后面的数字表示该硬盘上的第n 个分区,比如/dev/sda1 就表示磁盘sda 上的第一个分区。图2.8.1.2中都是以/dev/sda 开头的,说明当前只有一个硬盘。如果再插上U 盘、SD 卡啥的就可能会出现/dev/sdb,/dev/sdc 等等。如果你的U 盘有两个分区那么可能就会出现/dev/sdb1、dev/sdb2 这样
的设备文件。比如我现在插入我的U 盘,插入U 盘会提示U 盘是接到主机还是虚拟机,如图2.8.1.3 所示:

设置好图2.8.1.3 以后,点击“确定”按钮U 盘就会自动连接到虚拟机中,也就是连接到Ubuntu 系统中,我们再次使用命令“ls /dev/sd*”来查看当前的“/dev/sd*”设备文件,如图2.8.1.4所示:

从图2.8.1.4 可以看出,相比图2.8.1.2 多了/dev/sdb 和/dev/sdb1 这两个文件,其中/dev/sdb就是U 盘文件,/dev/sdb1 表示U 盘的第一个分区,因为我的U 盘就一个分区

磁盘和目录的容量查询命令

df:列出文件系统的整体磁盘使用量,主要查看单个文件系统的使用量。
du:评估某个目录下文件的使用量大小,主要查看单个文件的大小。


磁盘管理命令

本节我们学习一下跟磁盘操作有关的命令,这些命令如下:

1、挂载分区命令mount

我们创建好分区并且格式化(3、4讲到)以后肯定是要使用硬盘或者U 盘的,那么如何访问磁盘呢?比如我的U 盘就一个分区,为/dev/sdb1,如果直接打开文件/dev/sdb1 会发现根本就打不开!我们需要将/dev/sdb1 这个分区挂载到一个文件夹中,然后通过这个文件访问U 盘,磁盘挂载命令为mount,命令格式如下:

mount [参数] -t [类型] [设备名称] [目的文件夹]

命令主要参数有:

-V 显示程序版本。
-h 显示辅助信息。
-v 显示执行过程详细信息。
-o ro 只读模式挂载。
-o rw 读写模式挂载。
-s-r 等于-o ro。
-w 等于-o rw。

挂载点是一个文件夹,因此在挂载之前先要创建一个文件夹,一般我们把挂载点放到“/mnt”目录下,在“/mnt”下创建一个tmp 文件夹,然后将U 盘的/dev/sdb1 分区挂载到/mnt/tmp 文件夹里面,操作如图2.8.2.3 所示:

在图2.8.2.3 中我们将U 盘以fat 格式挂载到目录/mnt/tmp 中,然后我们就可以通过访问/mnt/tmp 来访问U 盘了。

sudo mount /磁盘设备文件 /创建好的挂载目录文件夹		// 挂载
sudo umount /挂载目录								// 卸载

sudo mount -o iocharset=utf8 /磁盘设备文件 /创建好的挂载目录文件夹
//普通挂载中文目录名会出现乱码,使用此方法挂载中文目录名解决中文乱码

2、卸载命令umount

当我们不再需要访问已经挂载的U 盘,可以通过umount 将其从卸载点卸除,命令格式如下:

umount [参数] -t [文件系统类型] [设备名称]

-a 卸载/etc/mtab 中的所有文件系统。
-h 显示帮助。
-n 卸载时不要将信息存入到/etc/mtab 文件中
-r 如果无法成功卸载,则尝试以只读的方式重新挂载。
-t<文件系统类型> 仅卸载选项中指定的文件系统。
-v 显示执行过程。

上面我们将U 盘挂载到了文件夹/mnt/tmp 里面,这里我们使用命令umount 将其卸载掉,操作如图2.8.2.4 所示:


在图2.8.2.4 中,我们使用命令umount 卸载了U 盘,卸载以后当我们再去访问文件夹/mnt/tmp的时候发现里面没有任何文件了,说明我们卸载成功了。

3、磁盘分区命令fdisk

如果要对某个磁盘进行分区,可以使用命令fdisk,命令格如下:

fdisk [参数]

主要参数如下:

  • -b<分区大小> 指定每个分区的大小。
  • -l 列出指定设备的分区表。
  • -s<分区编号> 将指定的分区大小输出到标准的输出上,单位为块。
  • -u 搭配“-l”参数,会用分区数目取代柱面数目,来表示每个分区的起始地址。

比如我要对U 盘进行分区,千万不要对自己装Ubuntu 系统进行分区!!!可以使用如下命令:

sudo fdisk /dev/sdb

结果如图2.8.2.1 所示:

在图2.8.2.1 中提示我们输入“m”可以查看帮助,因为fdisk 还有一些子命令,通过输入“m”可以查看都有哪些子命令,如图2.8.2.2 所示:

图2.8.2.2 中常用的命令如下:

  • p 显示现有的分区
  • n 建立新分区
  • t 更改分区类型
  • d 删除现有的分区
  • a 更改分区启动标志
  • w 对分区的更改写入到硬盘或者存储器中。
  • q 不保存退出。
sudo fdisk -l				//列出所有分区信息
sudo fdisk -l /dev/sdb		//列出 sdb 分区信息
sudo fdisk /dev/sda			//操作 sda 分区
sudo fdisk /dev/sdb			//操作 sdb 分区

删除分区:

添加新分区:

解析: 创建1号分区时,第一个扇区默认是2048,直接输入,最后一个扇区:假设需要创建的1号分区大小为1GB,

(1GB=1,073,741,824B)/512B=2097152(一个扇区512个字节),所以最后一个扇区=2097152+2048=2,099,200

创建2号分区时,第一个扇区默认是2,101,248=2099200+2048,最后一个扇区=2101248+2097152=4,198,400

创建3号分区时,第一个扇区默认是4,200,448=4198400+2048,最后一个扇区使用默认值(即最大值,对应磁盘所剩下的最大空间)

操作完毕后,输入 w 命令写入磁盘。

4、格式化命令mkfs

使用命令fdisk 创建好一个分区以后,我们需要对其格式化,也就是给这个分区上创建一个文件系统,Linux 下的格式化命令为mkfs,命令格式如下:

mkfs [参数] [-t 文件系统类型] [分区名称]

主要参数如下:
fs 指定建立文件系统时的参数
-V 显示版本信息和简要的使用方法。
-v 显示版本信息和详细的使用方法。

比如我们要格式化U 盘的分区/dev/sdb1 为FAT 格式,那么就可以使用如下命令:

mkfs –t vfat /dev/sdb1
sudo mkfs -t vfat /dev/sdb1			//格式化 /dev/sdb1 分区为 FAT 格式(文件系统)
sudo mkfs -t vfat /dev/sdb2			//格式化 /dev/sdb2 分区为 FAT 格式(文件系统)
sudo mkfs -t vfat /dev/sdb3			//格式化 /dev/sdb3 分区为 FAT 格式(文件系统)


linux磁盘管理(代码片段)

要进行磁盘管理,首先我们需要知道磁盘的基本使用状况,使用了多少,还剩多少等等。df命令可以帮助我们看到它。查看磁盘分区使用状况 df[选项][文件]显示指定磁盘文件的可用空间。如果没有文件名被指定,... 查看详情

linux磁盘管理(代码片段)

一、什么是磁盘磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(FloppyDisk,简称软盘),如今常用的磁盘是硬磁盘(Harddi... 查看详情

linux磁盘管理(代码片段)

一、什么是磁盘磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(FloppyDisk,简称软盘),如今常用的磁盘是硬磁盘(Harddi... 查看详情

linux磁盘管理(fdisk磁盘管理工具|swap交换分区|lvm逻辑卷管理)(代码片段)

目录1Linux磁盘管理1.1fdisk磁盘管理工具1.2文件系统2磁盘管理二2.1创建swap交换分区2.2关闭swap交换分区2.3逻辑卷管理:LVM1Linux磁盘管理lsblk:列出所有可用块设备的信息fdisk-l:查看磁盘所有分区信息blkid:查看文件系... 查看详情

linux运维基础:磁盘管理(代码片段)

磁盘分区使用工具一般情况下,小磁盘分区:磁盘空间小于2T-->fdisk大磁盘分区:磁盘空间大于2T-->party(亦可用于小于2T)fdisk常用命令命令功能fdisk-l查看磁盘分区信息fdisk/dev/sdb进行磁盘分区mkfs.xfs/dev/sdb1或mkfs-txfs/de... 查看详情

linux磁盘管理详解--企业实战篇(代码片段)

...管理,要想彻底搞清楚文件系统的管理机制,对磁盘的了解是必不可少的。    一、磁盘的认识磁盘的分类如果从存储数据的介质上来区分,硬盘可分为机械硬盘(HardDiskDrive,HDD&# 查看详情

linux磁盘管理详解--企业实战篇(代码片段)

...管理,要想彻底搞清楚文件系统的管理机制,对磁盘的了解是必不可少的。    一、磁盘的认识磁盘的分类如果从存储数据的介质上来区分,硬盘可分为机械硬盘(HardDiskDrive,HDD&# 查看详情

linux磁盘,进程,软件安装(代码片段)

1、磁盘管理1.1、概述Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用命令为df、du。df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量1.2、dfdf命令参数功能:检查文件系统的磁盘空间占用情况。可... 查看详情

linux0.11源码阅读笔记-文件管理(代码片段)

Linux0.11源码阅读笔记-文件管理文件系统生磁盘未安装文件系统的磁盘称之为生磁盘,生磁盘也可以作为文件读写,linux中一切皆文件。磁盘分区生磁盘可以被分区,分区中可以安装文件系统,常见的文件系统有fat32、ext2、ext4等... 查看详情

linux实验报告——磁盘存储管理——2021.5.22(代码片段)

Linux实验报告(2)——磁盘存储管理一丶配置要求:二丶实验目的三丶实验要求四丶上一篇:Linux实验报告(1)——文件权限与管理五丶下一篇:Linux实验报告(3)——计划任务管理一丶配置要... 查看详情

linux篇|磁盘存储和文件系统(代码片段)

磁盘存储和文件系统分区文件系统挂载设备管理虚拟内存RAID管理LVM管理我们从一个新硬盘安装到Linux系统,期间的配置,一直到正常使用的角度,来学习磁盘存储和文件系统,过程如下:选择分区类型(MBR或GPT)-->创建分区-->... 查看详情

四linux磁盘与文件系统管理(代码片段)

一、Linux文件系统每种操作系统能够使用的文件系统并不相同,Linux的正统文件系统为Ext2(Linuxsecondextendedfilesystem,ext2fs)。现在通常可以称呼一个可被挂载的数据为一个文件系统。文件系统的运行机制与操作系统的文... 查看详情

linux磁盘分区(代码片段)

磁盘分区磁盘命名分区管理磁盘创建分区创建文件系统挂载交换分区增加交换分区准备分区格式化挂载逻辑卷创建LVMVG管理LV扩容磁盘命名kernel对不同硬盘命名方式CentOS7:1、SATA(单口)/dev/sda/dev:设备文件目录;s:sata单口;d:磁盘;a... 查看详情

linux磁盘分区(代码片段)

磁盘分区磁盘命名分区管理磁盘创建分区创建文件系统挂载交换分区增加交换分区准备分区格式化挂载逻辑卷创建LVMVG管理LV扩容磁盘命名kernel对不同硬盘命名方式CentOS7:1、SATA(单口)/dev/sda/dev:设备文件目录;s:sata单口;d:磁盘;a... 查看详情

linux磁盘与文件管理(代码片段)

...]设备文件名-b列出保留为坏道的部分-h列出superblock的数据磁盘目录与容量:df,dudf[-ahiHTm][目录与文件名]-a列出所有的文件系统-k以kb的容量显示文件系统-m以mb的容量显示文件系统-h以人易于阅读的数据显示文件系统-H以1000... 查看详情

linux常用磁盘管理命令详解(代码片段)

dudu命令用于查看文件和目录磁盘的使用空间。命令语法:du[参数][文件或目录名称]参数说明:参数说明-a列出所有的文件与目录容量。-h以G、M、K为单位,返回容量。-s列出总量。-S列出不包括子目录下的总量。-k以KBytes为单位,... 查看详情

逻辑卷管理器(lvm)(代码片段)

...LVM(LogicalVolumeManager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都... 查看详情

linux磁盘管理(代码片段)

一、什么是磁盘磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(FloppyDisk,简称软盘),如今常用的磁盘是硬磁盘(Harddi... 查看详情