linux挂载新硬盘,查看新硬盘,格式化分区,创建挂载点,挂载逻辑卷,整盘方式挂载,LVM方式挂载,查看linux 磁盘卷组的剩余空间,ext4与xfs区别
摘要
挂载新硬盘,本文作者整理了几乎所有相关的知识点
作者采用的是本文第二种挂载方式(LVM),只用了下面6条命令搞定
# 说明:
# /dev/mapper/appvg-mylv1 逻辑卷完整名称
#
# /dev/mapper`目录是Linux系统中用于存储设备映射信息的特殊目录
# appvg: sudo vgdisplay 命令 显示的 VG Name
# mylv1:逻辑卷名# 创建逻辑卷
sudo lvcreate -n mylv1 -L 2TG appvg
sudo lvcreate -n mylv2 -l +100%FREE appvg# 格式化逻辑卷
sudo mkfs -t xfs /dev/mapper/appvg-mylv1
sudo mkfs -t ext4 /dev/mapper/appvg-mylv2# 挂载
sudo mount /dev/mapper/appvg-mylv1 /data1
sudo mount /dev/mapper/appvg-mylv2 /data2
效果
一个xfs格式,一个ext4格式
名词
LVM(Logical Volume Manager)
PV(Physical Volume) 物理卷
LV(Logic Volume)逻辑卷
VGs(Volume Groups)卷组
PVs(Physical Volumes,)物理卷
整盘方式挂载步骤(普通方式)
本文下面有高级方式
1. 查看新硬盘
首先,你需要确认新硬盘已经被系统识别。可以使用lsblk
或fdisk -l
命令来查看所有磁盘和分区。
lsblk
# 或者
sudo fdisk -l
确认 LVM 状态:
首先,你需要确认你的系统上是否已经初始化了 LVM,并且你想要挂载的卷是否已经被识别为 LVM 的一部分。
sudo vgdisplay
sudo pvdisplay
2. 分区
如果硬盘是新硬盘,你需要先对其进行分区。可以使用fdisk
工具进行分区。
sudo fdisk /dev/sdX # /dev/sdX是你的新硬盘设备名,例如/dev/sdb
在fdisk
中,你可以通过输入m
查看所有命令,然后使用n
创建新分区,w
写入并退出。例如:
sudo fdisk /dev/sdX # /dev/sdX是你的新硬盘设备名,例如/dev/sdb
在fdisk
中,你可以通过输入m
查看所有命令,然后使用n
创建新分区,w
写入并退出。例如:
n # 新建分区
p # 主分区
1 # 分区号# 默认从起始位置开始,按Enter确认
+100M # 创建一个100MB的分区作为示例
t # 更改分区类型
83 # Linux文件系统类型(83为Linux文件系统)
w # 写入并退出
3. 格式化分区
创建分区后,你需要格式化它。例如,使用mkfs.ext4
来格式化为ext4文件系统:
sudo mkfs.ext4 /dev/sdX1 # /dev/sdX1是你的新分区,例如/dev/sdb1
4. 创建挂载点
创建一个目录作为挂载点:
sudo mkdir /mnt/newdisk
5. 挂载分区
将分区挂载到刚才创建的目录:
sudo mount /dev/sdX1 /mnt/newdisk
6. 验证挂载
使用df -h
或ls /mnt/newdisk
来验证是否挂载成功。
7. 持久化挂载(可选)
为了在系统重启后也能自动挂载该分区,你可以编辑/etc/fstab
文件:
sudo nano /etc/fstab
在文件末尾添加一行,例如:
/dev/sdX1 /mnt/newdisk ext4 defaults 0 2
保存并关闭文件。重新挂载以应用更改(虽然通常重启后会自动挂载):
sudo mount -a
注意事项
-
确保替换命令中的
/dev/sdX
和/dev/sdX1
为实际的设备名和分区号。 -
在格式化前确保没有重要数据,因为格式化会清除所有数据。
-
使用UUID而非设备名在
/etc/fstab
中挂载可以避免因设备名改变导致的问题。你可以通过sudo blkid
查看UUID,然后在/etc/fstab
中使用UUID而非设备名。例如:
UUID=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/newdisk ext4 defaults 0 2
-
根据你的需求选择合适的文件系统类型(如ext4, xfs等)。
LVM方式挂载步骤(高级方式)
1、确认 LVM 状态
首先,你需要确认你的系统上是否已经初始化了 LVM,并且你想要挂载的卷是否已经被识别为 LVM 的一部分。
sudo vgdisplay
sudo pvdisplay
这些命令将显示所有卷组(Volume Groups, VGs)和物理卷(Physical Volumes, PVs)的信息。
举例说明(有助新手理解),这里两个卷组,其中一个1T,一个6T,两卷组由7个1T的硬盘组成,卷组名分别是:appvg、ctyunos
[zhao*****@GZ***-PM153160 ~]$ sudo vgdisplay--- Volume group ---VG Name appvgSystem ID Format lvm2Metadata Areas 7Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 3Open LV 1Max PV 0Cur PV 7Act PV 7VG Size 6.11 TiBPE Size 4.00 MiBTotal PE 1602496Alloc PE / Size 1602496 / 6.11 TiBFree PE / Size 0 / 0 VG UUID pLWSgG-Sn2w-OwJy-2cSj-HHfV-VPeW-YiIJtL--- Volume group ---VG Name ctyunosSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 3Open LV 3Max PV 0Cur PV 1Act PV 1VG Size <1.09 TiBPE Size 4.00 MiBTotal PE 285181Alloc PE / Size 285181 / <1.09 TiBFree PE / Size 0 / 0 VG UUID Qr3AfP-ehds-0OvY-qoFT-VMb1-c7jK-enKELZ
pvdisplay可查看物理盘(多少块硬盘,这个直观,就略了)
2、创建逻辑卷:
如果你还没有创建逻辑卷,你需要先创建一个。使用 lvcreate
命令来创建一个新的逻辑卷。例如:
# 示例1
sudo lvcreate -n mylogicalvolume -L 10G /dev/mapper/vgname-lvname# 示例2
# 创建指定大小的逻辑卷
sudo lvcreate -n mylv2 -L 4TG appvg# 示例3
# 使用所有剩余空间创建逻辑卷,使用剩余空间的百分比创建
sudo lvcreate -n mylv2 -l +100%FREE appvg
这里 vgname
是你的卷组名称,lvname
是你想要创建的逻辑卷的名称,-L 10G
指定了逻辑卷的大小。
查看linux 磁盘卷组的剩余空间
如果你的系统使用LVM,可以使用lvs
命令查看逻辑卷的详细信息,包括剩余空间。
首先,你需要确认你的逻辑卷组
[zhao****@GZ***-PM153160 ~]$ sudo vgsVG #PV #LV #SN Attr VSize VFreeappvg 7 3 0 wz--n- 6.11t 0 ctyunos 1 3 0 wz--n- <1.09t 0
然后,查看该卷组中的逻辑卷:
[zha****@GZ***-PM153160 ~]$ sudo lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertapp appvg -wi-ao---- <1000.02g mylv1 appvg -wi-a----- 2.00t mylv2 appvg -wi-a----- <3.14t home ctyunos -wi-ao---- <1.02t root ctyunos -wi-ao---- 70.00g swap ctyunos -wi-ao---- 4.00g
3、格式化逻辑卷
# ~~~~ 精华,这节说明很重要,一定要仔细阅读 ~~~~*******
命令:mkfs -t xfs /dev/mapper/appvg-mylv1
appvg:卷组名称
mylv1:上面创建的逻辑卷名称
appvg-mylv1:卷组名称 + 逻辑卷名称 两个加在一起组成逻辑卷全名(格式化和挂载都要使用到全名,/dev/mapper/+ 全名)
[dai***@GZ***-PM153160 ~]$ mkfs -t xfs /dev/mapper/appvg-mylv1
mkfs.xfs: cannot open /dev/mapper/appvg-mylv1: Permission denied
[zhaozheng@GZCRM-PM153160 ~]$ sudo mkfs -t xfs /dev/mapper/appvg-mylv1
meta-data=/dev/mapper/appvg-mylv1 isize=512 agcount=4, agsize=134217728 blks= sectsz=4096 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1
data = bsize=4096 blocks=536870912, imaxpct=5= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=262144, version=2= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
Discarding blocks...Done.
[dai***@GZ***-PM153160 ~]$
查看文件系统格式
[zhaozheng@GZCRM-PM153160 data2]$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 126G 0 126G 0% /dev
tmpfs tmpfs 126G 0 126G 0% /dev/shm
tmpfs tmpfs 126G 698M 125G 1% /run
tmpfs tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/mapper/ctyunos-root ext4 69G 4.7G 61G 8% /
tmpfs tmpfs 126G 2.5M 126G 1% /tmp
/dev/sda1 ext4 976M 107M 803M 12% /boot
/dev/mapper/ctyunos-home ext4 1023G 2.0G 969G 1% /home
tmpfs tmpfs 26G 0 26G 0% /run/user/0
/dev/mapper/appvg-app xfs 1000G 7.1G 993G 1% /app
tmpfs tmpfs 26G 0 26G 0% /run/user/1000
/dev/mapper/appvg-mylv1 xfs 2.0T 15G 2.0T 1% /data1
/dev/mapper/appvg-mylv2 ext4 3.1T 89M 3.0T 1% /data2
4、挂载逻辑卷:
创建逻辑卷后,你可以使用 mount
命令来挂载它:
sudo mount /dev/mapper/vgname-lvname /mount/point
确保 /mount/point
是一个存在的目录,如果不存在,你需要先创建它:
sudo mkdir /mount/point
sudo mount /dev/mapper/vgname-lvname /mount/point
5、自动挂载:
如果你希望在系统启动时自动挂载这个逻辑卷,你可以编辑 /etc/fstab
文件:
echo '/dev/mapper/vgname-lvname /mount/point ext4 defaults 0 0' | sudo tee -a /etc/fstab
替换 ext4
为你的文件系统类型。
通过以上步骤,你应该能够解决 "unknown filesystem type 'LVM2_member'" 的错误,并成功挂载你的 LVM 逻辑卷。如果仍然遇到问题,请检查你的 LVM 配置或查看相关日志文件以获取更多信息。
查看linux 磁盘卷组的剩余空间
在Linux中,查看磁盘卷组的剩余空间可以通过不同的命令和工具实现,具体取决于你的系统使用的是哪种类型的卷管理工具。最常见的卷管理工具有LVM(Logical Volume Manager)、XFS等。下面是一些常用的方法:
1. 使用df
命令
df
命令用于显示文件系统的磁盘空间使用情况,包括挂载点、已用空间、可用空间等。
df -h
这里的-h
选项表示以易读的格式(如GB、MB)显示信息。
2. 使用lsblk
命令
lsblk
命令列出所有可用的存储设备及其分区和挂载点。
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL,UUID
这个命令会显示设备的名称、大小、文件系统类型、挂载点、标签和UUID,但不直接显示剩余空间。你可以结合df
命令来查看挂载点的使用情况。
3. 使用lvs
(Logical Volume Manager)
如果你的系统使用LVM,可以使用lvs
命令查看逻辑卷的详细信息,包括剩余空间。
首先,你需要确认你的逻辑卷组:
vgs
然后,查看该卷组中的逻辑卷:
lvs
这将列出所有逻辑卷及其状态,包括剩余空间。
4. 使用xfs_info
(针对XFS文件系统)
如果你的文件系统是基于XFS的,可以使用xfs_info
命令来查看文件系统的详细信息,包括剩余空间。
xfs_info /path/to/mountpoint
将/path/to/mountpoint
替换为你的挂载点路径。
5. 使用vgdisplay
和lvdisplay
(针对LVM)
如果你想要更详细的信息,可以使用vgdisplay
和lvdisplay
命令:
vgdisplay vg_name # vg_name是卷组名
lvdisplay /dev/vg_name/lv_name # vg_name是卷组名,lv_name是逻辑卷名
这些命令提供了关于卷组和逻辑卷的详细信息,包括剩余空间。
结论
选择哪种方法取决于你的具体需求和你使用的文件系统类型。对于大多数情况,df -h
和结合使用lsblk
和df -h
是一个很好的起点。对于使用LVM的系统,lvs
和相关的LVM命令提供了更详细的逻辑卷信息。对于特定文件系统如XFS,使用其特定的命令(如xfs_info
)会更直接地提供所需信息。
ext4与xfs区别
EXT4和XFS是两种常用的文件系统,它们在Linux系统中各有优缺点,适用于不同的场景。
性能和扩展性
- 并发性能:XFS在多CPU环境下的并发性能优于EXT4,因为它采用了一些优化措施,如支持多个并发操作12。在高并发压力下,XFS的性能比EXT4高5-10%左右2。
- 文件系统扩展:EXT4可以在线扩展文件系统大小,而XFS需要卸载文件系统并执行特殊的命令来扩展1。
文件系统大小和单个文件大小限制
- 文件系统大小:EXT4最大支持16TB的文件系统,而XFS最大支持8EB的文件系统12。
- 单个文件大小:EXT4最大支持16TB的文件大小,而XFS最大支持8EB的文件大小12。
碎片管理和数据一致性
- 碎片管理:EXT4在文件删除时可能会出现碎片,需要定期进行碎片整理。XFS采用延迟分配技术,可以减少文件碎片1。
- 数据一致性:EXT4使用Journaling来确保文件系统在崩溃后可以恢复到先前的状态。XFS也有Journaling功能,但它不是必需的,因为XFS在设计时就考虑了数据一致性
相关文章:
linux挂载新硬盘,查看新硬盘,格式化分区,创建挂载点,挂载逻辑卷,整盘方式挂载,LVM方式挂载,查看linux 磁盘卷组的剩余空间,ext4与xfs区别
摘要 挂载新硬盘,本文作者整理了几乎所有相关的知识点 作者采用的是本文第二种挂载方式(LVM),只用了下面6条命令搞定 # 说明: # /dev/mapper/appvg-mylv1 逻辑卷完整名称 # # /dev/mapper目录是Linux系统中用…...
Web3.0时代的挑战与机遇:以开源2+1链动模式AI智能名片S2B2C商城小程序为例的深度探讨
摘要:Web3.0作为互联网的下一代形态,承载着去中心化、开放性和安全性的重要愿景。然而,其高门槛、用户体验差等问题阻碍了Web3.0的主流化进程。本文旨在深入探讨Web3.0面临的挑战,并提出利用开源21链动模式、AI智能名片及S2B2C商城…...
AIGC专栏18——EasyAnimateV5.1版本详解 应用Qwen2 VL作为文本编码器,支持轨迹控制与相机镜头控制
AIGC专栏18——EasyAnimateV5.1版本详解 应用Qwen2 VL作为文本编码器,支持轨迹控制与相机镜头控制 学习前言相关地址汇总源码下载地址HF测试链接MS测试链接 测试效果Image to VideoText to Video轨迹控制镜头控制 EasyAnimate详解技术储备Qwen2 VLStable Diffusion …...
测试的基本原则
1.SDLC 才是王道:软件开发生命周期(SDLC)对于软件开发而言,是如同基石般的关键流程,每一位开发人员都应该对其了如指掌。从最初的需求定义,到最终软件上线后的维护,SDLC 的各个阶段环…...
如何建设一个企业级的数据湖
建设一个企业级的数据湖是一项复杂且系统化的工程,需要从需求分析、技术选型、架构设计到实施运维等多个方面进行综合规划和实施。以下是基于我搜索到的资料,详细阐述如何建设企业级数据湖的步骤和关键要点: 一、需求分析与规划 明确业务需…...
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
目录 ?编辑 一、Ubuntu22.04介绍 二、Ubuntu与Centos的区别 三、基于VMware安装Ubuntu Server 22.04 下载 VMware安装 1.创建新的虚拟机 2.选择类型配置 3.虚拟机硬件兼容性 4.安装客户机操作系统 5.选择客户机操作系统 6.命名虚拟机 7.处理器配置 8.虚拟机内存…...
springfox-swagger-ui 3.0.0 配置
在3.0中,访问地址URL变了。 http://地址:端口/项目名/swagger-ui/ SpringBoot maven项目引入 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>3.0.0</version> </…...
【PyTorch][chapter 29][李宏毅深度学习]Fine-tuning LLM
参考: https://www.youtube.com/watch?veC6Hd1hFvos 目录: 什么是 Fine-tune 为什么需要Fine-tuning 如何进行Fine-tune Fine-tuning- Supervised Fine-tuning 流程 Fine-tuning参数训练的常用方案 LORA 简介 示例代码 一 什么是 Fine-tune …...
Spring无法解决的循环依赖
在Spring框架中,循环依赖是指两个或多个Bean相互依赖,形成一个闭环。例如,Bean A依赖于Bean B,而Bean B又依赖于Bean A。虽然Spring通过三级缓存(一级缓存、二级缓存、三级缓存)机制解决了大多数情况下的循…...
C++的类Class
文章目录 一、C的struct和C的类的区别二、关于OOP三、举例:一个商品类CGoods四、构造函数和析构函数1、定义一个顺序栈2、用构造和析构代替s.init(5);和s.release();3、在不同内存区域构造对象4、深拷贝和浅拷贝5、构造函数和深拷贝的简单应用6、构造函数的初始化列…...
如何应对离别之:短暂离别
《若道离别》(一):如何应对离别之短暂离别 大多数人还是不能很全心愉快地面对离别,哪怕只是短暂,还是从有到无的失落感,有人一天就适应,有人需要很久 不求离别无动于衷,但求使用部分…...
Harmony Next 跨平台开发入门
ArkUI-X 官方介绍 官方文档:https://gitee.com/arkui-x/docs/tree/master/zh-cn ArkUI跨平台框架(ArkUI-X)进一步将ArkUI开发框架扩展到了多个OS平台:目前支持OpenHarmony、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码…...
笔试-二维数组2
应用 现有M(1<M<10)个端口组,每个端口组是长度为N(1<N<100),元素均为整数。如果这些端口组间存在2个及以上的元素相同,则认为端口组可以关联合并;若可以关联合并,请用二位数组表示输出结果。其中…...
/opt安装软件,就可以使用man xx命令是为什么
引言 以neovim的安装过程为例 下载 curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz sudo rm -rf /opt/nvim sudo tar -C /opt -xzf nvim-linux64.tar.gz添加环境变量前,是无法使用man nvim的 Then add this to your sh…...
vue3和vue2的区别有哪些差异点
Vue3 vs Vue2 主要差异对比指南 官网 1. 核心架构差异 1.1 响应式系统 Vue2:使用 Object.defineProperty 实现响应式 // Vue2 响应式实现 Object.defineProperty(obj, key, {get() {// 依赖收集return value},set(newValue) {// 触发更新value newValue} })Vue3…...
记录备战第十六届蓝桥杯的过程
1.学会了原来字符串也有比较方法,也就是字符串987 > 98 等等,可以解决拼最大数问题 题目链接:5.拼数 - 蓝桥云课 (lanqiao.cn) 2.今天又复习了一下bfs,感觉还是很不熟练,可能是那个过程我些许有点不熟悉ÿ…...
【PVE】Proxmox VE8.0+创建LXC容器安装docker
为了不影响PVE宿主机,通常使用套娃的形式安装Docker容器,再安装相关docker应用。首先在CT模板中创建 Linux 容器,推荐使用Debian。开启ssh登录,修改debian配置,安装docker 一、创建 LXC 容器 1、CT模板下载 点击“模…...
Semantic Kernel - Kernel理解
目录 一、关于Kernel 二、案例实战 三、运行截图 一、关于Kernel 微软的 Semantic Kernel 项目中,Semantic Kernel 是一个工具框架,旨在使得开发人员能够更容易地将大语言模型(如GPT)集成到不同的应用中。它通过提供一组接口、任务模板和集成模块,使开发者能够轻松地设计…...
【JavaWeb06】Tomcat基础入门:架构理解与基本配置指南
文章目录 🌍一. WEB 开发❄️1. 介绍 ❄️2. BS 与 CS 开发介绍 ❄️3. JavaWeb 服务软件 🌍二. Tomcat❄️1. Tomcat 下载和安装 ❄️2. Tomcat 启动 ❄️3. Tomcat 启动故障排除 ❄️4. Tomcat 服务中部署 WEB 应用 ❄️5. 浏览器访问 Web 服务过程详…...
「 机器人 」利用冲程对称性调节实现仿生飞行器姿态与方向控制
前言 在仿生扑翼飞行器中,通过改变冲程对称性这一技术手段,可以在上冲与下冲两个阶段引入不对称性,进而产生额外的力或力矩,用于实现俯仰或其他姿态方向的控制。以下从原理、在仿生飞行器中的应用和典型实验示例等方面进行梳理与阐述。 1. 冲程对称性原理 1.1 概念:上冲与…...
力扣算法题——11.盛最多水的容器
目录 💕1.题目 💕2.解析思路 本题思路总览 借助双指针探索规律 从规律到代码实现的转化 双指针的具体实现 代码整体流程 💕3.代码实现 💕4.完结 二十七步也能走完逆流河吗 💕1.题目 💕2.解析思路…...
企业微信SCRM开创客户管理新纪元推动私域流量高效转化
内容概要 在当今瞬息万变的数字化时代,企业面临着前所未有的客户管理挑战。消费者的需求日益多样化,他们希望能够随时随地与品牌沟通。因此,越来越多的企业意识到,传统的客户管理方式已无法满足市场的需求。在这样的背景下&#…...
C++和Python实现SQL Server数据库导出数据到S3并导入Redshift数据仓库
用C实现高性能数据处理,Python实现操作Redshift导入数据文件。 在Visual Studio 2022中用C和ODBC API导出SQL Server数据库中张表中的所有表的数据为CSV文件格式的数据流,用逗号作为分隔符,用双引号包裹每个数据,字符串类型的数据…...
ESP8266 NodeMCU与WS2812灯带:实现多种花样变换
在现代电子创意项目中,LED灯带的应用已经变得极为广泛。通过结合ESP8266 NodeMCU的强大处理能力和FastLED库的高效功能,我们可以轻松实现多达100种灯带变换效果。本文将详细介绍如何使用Arduino IDE编程,实现从基础到高级的灯光效果ÿ…...
OpenAI 发布首个 AI 智能体
OpenAI 发布首个 AI 智能体 当地时间 1 月 23 日,OpenAI 发布了首个 AI 智能体 Operator124。以下是关于它的详细介绍2: 功能用途 操作网页:可模拟人类操作网页浏览器,能进行点击、滚动、输入等操作,例如在 OpenTable…...
【Linux】gcc/g++的使用
目录 一、gcc/g简介 二、编译和链接 预处理 编译 汇编 连接(生成可执行文件或库文件) 三、动态链接和静态链接 静态库和动态库 gcc其他常用选项 合集传送门:Linux_uyeonashi的博客-CSDN博客 一、gcc/g简介 GCC(GNU Com…...
Kmesh v1.0 正式发布!7 大特性提升网络流量管理效率和安全性
Kmesh v1.0 正式发布!7 大特性提升网络流量管理效率和安全性 2025 年新年伊始,Kmesh 团队正式发布了 Kmesh v1.0234。以下是 Kmesh v1.0 提升网络流量管理效率和安全性的 7 大特性35: 加密通信:引入 IPsec 协议对节点间流量加密&a…...
Day45:元组的创建
在 Python 中,元组(tuple)是一种不可变的序列类型。与列表(list)不同,元组一旦创建就无法修改它们的内容。元组是有序的,可以包含不同类型的元素,支持索引和切片操作,但不…...
Rust:如何动态调用字符串定义的 Rhai 函数?
在 Rust 中使用 Rhai 脚本引擎时,你可以动态地调用传入的字符串表示的 Rhai 函数。Rhai 是一个嵌入式脚本语言,专为嵌入到 Rust 应用中而设计。以下是一个基本示例,展示了如何在 Rust 中调用用字符串传入的 Rhai 函数。 首先,确保…...
在 Ubuntu22.04 上安装 Splunk
ELK感觉太麻烦了,换个日志收集工具 Splunk 是一种 IT 工具,可帮助在任何设备上收集日志、分析、可视化、审计和创建报告。简单来说,它将“机器生成的数据转换为人类可读的数据”。它支持从虚拟机、网络设备、防火墙、基于 Unix 和基于 Windo…...
单片机基础模块学习——数码管(二)
一、数码管模块代码 这部分包括将数码管想要显示的字符转换成对应段码的函数,另外还包括数码管显示函数 值得注意的是对于小数点和不显示部分的处理方式 由于小数点没有单独占一位,所以这里用到了两个变量i,j用于跳过小数点导致的占据其他字符显示在数…...
DAY01 面向对象回顾、继承、抽象类
学习目标 能够写出类的继承格式public class 子类 extends 父类{}public class Cat extends Animal{} 能够说出继承的特点子类继承父类,就会自动拥有父类非私有的成员 能够说出子类调用父类的成员特点1.子类有使用子类自己的2.子类没有使用,继承自父类的3.子类父类都没有编译报…...
LeetCode:40. 组合总和 II(回溯 + 剪枝 Java)
目录 40. 组合总和 II 题目描述: 实现代码与解析: 回溯 剪枝 原理思路: 40. 组合总和 II 题目描述: 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target …...
周末总结(2024/01/25)
工作 人际关系核心实践: 要学会随时回应别人的善意,执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己,抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内,职场社交不要放在5min以外 职场的人际关系在面对利…...
解决日志中 `NOT NULL constraint failed` 异常的完整指南
在开发和运维过程中,日志是我们排查问题的重要工具。然而,当日志中出现类似 NOT NULL constraint failed 的异常时,往往意味着数据库约束与代码逻辑不匹配。本文将详细分析此类问题的原因,并提供完整的解决方案。 © ivwdcwso (ID: u012172506) 问题描述 在同步 AWS …...
线性规划:机器学习中的优化利器
一、线性规划的基本概念 线性规划(Linear Programming, LP)是运筹学中数学规划的一个重要分支,用于在一组线性不等式的约束条件下,找到线性目标函数的最大值或最小值。其问题可以表述为: 在一组线性约束条件 s.t.&am…...
Flutter子页面向父组件传递数据方法
在 Flutter 中,如果父组件需要调用子组件的方法,可以通过以下几种方式实现。以下是常见的几种方法: 方法 1:使用 GlobalKey 和 State 调用子组件方法 这是最直接的方式,通过 GlobalKey 获取子组件的 State,…...
乐鑫 ESP32-C6 通过 Thread 1.4 互操作性认证
乐鑫信息科技 (688018.SH) 很高兴地宣布,ESP32-C6 已经成功通过 Thread 1.4 互操作性认证。这一成就标志着乐鑫在提供先进物联网解决方案之路上又迈进了重要一步。ESP32-C6 在 Thread Group 授权实验室的严格测试中,展现了与最新 Thread 1.4 协议的无缝兼…...
机器学习2 (笔记)(朴素贝叶斯,集成学习,KNN和matlab运用)
朴素贝叶斯模型 贝叶斯定理: 常见类型 算法流程 优缺点 集成学习算法 基本原理 常见方法 KNN(聚类模型) 算法性质: 核心原理: 算法流程 优缺点 matlab中的运用 朴素贝叶斯模型 朴素贝叶斯模型是基于贝叶斯…...
docker安装elk6.7.1-搜集java日志
docker安装elk6.7.1-搜集java日志 如果对运维课程感兴趣,可以在b站上、A站或csdn上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频 0.规划 192.168.171.130 tomcat日志filebeat 192.168.171.131 …...
苍穹外卖-day06
[!IMPORTANT] HttpClient 是什么?它的作用是什么?在微信登录流程中,code 是什么?它的作用是什么?微信登录的具体步骤有哪些?在微信登录流程中,token 的作用是什么?在微信登录中&…...
iic、spi以及uart
何为总线? 连接多个部件的信息传输线,是部件共享的传输介质 总线的作用? 实现数据传输,即模块之间的通信 总线如何分类? 根据总线连接的外设属于内部外设还是外部外设将总线可以分为片内总线和片外总线 可分为数…...
如何高效启动并优化你的Google广告?
在现代数字营销中,Google广告(Google Ads)已经成为提升品牌曝光、吸引潜在客户和推动销售增长的重要工具。无论你是刚接触广告投放的新手,还是希望优化广告效果的资深营销人员,理解如何有效启动并管理Google广告至关重…...
【Android】布局文件layout.xml文件使用控件属性android:layout_weight使布局较为美观,以RadioButton为例
目录 说明举例 说明 简单来说,android:layout_weight为当前控件按比例分配剩余空间。且单个控件该属性的具体数值不重要,而是多个控件的属性值之比发挥作用,例如有2个控件,各自的android:layout_weight的值设为0.5和0.5࿰…...
低代码系统-产品架构案例介绍、简道云(七)
今天分析另外一个零代码、低代码产品-简道云,跟所有低代码产品的架构图一样,高、大、炫、美。 依然是从下至上,从左到右的顺序。 开发层 搭建中心 表单、流程、报表、用户中心,还是这些内容,自定义打印很多平台都有&am…...
RabbitMQ 分布式高可用
文章目录 前言一、持久化与内存管理1、持久化机制2、内存控制1、命令行2、配置文件 3、内存换页4、磁盘控制 二、集群1、Erlang的分布式特性2、RabbitMQ的节点类型2.1、磁盘节点 (Disk Node)2.2、内存节点 (RAM Node) 3、构建集群3.1 普通集群3.2 镜像队列3.3、高可用实现方案3…...
使用Pytest Fixtures来提升TestCase的可读性、高效性
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 在编写单元测试时,你是否发现自己有很多重复代码? 数据库设…...
qt QUrl详解
1、概述 QUrl是Qt框架中用于处理URL(统一资源定位符)的类,它提供了构建、解析、编码、解码和处理URL的功能。QUrl支持多种协议,如HTTP、HTTPS、FTP以及文件URL等,并能处理URL的各个组成部分,如协议、主机、…...
从0到1:C++ 开启游戏开发奇幻之旅(一)
目录 为什么选择 C 进行游戏开发 性能卓越 内存管理精细 跨平台兼容性强 搭建 C 游戏开发环境 集成开发环境(IDE) Visual Studio CLion 图形库 SDL(Simple DirectMedia Layer) SFML(Simple and Fast Multim…...
IGBT的损耗计算的学习【2025/1/24】
可以通过示波器实测IGBT电压电流波形,然后通过示波器的math功能将电压电流波形乘积后积分求损耗。 软开管:给了导通信号,但是电流并没有从此IGBT流过 IGBT(绝缘栅双极晶体管)的损耗主要分为 导通损耗 和 开关损耗 两部…...