Linux 磁盘的一生

注意:实验环境都是使用VMware模拟

​ 磁盘接口类型这里vm中是SCSI,扩展sata,ide(有时间可以看看或者磁盘的历史)

​ 总结:磁盘从有到无—类似于建房子到可以住

———————————————————————————————————————————

1.第一个历程:添加磁盘(房子框架)(具体几块看自己,可以做Raid博客可以看我的链接)

image-20240319210605609

不重启检测磁盘:

echo “- - -” > /sys/class/scsi_host/host0/scan

echo “- - -” > /sys/class/scsi_host/host1/scan

echo “- - -” > /sys/class/scsi_host/host2/scan

查看是否添加成功:

[root@shell ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  3.9G  0 part [SWAP]
├─sda3   8:3    0   50G  0 part /
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0 45.1G  0 part /home
sdb      8:16   0    1G  0 disk 
sr0     11:0    1  4.3G  0 rom  /run/media/root/CentOS 7 x86_64

2.第二个历程:分区(区域划分大厅或者是厨房、卧室)

fdisk 【设备名】 例如:fdisk /dev/sdb 扩展分区工具:gdisk parted

fdisk /dev/sdb

[root@shell ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xe348f4b5 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):m  #列出菜单

分区选项:

d 删除分区
g 创建一个新的空 GPT 分区表
G 创建一个 IRIX(SGI)分区表
l 列出已知的分区类型
m 打印此菜单
n 添加一个新的分区
p 打印分区表
q 不保存更改退出

n:创建一个新的分区

命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)   #主分区e   extended									 #逻辑分区
Select (default p):
命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151)+100M
分区 1 已设置为 Linux 类型,大小设为 100 MiB命令(输入 m 获取帮助):n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (206848-2097151,默认为 206848):
将使用默认值 206848
Last 扇区, +扇区 or +size{K,M,G} (206848-2097151,默认为 2097151)+100M
分区 2 已设置为 Linux 类型,大小设为 100 MiB命令(输入 m 获取帮助):n
Partition type:p   primary (2 primary, 0 extended, 2 free)e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (411648-2097151,默认为 411648):
将使用默认值 411648
Last 扇区, +扇区 or +size{K,M,G} (411648-2097151,默认为 2097151)+100M   
分区 3 已设置为 Linux 类型,大小设为 100 MiB命令(输入 m 获取帮助):n
Partition type:p   primary (3 primary, 0 extended, 1 free)e   extended
Select (default e): e     #选择扩展分区
已选择分区 4				  #因为之前分了三个主分区所以这里自动是4编号
起始 扇区 (616448-2097151,默认为 616448):
将使用默认值 616448
Last 扇区, +扇区 or +size{K,M,G} (616448-2097151,默认为 2097151):
将使用默认值 2097151
分区 4 已设置为 Extended 类型,大小设为 723 MiB命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (618496-2097151,默认为 618496):
将使用默认值 618496
Last 扇区, +扇区 or +size{K,M,G} (618496-2097151,默认为 2097151)+200M
分区 5 已设置为 Linux 类型,大小设为 200 MiB命令(输入 m 获取帮助):m
命令操作a   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitiong   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。

扩展一下:

主分区:​		1,必须存在​		2,最多有4个​		3,一般作为系统盘​		4,分区编号开始:1开始  例如:/dev/sda1扩展分区:​		1,不能单独存在​		2,需要和逻辑分区一起结合逻辑分区:​		1,需要有扩展分区​		2,分区编号:5开始 例如:/dev/sda5

3.第三个历程:格式化(装修房子)

mkfs [ -V ] [ -t 文件系统类型 ] [ fs-选项 ] 文件系统 [ 块 ]

选项-V     输出冗长的帮助信息,其中包括执行的各种系统相关的命令.一行命令中出现多个此参数可禁止所有系统相关命令的执行。这个做法实际上之是在测试时有用。-t 文件系统类型指定所要创建的文件系统类型。如没有任何指定,则使用缺省的文件系统类型(目前是 ext2)。fs-选项要传递给实际的文件系统制作工具的文件系统相关的选项。虽然我们不能保证,但是绝大部分文件系统制作工具支持下面的选项。-c     在创建文件系统之前进行设备坏块检查。-l filename从指定文件 filename 中读取坏块信息。-v     产生冗长输出信息。
ext4:是Linux中最常用的文件系统类型之一,支持大容量的文件和分区,具有较高的性能和稳定性。
ext3:是ext4的前身,也是一种常见的Linux文件系统类型,具有日志功能,但相对于ext4来说性能较低。
ext2:是ext3的前身,是一个简单的Linux文件系统,不具备日志功能,因此更容易遭受数据损坏。
XFS:是一种高性能的日志文件系统,适用于大型文件和高并发访问的场景。
Btrfs:是一个新兴的复制文件系统,具有许多先进的特性,如快照、压缩和校验和。
ReiserFS:是一个早期的日志文件系统,但目前在Linux社区中已经较少使用。
NTFS:是Windows系统中常见的文件系统类型,但在Linux中也有支持,通常用于与Windows系统共享数据。
FAT32 和 exFAT:是用于可移动存储设备的常见文件系统类型,可以在Linux和Windows之间共享数据。
ZFS:是一种先进的文件系统,具有强大的数据完整性和管理功能,但在Linux中需要额外的安装和配置。
[root@shell ~]# mkfs -V -t ext4 /dev/sdb1 
mkfs,来自 util-linux 2.23.2
mkfs.ext4 /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
[root@shell ~]# 

分区完成之后可以使用 partprobe 设备名 来更新内核中中的分区表信息

例子:partprobe /dev/sdb1

4.第四个历程:挂载(装大门)

mount 【设备名】【挂载点】

-t <filesystem>:指定文件系统类型。例如,-t ext4表示要挂载的文件系统是ext4类型。
-o <options>:指定挂载选项。常见的选项包括:
ro:以只读模式挂载文件系统。
rw:以读写模式挂载文件系统。
remount:重新挂载已经挂载的文件系统,可以修改挂载选项。
noexec:禁止在文件系统上执行可执行文件。
nosuid:禁止在文件系统上执行setuid和setgid权限的文件。
nodev:禁止在文件系统上创建设备文件。
uid=<uid>:设置挂载点的所有者用户ID。
gid=<gid>:设置挂载点的所有者组ID。
umask=<mask>:设置文件权限掩码。
defaults:使用默认挂载选项。
-r 或 --read-only:以只读模式挂载文件系统。
-w 或 --read-write:以读写模式挂载文件系统(与 -o rw 等价)。
-o loop:用于挂载一个镜像文件。
-L <label>:根据文件系统标签来挂载。
-U <uuid>:根据UUID(通用唯一标识符)来挂载。
-a:挂载 /etc/fstab 文件中定义的所有文件系统。
[root@shell ~]# mkdir /data
[root@shell ~]# mount /dev/sdb
sdb   sdb1  sdb2  sdb3  sdb4  sdb5  
[root@shell ~]# mount /dev/sdb1 /data
[root@shell ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M  8.0K  378M    1% /run/user/42
tmpfs           378M   36K  378M    1% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1        93M  1.6M   85M    2% /data

取消挂载:

[root@shell ~]# umount /data    #强制取消挂载使用-f umount -f /dev/sdb1或者挂载点
[root@shell ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M  8.0K  378M    1% /run/user/42
tmpfs           378M   36K  378M    1% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
[root@shell ~]# 

永久挂载:
/etc/fstab 用于系统启动时如何挂载文件系统

格式:<file_system> <mount_point>

​ 设备名或者UUID 挂载路径 文件系统类型 读写等参数 是否备份 是否检查

例子:

[root@shell test]# vim /etc/fstab 
[root@shell test]# tail -1 /etc/fstab    #查看最后一行
/dev/sdb1	/test	ext4 defaults	0 0
[root@shell test]# umount /dev/sdb1		 #因为我在这个目录中所以会出现这个条信息
umount: /test:目标忙。(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)
[root@shell test]# cd ..
[root@shell /]# umount /dev/sdb1
[root@shell /]# mount -a 				 #加载/etc/fstab这个文件
[root@shell /]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M     0  378M    0% /run/user/0
tmpfs           378M   12K  378M    1% /run/user/42
/dev/sdb1        93M  1.6M   85M    2% /test
[root@shell /]#

5.测试是否可以放入数据

[root@shell ~]# mount /dev/sdb1 /test
[root@shell ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M     0  378M    0% /run/user/0
tmpfs           378M  8.0K  378M    1% /run/user/42
/dev/sdb1        93M  1.6M   85M    2% /test
[root@shell ~]# cd /test
[root@shell test]# ls
lost+found
[root@shell test]# cd lost+found/
[root@shell lost+found]# ls
[root@shell lost+found]# cd ..
[root@shell test]# touch yuanshang
[root@shell test]# ls
lost+found  yuanshang
[root@shell test]# rm -rf lost+found/
[root@shell test]# ls
yuanshang
[root@shell test]# 

2
/dev/sdb1 93M 1.6M 85M 2% /test
[root@shell ~]# cd /test
[root@shell test]# ls
lost+found
[root@shell test]# cd lost+found/
[root@shell lost+found]# ls
[root@shell lost+found]# cd …
[root@shell test]# touch yuanshang
[root@shell test]# ls
lost+found yuanshang
[root@shell test]# rm -rf lost+found/
[root@shell test]# ls
yuanshang
[root@shell test]#


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php laravel 二维码

public function qr($url,$name2,$inpath){require_once(dirname(__FILE__) . /../../../Library/phpqrcode/phpqrcode.php);$errorCorrectionLevel L;//容错级别$matrixPointSize 10;//生成图片大小$QRcode new \QRcode() ;$QRcode->png($url, $inpath.$name2, $errorCor…

YOLOv5改进系列:Efficientrep结构助力涨点

一、论文理论 本文提出一种硬件友好的卷积神经网络结构,该结构类似于repvgg。在衡量网络效率时,经常使用Flops或者参数量,这些衡量指标对于硬件计算能力和内存带宽不敏感。因此,如何设计一个神经网络架构,使其有效地利用硬件计算能力和内存带宽是至关重要的。 论文地址:…

@Autowired详解

请直接看原文: Autowired注解详解——超详细易懂-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- Autowired详解 要搞明白Autowired注解就是要了解它是什么&#xff1f;有…

C++入门(下)

文章目录 1:引用1.1:引用概念1.2:引用的特性.1.2.1:引用在定义时必须初始化1.2.2:一个变量可以有多个引用1.2.3:引用一旦引用一个实体,再不能引用其他实体. 1.3:应用场景1.3.1:做参数1.3.2:做返回值1.3.2.1:传值返回1.3.2.2:传引用返回(错误示范)1.3.2.3:传引用返回(正确示范) …

如何在Ubuntu使用宝塔部署Emlog网站并发布到公网实现任意浏览器访问

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总结 前言 博客作为使…

springboot Thymeleaf模版引擎使用

1.引入依赖 <!--thymeleaf视图引擎--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> html中要声明约束&#xff0c;这样就可以使用themelraf视…

探索 PostgreSQL 的外部数据包装器和统计函数

PostgreSQL 因其稳定性和可扩展性而广受青睐&#xff0c;为开发人员和数据管理员提供了许多有用的函数。在这些函数中&#xff0c;file_fdw_handler、file_fdw_validator、pg_stat_statements、pg_stat_statements_info 以及 pg_stat_statements_reset 是其中的重要函数&#x…

MySOL数据库管理

数据库基本操作 库和表 数据库–>数据表–>行&#xff08;记录&#xff09;&#xff1a;用来描述一个对象的信息列&#xff08;字段&#xff09;&#xff1a;用来描述对象的一个属性常用的数据类型 int整型float单精度浮点 4字节32位double双精度浮点 8字节64位char固…

3d模型变形动画怎么做---模大狮模型网

要制作3D模型的变形动画&#xff0c;你可以通过使用动画软件(如Blender、Maya、3ds Max等)中的变形工具和技术来实现。以下是一般的步骤来制作3D模型的变形动画&#xff1a; 创建基础模型&#xff1a;首先&#xff0c;在3D建模软件中创建或导入你想要进行变形的基础模型。这个基…

LeetCode 刷题 --- 快速幂

前言&#xff1a; 幂运算是一种常见的运算&#xff0c;求取a^n,最容易想到的方法便是通过循环逐个累乘&#xff0c;其复杂度为O(n)&#xff0c;这在很多时候是不够快的&#xff0c;所以我们需要一种算法来优化幂运算的过程。 快速幂&#xff0c;二进制取幂&#xff08;Binary…

JUC并发编程(五)

1、java内存模型 Java内存模型&#xff08;Java Memory Model&#xff0c;JMM&#xff09;是Java编程语言中用于处理并发编程的一组规则和规范。它定义了Java程序中多线程之间如何交互以及内存如何被共享和访问的规则。它定义了主内存&#xff0c;工作内存的抽象概念&#xff0…

一文让你简单了解跨境电商需要购买堡垒机的几大原因

随着互联网技术的快速发展&#xff0c;跨境电商蓬勃发展&#xff0c;但发展过程中网络安全问题日益凸显。因此不少跨境电商企业购买了堡垒机。这是为什么呢&#xff1f;一文让你简单了解跨境电商需要购买堡垒机的几大原因。 一文让你简单了解跨境电商需要购买堡垒机的几大原因 …

代码随想录day26(2)二叉树:二叉搜索树中的众数(leetcode501)

题目要求&#xff1a;给定一个有相同值的二叉搜索树&#xff08;BST&#xff09;&#xff0c;找出 BST 中的所有众数。结点左子树中所含结点的值小于等于当前结点的值&#xff0c;结点右子树中所含结点的值大于等于当前结点的值。 思路&#xff1a;如果不考虑二叉搜索树&#…

TCP机械臂控制

通过w(红色臂角度增大)s&#xff08;红色臂角度减小&#xff09;d&#xff08;蓝色臂角度增大&#xff09;a&#xff08;蓝色臂角度减小&#xff09;按键控制机械臂 注意&#xff1a;关闭计算机的杀毒软件&#xff0c;电脑管家&#xff0c;防火墙 1&#xff09;基于TCP服务器…

博途PLC 高速计数器复位功能块(HC_Reset)

高速计数器的使用和编码器应用请参考下面文章链接: 1、普通开关计米功能块(博途高速计数器应用) https://rxxw-control.blog.csdn.net/article/details/132354435https://rxxw-control.blog.csdn.net/article/details/1323544352、S7-1200PLC编码器转速测量功能块(高速计数…

含“AI”量上涨,智能模组SC208系列助力智慧零售全场景高质发展

AI正重塑智慧零售产业&#xff0c;加速零售在采购、生产、供应链、销售、服务等方面改善运营效率和用户体验。零售行业经历了从线下到线上再到全渠道融合发展过程&#xff0c;“提质、降本、增效、高体验”是亘古不变的商业化与智能化方向。含“AI”量逐渐上涨的智慧零售正经历…

Git——IDEA中的使用详解

目录 Git1、IDEA中配置Git2、将本地项目推送到远程仓库2.1、创建项目远程仓库2.2、初始化本地仓库2.3、连接远程仓库2.4、提交到本地仓库2.5、推送到远程仓库 3、克隆远程仓库到本地4、基本操作4.1、代码提交到暂存区4.2、暂存区代码提交到本地库4.3、推送到远程仓库4.4、撤销本…

leetCode刷题 18. 四数之和

目录 注意&#xff1a;正常提交后有问题。 1. 思路 2. 解题方法 2.1 排序数组 2.2 双指针遍历 3. 复杂度 4. Code 题目&#xff1a; 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], …

TouchGFX之性能测量

TouchGFX Core开放了几个信号&#xff0c;可用于测量性能。 当这些信号在内部触发时&#xff0c;用户可在应用程序中同步触发单个GPIO&#xff0c;从而实现“渲染时间”和其他有用信号的可视化。 信号在GPIO.hpp中定义 /* 用于操作GPIO的接口类&#xff0c;以便在目标硬件上进…

力扣---完全平方数

思路&#xff1a; 还是比较好想的&#xff0c;g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]min(g[i-1],g[i-4],g[i-9],...)1&#xff0c;数组初始化是g[0]0,g[1]1。注意这里要对g[0]初始化&#xff0c;&#xff08;举个例子&#xff09;因为在遍历到g[4]时&…