Linux 磁盘的一生
注意:实验环境都是使用VMware模拟
磁盘接口类型这里vm中是SCSI,扩展sata,ide(有时间可以看看或者磁盘的历史)
总结:磁盘从有到无—类似于建房子到可以住
———————————————————————————————————————————
1.第一个历程:添加磁盘(房子框架)(具体几块看自己,可以做Raid博客可以看我的链接)
不重启检测磁盘:
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]#
相关文章:

Linux 磁盘的一生
注意:实验环境都是使用VMware模拟 磁盘接口类型这里vm中是SCSI,扩展sata,ide(有时间可以看看或者磁盘的历史) 总结:磁盘从有到无—类似于建房子到可以住 ————————————————————————————————————…...

C#配置连接数据库字段
在Web.config文件中 添加如下配置 <!--连接数据库字段--><connectionStrings><add name"sql" connectionString"server.;uidsa;pwd8888;databaseArticleWebSite" /></connectionStrings>...
QCOM和其他常见芯片平台术语缩写
1 QCOM 1.1 General Qualcomm: Quality Communications ALSA DCP:ALSA由DAI、Codec、Platform三部分组成 ALSA TLV:Type-Length-Value Alternative Mode: 替代模式 ANC:Automatic Noise Canceller ASM: Anntena Switch Module AT:…...
css页面布局
CSS属性书写顺序(重点) 建议遵循以下顺序: 布局定位属性:display / position/ float / clear / visibility / overflow(建议display第一个写,毕竟关系到模式) 自身属性:width / height / margin / padding / border / background…...

6、Design Script之列表
Range 在DesignScript中,Range是从起点到终点的一系列数字,使用指定的步距(间距类型),并有以下的初始化方法: start..end..step; start..end..#amount; start..end..~approximate; Range可以是数字的,也可以是字母的。 字母范围因大小写而异。 开始,结束. .#数量范围(…...
Mysql数据库的多实例部署
mysql多实例部署 先进行软件下载 上传二进制格式的mysql软件包 [rootcjy ~]# ls anaconda-ks.cfg mysql-8.0.35-linux-glibc2.28-x86_64.tar.xz配置用户和组并解压二进制程序至/usr/local下 创建用户和组 [rootcjy ~]# useradd -r -s /sbin/nologin -M mysql解压软件至/usr…...

陈巍:Sora大模型技术精要万字详解(上)——原理、关键技术、模型架构详解与应用
目录 收起 1 Sora的技术特点与原理 1.1 技术特点概述 1.2 时间长度与时序一致性 1.3 真实世界物理状态模拟 1.4 Sora原理 1.4.1扩散模型与单帧图像的生成 1.4.2 Transformer模型与连续视频语义的生成 1.4.3 从文本输入到视频生成 2 Sora的关键技术 2.1 传统文生图技…...

JS原型和原型链的理解
原型链图,图中Parent是构造函数,p1是通过Parent实例化出来的一个对象 前置知识 js中对象和函数的关系,函数其实是对象的一种 函数、构造函数的区别,任何函数都可以作为构造函数,但是并不能将任意函数叫做构造函数&…...

力扣题单(小白友好)
力扣题单 算法小白自用题单,目前对于一些简单的数据结构感觉掌握的还可以,但是力扣很多题还是需要看题解,不够熟练;故整理了一份题单,用于巩固练习; 网上确实有很多对于算法分类讲解的网站,but:有一丢丢选择困难症,每天不知道该刷什么题,再加上网站对于一类题一般就有十几道题目…...
王道c语言ch11-单链表的新建、插入、删除例题
王道c语言ch11-单链表的新建、插入、删除例题 #include <stdio.h> #include <stdlib.h> #define END 33typedef int ElemType;typedef struct LNote {ElemType data;struct LNote *next; } LNote, *LinkList;//头插法 void list_head_insert(LinkList &L) {El…...
蓝桥杯刷题--python-23
2.危险系数 - 蓝桥云课 (lanqiao.cn) n, m map(int, input().split()) map_ [[] for i in range(n 1)] used [0 for i in range(n 1)] used_ [0 for i in range(n 1)] cnt 0 res [] for _ in range(m):u, v map(int, input().split())map_[u].append(v)map_[v].appen…...
蓝桥杯刷题--python-24
0地图 - 蓝桥云课 (lanqiao.cn) from math import * import sys from functools import lru_cache # sys.setrecursionlimit(100000) n, m, k map(int, input().split()) a [input() for i in range(n)] dr [(0, 1), (1, 0)] cnt 0 lru_cache(maxsizeNone) def dfs(x, y, …...

面向对象(C# )
面向对象(C# ) 文章目录 面向对象(C# )ref 和 out传值调用和引用调用ref 和 out 的使用ref 和 out 的区别 结构体垃圾回收GC封装成员属性索引器静态成员静态类静态构造函数拓展方法运算符重载内部类和分布类 继承里氏替换继承中的…...
Lombok:@Cleanup资源释放利器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、Cleanup介绍 二、使用示例 三、价值阐述 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、Cleanup介绍 Cleanup可以自动管理输…...

IoT 物联网场景中 LoRa + 蓝牙Bluetooth 室内场馆高精定位技术全面解析
基于LoRa蓝牙的室内场景定位技术,蓝牙主要负责位置服务,LoRa主要负责数据传输。 01 LoRa和蓝牙技术 LoRa全称 “Long Rang”,是一种成熟的基于扩频技术的低功耗、超长距离的LPWAN无线通信技术。LoRa主要采用的是窄带扩频技术,抗干…...

SpringCloudAlibaba系列之Seata实战
目录 环境准备 1.下载seata安装包 2.修改配置文件 3.准备seata所需配置文件 4.初始化seata所需数据库 5.运行seata 服务准备 分布式事务测试 环境准备 1.下载seata安装包 Seata-Server下载 | Apache Seata 本地环境我们选择稳定版的二进制下载。 下载之后解压到指定目录…...
蓝桥杯day5刷题日记-分巧克力-天干地支-求和
P8647 [蓝桥杯 2017 省 AB] 分巧克力 思路:二分查找 #include <iostream> using namespace std; int n,k; int h[100010],w[100010];bool check(int x) {int sum0;for(int i0;i<n;i){sum(h[i]/x)*(w[i]/x);if(sum>k) return true;}return false; }int…...
C++ ostringstream用法详解
std::ostringstream 是 C 标准库中的一个输出字符串流类,它可以用于将各种数据类型转换为字符串,并且支持格式控制和字符串拼接操作。 目录 1. 头文件 2. 基本用法 3. 将各种数据类型转换为字符串 4. 格式控制 5. 清空和重置 6. 拼接字符串 1. 头…...

并发编程所需的底层基础
一、计算机运行的底层原理 1.多级层次的存储结构 ①:辅存 固态盘不是主要的应用对象,因为固态盘的使用次数是有限的,无法支撑高并发场景 磁盘存储的最基本原理是电生磁。 磁盘的磁道里边有很多的磁颗粒,磁颗粒上边有一层薄膜为了防止磁点氧…...
各种小功能
目录 Python在指定目录创建多个相似命名的文件夹 Python 在指定目录创建多个相似命名的文件夹...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...