当前位置: 首页 > news >正文

linux的磁盘管理

认识磁盘

在这里插入图片描述

  • 从外到内,磁道从0~XXX。
  • 扇区默认512字节
  • 先读完一个柱面的0号磁道,接着读第二个柱面的0号磁道……直至所有柱面的0号磁道读写完毕,进入下一个磁道。

磁盘命名规则

物理磁盘:sd开头;虚拟磁盘vd开头

sdb1:第二块物理磁盘的第二个分区

查看磁盘的uuid号

[root@web~]# blkid
/dev/sda1: UUID="bd68c0c6-6244-40d9-822c-c3f4cb42089d" TYPE="xfs" 
/dev/sda2: UUID="d1d71726-0fc7-421a-92b9-bd94bee023d4" TYPE="swap" 
/dev/sda3: UUID="74cddce8-5b9d-4220-a1b9-165aba807f6b" TYPE="xfs"

raid卷

做raid好处
  1. 提高磁盘冗余
  2. 提高读写性能
  3. 更多的磁盘容量
raid级别
raid名称硬盘数安全性容量性能场景
raid01~所有磁盘之和读写快从节点
raid12最多坏1一半读OK写慢系统盘
raid53~最多坏1n-1/n读OK写慢普通数据库
raid104~(2的倍数)最多坏一半一半读写快高并发,主库

raid5校验原理:所有校验数据数据加起来正好是一块硬盘容量。

  • 为了更好的冗余,还可以在raid5增加一个热备盘

在这里插入图片描述

raid10结构图

在这里插入图片描述

MBR分区类型

在这里插入图片描述

  • MBR所处磁盘位置:0磁道的1扇区

  • MPR:每块硬盘上存放的硬盘引导程序,总共512字节

  • 这512字节里包含:

    • 引导程序446字节(MBR)

    • 磁盘分区表

    • 结束标记55AA

MBR缺点

在这里插入图片描述

  • 一个磁盘支持的最大容量只有2T
  • 最多只能4个主分区,若要做到更多分区。则要用到拓展分区

假设有一个1T的磁盘

  • 如果一个分区用了1T,那么无法继续创建分区

  • 4个主分区总共用了600G,还有400G是无法使用的,造成了浪费。

MBR缺点解决

在这里插入图片描述

在第四块分区设为拓展分区,以达到不断拓展效果

GPT分区类型和parted命令

优点:主分区可以无限。所用命令为parted

parted

parted分区是实时生效,不像fdisk在内存中。

parted命令介绍

parted内部命令说明
mktable/mklable gpt/msdos磁盘引导类型GPT/MBR
p查看当前分区
mkpart 分区名 开始 结束创建分区及分区名、分区大小
rm +nuber删除分区
resizepart调整已有分区的大小,如resizepart 1 100% resizepart 1 512GB

parted分区(交互式)

MVME磁盘

1.给Centos7添加一块Nvme硬盘(SCSI也可以)

2.查看系统已经识别到新加的硬盘nvme0n1

[root@wzy dev]# lsblk                                                     
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  128G  0 disk 
...........省略
nvme0n1         259:0    0   32G  0 disk

3.设置为GPT分区

parted /dev/nvme0n1(parted) mktable  gpt
警告: The existing disk label on /dev/nvme0n1 will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? Yes      #出现提示:操作回清除数据选Yes                                                   
(parted)

4.用p查看当前成为了GPT

(parted) p                                                                
Model: NVMe Device (nvme)
Disk /dev/nvme0n1: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt	#GPT分区
Disk Flags: 
Number  Start  End  Size  File system  Name  标志
(parted)

5.mkpart命令开始分区

nvdisk是分区名。0表示开始,100是结束,所以这个分区最终大小是100MB。

(parted) mkpart nvdisk1 0 100
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore                                           
(parted)

6.查看分区1

(parted)p
Model: NVMe Device (nvme)
Disk /dev/nvme0n1: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start   End    Size   File system  Name     标志1      17.4kB  100MB  100MB               nvdisk1

7.继续创建分区

(parted) mkpart nv2 100 300
(parted) p                                                                
.........
Number  Start   End    Size   File system  Name  标志1      17.4kB  100MB  100MB               nv12      100MB   300MB  200MB               nv2

8.用lsblk命令查看磁盘

多了2个分区

nvme0n1         259:0    0    32G  0 disk 
├─nvme0n1p1     259:1    0  95.4M  0 part 
└─nvme0n1p2     259:2    0 190.8M  0 part 

9.格式化磁盘分区,挂载后就可以使用了

[root@wzy mnt]# mkfs.xfs /dev/nvme0n1p1
[root@wzy mnt]# mount /dev/nvme0n1p1 /mnt
[root@wzy mnt]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 475M     0  475M    0% /dev
........
/dev/nvme0n1p1            93M  5.0M   88M    6% /mnt

SATA磁盘

[root@m05~]# parted /dev/sdc
GNU Parted 3.1
使用 /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt                                                      
警告: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? yes       # 创建一个主分区类型为ext4
(parted) mkpart primary ext4 0% 648GB                                    # 查看所有分区
(parted) p                                                                
Model: ATA VMware Virtual S (scsi)
Disk /dev/sdc: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: Number  Start   End    Size   File system  Name     标志1      1049kB  648GB  648GB  ext4         primary# 退出parted模式
(parted) quit                                                             
信息: You may need to update /etc/fstab.[root@m05~]# lsblk /dev/sdc1
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdc1   8:33   0 603.5G  0 part[root@m05~]# mkfs.ext4 /dev/sdc1# 然后就是挂载步骤,略...

parted分区案例(使用整块磁盘&非交互式)

创建一个目录/data-sdc1,把整个磁盘sdc挂载上去。要求使用parted命令,设置GPT分区

[root@m05~]# lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc    8:32   0   2T  0 disk

1.查看磁盘信息,先确认 /dev/sdc 的当前状态:

[root@m05~]# parted /dev/sdc print
错误: /dev/sdc: unrecognised disk label
Model: ATA VMware Virtual S (scsi)                                        
Disk /dev/sdc: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

2.创建 GPT 分区表,将磁盘的分区表设置为 GPT:

[root@m05~]# parted /dev/sdc mklabel gpt
信息: You may need to update /etc/fstab.[root@m05~]# echo $?                                                      
0

3.创建一个新的分区,创建一个覆盖整个磁盘的分区:

[root@m05~]# parted /dev/sdc mkpart primary ext4 0% 100%
信息: You may need to update /etc/fstab.
[root@m05~]# echo $?                                                      
0[root@m05~]# lsblk /dev/sdc
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc      8:32   0   2T  0 disk 
└─sdc1   8:33   0   2T  0 part

primary:分区类型。
ext4:文件系统类型(仅标识,实际文件系统需要单独创建)。
0% 和 100%:起始和结束范围,表示使用整个磁盘。

4.格式化分区,将新创建的分区格式化为 ext4 文件系统:

[root@m05~]# mkfs -t ext4 /dev/sdc1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
134217728 inodes, 536870400 blocks
26843520 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2684354560
16384 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成       [root@m05~]#

5.挂载并查看:

[root@m05~]# mkdir /data-sdc1
[root@m05~]# mount /dev/sdc1 /data-sdc1/
[root@m05~]# df -Th /dev/sdc1
文件系统       类型  容量  已用  可用 已用% 挂载点
/dev/sdc1      ext4  2.0T   81M  1.9T    1% /data-sdc1

磁盘安装(fdisk操作)

  1. 分区
  2. 分配文件系统
  3. 挂载

硬盘添加前:

[root@wzyCentos mnt]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2

硬盘添加后:

[root@wzyCentos ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc

b c代表硬盘块数;b表示第二块硬盘,c第三块

fdisk命令

进入fdisk后删除键无法使用,用Ctrl + 删除键或Ctrl + U

fdisk命令选项说明
-l列出硬盘,不指定磁盘,默认列出所有
fdisk内部命令说明
d删除分区
n新建分区
w执行所做操作
h获取帮助
p查看此块磁盘分区信息
t更改分区号
  • 拓展分区最多只有一个,创建一个拓展分区后只能创建逻辑分区

在这里插入图片描述

  • 逻辑分区号只能从5开始,即使1-4还有空余分区号

在这里插入图片描述

  • 未挂载前,只能看到磁盘文件,df -h看不到
[root@wzy test]# ls /dev/sdb*
/dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb5
fdisk分区操作

在这里插入图片描述

安装步骤

  1. fdisk /dev/sdb

m查看帮助

  1. n新建分区
  • p 主分区
  • e 扩展分区
  1. 扇区默认
Select (defaultp): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
  1. 添加想要的容量
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+20m
命令(输入 m 获取帮助):p		#使用p查看出现了sdb1分区设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048       43007       20480   83  Linux
  1. 所做配置写入磁盘

注意提示所以输入w之前操作都是在内存当中,退出后不会发生任何变化

欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

创建文件系统

mkfs 创建文件系统,并把磁盘分区格式化

mkfs.xfs /dev/sdb1

mkfs命令说明
mkfs.xxx要设置的文件系统
-f强制转化
-t指定文件系统类型
xfs(xfs为Centos7默认) ext4文件系统类型

挂载分区

磁盘分区作为一个设备文件,需要一个目录作为进入的入口,所以把格式化的分区挂载在一个目录。例如/mnt

挂载相关命令说明
mount挂载
umount卸下挂载

自动挂载使用fstab实现

系统重启后挂载会丢失

方法1:在/etc/rc.local中写入挂载命令

方法2:专门执行挂载的配置文件/etc/fstab

fstab文件分析

位于:/etc/fstab

fstab字段分析:

  • 设备名
    文件系统对应的设备或分区(如 /dev/sdb1),也可以使用 UUID 或标签(如 UUID=xxxx-xxxx 或 LABEL=MyDisk)

  • 挂载点
    文件系统在系统中的挂载位置(如 /home 或 /mnt/data)

  • 文件系统类型
    文件系统格式(如 ext4、xfs、swap、ntfs)

  • 挂载选项

    挂载时的选项,用逗号分隔(如 defaults、ro、noatime 等)

    • defaults默认选项,相当于 rw, suid, dev, exec, auto, nouser, async
    • noexec,禁止在挂载点运行二进制文件
    • nosuid,禁止 SUID 和 SGID 位的权限提升
    • nodev,禁止解析挂载点上的设备文件
    • noatime / relatime,禁止或优化 文件最近访问时间的更新,以提升性能。noatime 完全禁用更新,relatime 仅在最近一次修改或访问时间较旧时更新
    • sync / async,数据写入方式,sync 为同步写入,async 为异步写入
    • uid / gid,指定挂载的所有者用户(UID)和用户组(GID)
    • user / nouser,允许(user)或禁止(nouser)非管理员用户挂载
  • 转储选项
    用于备份程序(dump)。0 表示忽略;1 表示优先备份;2 表示次级备份

  • 文件系统检查顺序
    fsck 启动时检查文件系统的顺序。0 表示不检查;1 表示优先检查(通常是根文件系统);2 表示次级检查。

设备名/UUID挂载点文件系统挂载选项转储选项文件系统检查顺序
/dev/sdb1/mntxfsdefaults00

swap交换分区

  • 内存不足危害:系统会随机杀死进程

  • swap概述:使用一部分硬盘空间充当虚拟内存使用,但性能不如物理内存

  • swap查看:free -h查看总体内存使用状况,包括虚拟内存

[root@wzy mnt]# free -htotal        used        free      shared  buff/cache   available
Mem:           972M        213M        639M        7.6M        119M        625M
Swap:          2.0G          0B        2.0G

swap扩容

1.创建一个1G的交换文件

dd if=/dev/zero of=/tmp/swap1g bs=1M count=1000

  • if = input file
  • of = outputfile
  • bs 读取大小
  • count 读取次数

2.把swp文件格式化

mkswap /tmp/swap1g

3.修改为0600权限

chmod 0600 /tmp/swap1g

4.挂载

swapon /tmp/swap1g

永久挂载在fstab文件中增加,或者在rc.local文件中写入对应命令

/dev/swap1g swap swap defaults 0 0

5.维护命令,取消swap

       total        used        free      shared  buff/cache   available

Mem: 972M 213M 639M 7.6M 119M 625M
Swap: 2.0G 0B 2.0G


### swap扩容1.创建一个1G的交换文件`dd if=/dev/zero of=/tmp/swap1g bs=1M count=1000`- if = input file
- of = outputfile
- bs 读取大小
- count 读取次数2.把swp文件格式化`mkswap /tmp/swap1g`3.修改为0600权限`chmod 0600 /tmp/swap1g`4.挂载`swapon /tmp/swap1g`永久挂载在fstab文件中增加,或者在rc.local文件中写入对应命令`/dev/swap1g	swap	swap	defaults 0 0` 5.维护命令,取消swap`swapoff /tmp/swap1g`

相关文章:

linux的磁盘管理

认识磁盘 从外到内,磁道从0~XXX。扇区默认512字节先读完一个柱面的0号磁道,接着读第二个柱面的0号磁道……直至所有柱面的0号磁道读写完毕,进入下一个磁道。 磁盘命名规则 物理磁盘:sd开头;虚拟磁盘vd开头 sdb1:第二…...

Alibaba EasyExcel 导入导出全家桶

一、阿里巴巴EasyExcel的优势 首先说下EasyExcel相对 Apache poi的优势: EasyExcel也是阿里研发在poi基础上做了封装,改进产物。它替开发者做了注解列表解析,表格填充等一系列代码编写工作,并将此抽象成通用和可扩展的框架。相对p…...

使用Scala编写一个简单的决策树分类测试demo

使用Scala编写一个简单的决策树分类测试demo,我们可以基于Apache Spark的MLlib库来实现。这里将展示如何创建一个简单的决策树分类器,并用它来进行预测。我们将遵循以下步骤: 设置环境和导入必要的包。加载并准备数据集。构建决策树模型。使…...

SQLServer中使用ISNULL替换为指定的替换值

ISNULL (Transact-SQL) 适用于: SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics 分析平台系统 (PDW)Microsoft Fabric 中的 SQL 分析端点Microsoft Fabric 中的仓库 NULL替换为指定的替换值。 1、语法 ISNULL ( check_expression , rep…...

69 mysql 中 is null 的实现

前言 Mysql 中我们偶尔会用到 字段为 NULL 的情况 这时候 我们只能使用查询 “select * from tz_test_02 where field1 is null;” 来进行 field1 字段为 null 的行的查询 然后如果是使用 “select * from tz_test_02 where field1 null;” 你会发现查询 不出数据 但是如…...

【信息系统项目管理师】第9章:项目范围管理-基础和过程 考点梳理

文章目录 9.1 管理基础9.1.1 产品范围和项目范围9.1.2 管理新实践 9.2 项目范围管理过程9.2.1 过程概述9.2.2 裁剪考虑因素9.2.3 敏捷与适应方法 【学习建议】本章节内容属于10大管理知识领域,选择、案例、论文都会考,建议重点学习。项目范围管理包括确保…...

智能制造标准体系建设指南

一、智能制造系统架构总览 智能制造作为当今制造业转型升级的核心,深度整合了新一代信息技术与传统制造工艺,催生出一个横跨产品全生命周期、纵贯多层级组织架构,并彰显多元智能特性的复杂系统。这一架构从生命周期、系统层级、智能特征三个…...

怎么获取键值对的键的数值?

问: 通过paelData.cardMap.C0002112可以获取到Cooo2112里面的数据,但是有时候接口返回的不是C0002112而是C0002093或者其他值,请问我该怎么写? 后端返回的数据是这样的: cardMap: { C0002112: { name: Item 1, va…...

反向代理后Request.Url.AbsoluteUri获取成了内网IP

出现的问题:用户请求的是域名,而后端通过Request.Url.AbsoluteUri获取用户请求的绝对路径时,变成了内网IP 解决方式: 反向代理配置中加上: proxy_set_header Host $host; # proxy_set_header Host h o s t : host: h…...

NLP论文速读(斯坦福大学)|使用Tree将语法隐藏到Transformer语言模型中正则化

论文速读|Sneaking Syntax into Transformer Language Models with Tree Regularization 论文信息: 简介: 本文的背景是基于人类语言理解的组合性特征,即语言处理本质上是层次化的:语法规则将词级别的意义组合成更大的成分的意义&…...

OpenCV-图像阈值

简单阈值法 此方法是直截了当的。如果像素值大于阈值,则会被赋为一个值(可能为白色),否则会赋为另一个值(可能为黑色)。使用的函数是 cv.threshold。第一个参数是源图像,它应该是灰度图像。第二…...

window系统,照片应用打开图片,但是提示操作系统找不到已输入的环境选项,请问怎么解决,以便能打开图片

文章目录 问题描述问题解决一、先用AI提问,看能否得到解答二、最终的解决方法-修改环境变量 至此问题解决。 问题描述 Windows中,使用默认的图片应用打开图片时,提示: 操作系统找不到已输入的环境选项如下图: 这个问…...

Excel之查找函数-XLOOKUP

背景: 某些数据处理,需要对比两个乱序或者数据不完全相同的数值,取到另外一个数据值,数据量大的情况下,人工对比太耗时,XLOOKUP函数是一个查找函数,可以通过遍历对比某一单元格的值&#xff0c…...

深入理解 Java 内存管理:堆和栈

深入理解 Java 内存管理:堆和栈的全面解析 在 Java 编程语言中,内存管理是一个至关重要的概念,其中堆(Heap)和栈(Stack)是两个核心的内存区域。理解它们的工作原理、用途以及它们在程序执行过程…...

深度全解析开放开源大模型之BLOOM

BLOOM是 BigScience Large Open-science Open-access Mul-tilingual Language Model首字母的缩写。 BigScience 不是财团(consortium),也不是正式成立的实体。这是一个由HuggingFace、GENCI和IDRIS发起的开放式协作组织,以及一个…...

下载谷歌浏览器的官方离线安装包

网址:https://support.google.com/chrome/answer/95346?hlzh-Hans&coGENIE.Platform%3DDesktop#zippy%2Cwindows...

ORACLE创建用户报错ORA-65096: invalid common user or role name

在高版本的oracle中创建用户时提示错误ORA-65096: invalid common user or role name,官网说明用户名必须使用C##或c##开头。以下方法亲测有效。 通过设置"_ORACLE_SCRIPT"参数为true来临时绕过CDB中创建用户必须以"C##"开头的限制。请注意&…...

河工oj第七周补题题解2024

A.GO LecturesⅠ—— Victory GO LecturesⅠ—— Victory - 问题 - 软件学院OJ 代码 统计 #include<bits/stdc.h> using namespace std;double b, w;int main() {for(int i 1; i < 19; i ) {for(int j 1; j < 19; j ) {char ch; cin >> ch;if(ch B) b …...

运维大屏与设备仪表盘:打造高效运维管理的视觉中枢

在快速发展的信息化时代&#xff0c;运维行业面临着前所未有的挑战。随着业务规模的不断扩大和系统复杂度的日益增加&#xff0c;如何高效、准确地监控和管理设备运行状态&#xff0c;成为运维团队亟待解决的问题。运维大屏与设备仪表盘作为运维管理的重要工具&#xff0c;为运…...

计算机视觉与医学的结合:推动医学领域研究的新机遇

目录 引言医学领域面临的发文难题计算机视觉与医学的结合&#xff1a;发展趋势计算机视觉结合医学的研究方向高区位参考文章结语 引言 计算机视觉&#xff08;Computer Vision, CV&#xff09;技术作为人工智能的重要分支&#xff0c;已经在多个领域取得了显著的应用成果&…...

使用setsockopt函数SO_BINDTODEVICE异常,Protocol not available

前言 最近在使用OLT的DHCP Server的时候发现一些异常现象&#xff0c;就是ONU发的一个vlan的discover包其他不同vlan的DHCP地址池也会收到&#xff0c;导致其他服务器也发了offer包&#xff0c;ONU同时会有多个ip地址。一开始是没有使用SO_BINDTODEVICE&#xff0c;后面查到使…...

rpm包转deb包或deb包转rpm包

Debian系&#xff08;Ubuntu、Deepin、麒麟Destop等&#xff09;用的安装包是deb的&#xff0c;Red Hat系&#xff08;CentOS、欧拉、麒麟Server等&#xff09;用的安装包是rpm的。 如果需要在Ubuntu上安装rpm&#xff0c;或需要在CentOS上安装deb&#xff0c;需要安装alien s…...

ChatGPT 和文心一言哪个更好用?

ChatGPT vs 文心一言&#xff1a;哪个更好用&#xff1f; 引言 在人工智能蓬勃发展的今天&#xff0c;聊天机器人已经成为我们生活和工作中不可或缺的一部分。你可能听说过ChatGPT和文心一言这两个热门的聊天机器人&#xff0c;它们分别来自OpenAI和百度。那么&#xff0c;究…...

T113-S3 Tina 存储类型修改

前面介绍了如何在 Tina 中添加新的板子&#xff0c;本节介绍如何修改板子存储类型。 1、确定存储类型 Tina 支持多种存储类型&#xff0c;包括 SD 卡、eMMC、SPI NAND、SPI NOR 等。在添加板子之前&#xff0c;需要确定板子使用的存储类型。 存储类型修改 在 device/config/…...

【css】基础(一)

本专栏内容为&#xff1a;前端专栏 记录学习前端&#xff0c;分为若干个子专栏&#xff0c;html js css vue等 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;css专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &a…...

Linux中inode

磁盘的空间管理 如何对磁盘空间进行管理&#xff1f; 假设在一块大小为500G的磁盘中&#xff0c;500*1024*1024524288000KB。在磁盘中&#xff0c;扇区是磁盘的基本单位&#xff08;一般大小为512byte&#xff09;&#xff0c;而文件系统访问磁盘的基本单位是4KB&#xff0c;因…...

verilog fpga 如果if语句==号后面是个表达式 运行不稳定

来自 文心一言 在Verilog中编写FPGA代码时&#xff0c;使用if语句进行条件判断是常见的操作。然而&#xff0c;当if语句中的条件判断使用的是表达式&#xff08;如后面是一个复杂的表达式&#xff09;&#xff0c;确实可能会遇到运行不稳定的问题。这通常是由于以下几个原因导…...

BFS广度优先搜索

广度优先搜索&#xff08;Breadth-First Search, BFS&#xff09;是一种用于遍历或搜索树或图的算法。 它从根节点开始&#xff0c;逐层访问每个节点&#xff0c;并在访问完一层后才访问下一层。BFS常用于寻找最短路径的问题。 下面将用实例一和实例二来实现BFS广度优先搜索 …...

uniapp 自定义导航栏增加首页按钮,仿微信小程序操作胶囊

实现效果如图 抽成组件navbar.vue&#xff0c;放入分包 <template><view class"header-nav-box":style"{height:Props.imgShow?:statusBarHeightpx,background:Props.imgShow?:Props.bgColor||#ffffff;}"><!-- 是否使用图片背景 false…...

小程序项目的基本组成结构

分类介绍 项目根目录下的文件及文件夹 pages文件夹 用来存放所有小程序的页面&#xff0c;其中每个页面都由4个基本文件组成&#xff0c;它们分别是&#xff1a; .js文件&#xff1a;页面的脚本文件&#xff0c;用于存放页面的数据、事件处理函数等 .json文件&#xff1a;…...

2020年国赛高教杯数学建模E题校园供水系统智能管理解题全过程文档及程序

2020年国赛高教杯数学建模 E题 校园供水系统智能管理 原题再现 校园供水系统是校园公用设施的重要组成部分&#xff0c;学校为了保障校园供水系统的正常运行需要投入大量的人力、物力和财力。随着科学技术的发展&#xff0c;校园内已经普遍使用了智能水表&#xff0c;从而可以…...

《C++与 OpenCV 机器学习模块:目标检测的强大融合》

在当今科技飞速发展的时代&#xff0c;目标检测技术已经成为计算机视觉领域的一颗璀璨明珠&#xff0c;广泛应用于安防监控、自动驾驶、智能图像分析等众多领域。而 C语言凭借其高效性和强大的性能&#xff0c;与 OpenCV 的机器学习模块相结合&#xff0c;为实现精准且高效的目…...

函数与模块

目录 1.函数 1.1.函数概念 1.2.函数定义 1.3.函数分类 1.4.函数参数类型 1.4.1.位置参数 1.4.2.关键字参数 1.4.3.默认值参数 1.4.4.可变参数 1.5.匿名函数 1.6.参数传递问题 2.冒泡排序 2.1.冒泡排序规则 2.2.冒泡排序实现 3.math 模块 4.random 模块 5.date…...

SQL面试题——滴滴SQL面试题 取出累计值与1000差值最小的记录

滴滴SQL面试题 取出累计值与1000差值最小的记录 今天的题目来自滴滴出行 已知有表cost_detail包含id和money两列,id为自增,请累加计算money值,并求出累加值与1000差值最小的记录。 +-----+--------+ | id | money | +-----+--------+ | 1 | 200 | | 2 | 300 …...

使用 Elastic 和 Amazon Bedrock 制作混合地理空间 RAG 应用程序

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Srinivas Pendyala, Ayan Ray 借助 Elasticsearch 及其向量数据库&#xff0c;你可以构建可配置的搜索和可信的生成式 AI (GenAI) 体验&#xff0c;这些体验可快速从原型扩展到生产。主要功能包括&#xff1a; 内…...

计算机软著个人申请指南

笔者最近申请了两本软著证书&#xff0c;结合自己的经历介绍一下。 软著登记网址&#xff1a;中国版权业务登记平台 准备工作 你的项目源码源代码统计工具 source-codes-trim&#xff1a;笔者开发自用的源码处理工具vscode插件其他的可以自己在网上搜资源 Word 申请流程 注…...

OmniParser一种用于增强视觉语言模型与用户界面交互效果的技术

OmniParser一种用于增强视觉语言模型与用户界面交互效果的技术 OmniParser的核心功能是将用户界面截图转换为结构化元素&#xff0c;这一过程涉及几个关键步骤和技术要素&#xff0c;解决了视觉语言模型&#xff08;VLMs&#xff09;在与用户界面交互时所面临的多种挑战。 1.…...

HBU深度学习作业10-BPTT

1、推导BPTT 2、推导梯度 3、分析其可能存在梯度爆炸的原因并给出解决方法 为了改善循环神经网络的长程依赖问题&#xff0c;一种非常好的解决方案是在公 式(6.50)的基础上引入门控机制来控制信息的累积速度&#xff0c;包括有选择地加入新 的信息&#xff0c;并有选择地遗忘之…...

L2G6000 - MindSearch部署实践

文章目录 MindSearch部署实践部署MindSearch到 hugging face Spaces上启动MindSearch启动后端启动前端 部署到自己的 HuggingFace Spaces上 部署MindSearch streamlit版本到Hugging Face上 MindSearch部署实践 部署MindSearch到 hugging face Spaces上 在Codespaces上选择Bla…...

CentOS 7 上安装 MySQL 8.0.40 (二进制安装)

要在 CentOS 7 上安装 MySQL 8.0.40&#xff0c;按照以下步骤操作&#xff1a; 下载安装包。 https://dev.mysql.com/downloads/mysql/ 下载之前查看系统c版本 解压安装包 首先&#xff0c;解压下载的 .tar.xz 安装包。 cd /path/to/your/downloads tar -xvf mysql-8.0…...

应用案例 | 船舶海洋: 水下无人航行器数字样机功能模型构建

水下无人航行器数字样机功能模型构建 一、项目背景 为响应水下装备系统研制数字化转型及装备系统数字样机建设的需要&#xff0c;以某型号水下无人航行器&#xff08;Underwater Unmanned Vehicle&#xff0c;UUV&#xff09;为例&#xff0c;构建UUV数字样机1.0功能模型。针对…...

Chromium CDP 开发(六):注册自己的指令(下)

引言 在这一章节中&#xff0c;我们将详细讲解如何将新定义的 TimerSend 指令和 TimerLog 事件添加到项目 的 inspector_protocol_config.json 文件中&#xff0c;从而使这些功能能够在 CDP&#xff08;Chrome DevTools Protocol&#xff09;中被识别并正常使用。 inspector_pr…...

【基础算法总结】哈希表/set/map篇

目录 一&#xff0c;哈希表简介二&#xff0c;算法原理和代码实现1.两数之和349.两个数组的交集面试题01.02.判断是否互为字符重排217.存在重复元素219.存在重复元素II692.前k个高频单词45.字母异位词分组 三&#xff0c;算法总结 一&#xff0c;哈希表简介 哈希思想是算法中一…...

数字逻辑理论题目+知识点复习

昨天考完的数字逻辑理论考试&#xff0c;啊啊啊还有实验&#xff0c;生活不易&#xff0c;且行且珍惜。 请以最大的善意对待生活(,,>᎑<,,)。...

证明网络中的流形成一个凸集

证明网络中的流形成一个凸集 步骤1&#xff1a;定义和符号步骤2&#xff1a;线性组合步骤3&#xff1a;验证容量限制步骤4&#xff1a;验证流量守恒结论示例代码&#xff08;C语言&#xff09; 在网络流理论中&#xff0c;一个流 f f f 是定义在网络图的边集上的一种函数&…...

SpringBoot3

1. 配置文件 1. 基本使用 使用 配置文件classpath:application.properties spring.jdbc.drivercom.mysql.cj.jdbc.Driver spring.jdbc.urljdbc:mysql://localhost:3306/batis spring.jdbc.usernameroot spring.jdbc.password123456使用配置文件的值&#xff1a;Value("…...

Linux之线程概念,理解和控制

Linux之线程概念&#xff0c;理解和控制 一.线程1.1线程的概念1.2线程的理解1.3线程的优缺点&#xff0c;异常和用途1.4线程和进程1.5线程的控制1.4.1线程的创建1.4.2线程的终止1.4.3线程的等待1.4.4线程的分离 一.线程 1.1线程的概念 在我们了解了进程的同时我们在学校上课时…...

系统监控——分布式链路追踪系统

摘要 本文深入探讨了分布式链路追踪系统的必要性与实施细节。随着软件架构的复杂化&#xff0c;传统的日志分析方法已不足以应对问题定位的需求。文章首先解释了链路追踪的基本概念&#xff0c;如Trace和Span&#xff0c;并讨论了其基本原理。接着&#xff0c;文章介绍了SkyWa…...

【Leetcode Top 100】146. LRU 缓存

问题背景 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 c a p a c i t y capacity capacity 初始化 LRU 缓存int get(int key) 如果关键字 k e y key key 存在于缓存中&…...

Ubuntu Server 22.04.5 LTS重启后IP被重置问题

Ubuntu Server 22.04.5 LTS重启后IP被重置问题 最近在使用Ubuntu Server 22.04做项目开发测试时发现每次重启和关机后&#xff0c;所设置的静态IP地址都会回复到安装系统时所设置的ip Ubuntu Server 22.04 官网下载地址&#xff1a;Ubuntu官方下载地址 对虚拟机下安装Ubuntu感…...