11.RedHat认证-Linux文件系统(中)
11.RedHat认证-Linux文件系统(中)
Linux的文件系统
格式化分区(1道题)
#对于Linux分区来说,只有格式化之后才能使用,不格式化是无法使用的。
#Linux分区格式化之后就会变成文件系统,格式化的过程相当于对分区做了一个文件系统。
#Linux常见的文件系统有ext系列,ext2,ext3,ext4。还有xfs,还有btrfs。
#ext4的文件系统限制是,单个文件的大小不能超过1T
#xfs的文件系统单个文件系统量最大支持8EB,单个文件可以支持16TB#从centos7和rhel7开始,默认的安装文件系统就是xfs了,也提供了xfs文件系统的支持。
#对于文件系统来说,如果涉及到了文件系统性能的需求,首先你要知道的就是你要存储的文件类型(特征)。
#小文件特别多或者文件特别大,但是文件数量少。

现在我将 sdb1 和 sdb2分别格式化成xfs 和 ext4文件系统

#在Linux操作系统中格式化文件系统的原理是什么呢?
#分区的最小单位是sector(扇区),一个扇区是512B
#假如分区可以直接使用,那么存储一个20MB的文件需要多少个扇区呢?
#答案是40960,也就是说存储一个20MB的文件需要40960个扇区。
#那么读取这个20MB的文件就需要读40960次。效率太低了。
#上面只是我们不能直接使用分区的一个原因。还有其他原因,请自行了解。#当我们的分区进行格式化之后,会将磁盘的读和写的粒度放大。
#格式化的详细操作
1.会立刻分配一部分空间作为inode节点空间
2.刨除inode节点占用的空间,剩下的空间用作划分block,block包含了多个扇区,
1个block等于2^n个扇区,如果n等于0,那么一个block就等于1个扇区的大小,
如果n=1,那么block就等于2个扇区的大小,如果n=2,那么block就等于4个扇区的大小。
单个block越大,就意味着粒度越大。
# 划分block的目的是要将文件以block的数量来存放block越大对磁盘的读取效果就越好。block大了,一次性读取的空间变多了,这样你的读效率就会提升。
block并不是越大越好,如果block太大,但是你存放的文件特征是小文件,那么会造成大量磁盘的浪费。
所以格式化文件系统的时候block的大小要选对。#inode节点
block是用来存放文件内容,inode节点是用来存放文件元数据的。
临时挂载Linux文件系统(因为分区是不能直接挂载--------mount)
Linux的mount命令就是挂载文件系统的
mount命令的格式
mount -t 文件系统类型 文件系统所在的分区路径 文件系统的挂载点路径
mount -t fstype 分区路径 挂载点路径
如果是原生的Linux文件系统,那么Linux是可以识别出这个文件系统的,所以如果是原生的Linux文
件系统,那么可以不用加-t参数来指定文件系统的类型。ext系列,xfs就属于Linux原生的文件系统挂载点你随便指定。取决于你,因为你是管理员,能力越大,责任越大。
一般来说在LInux上的应用如果使用了某个path,那么这个路径你就可以挂载一个文件系统
[root@server ~]# mount /dev/sda5 /mount-point1
[root@server ~]# mount /dev/sda6 /mount-point2df命令的-T参数表示显示文件系统的类型(type)
-h参数表示将文件系统的大小转换成human易懂的格式。
-H参数表示将文件系统的大小转换成human易懂的格式。
[root@server ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 3.9G 0 3.9G 0% /devtmpfs tmpfs 3.9G 0 3.9G 0% /dev/shmtmpfs tmpfs 3.9G 10M 3.9G 1% /runtmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroupmount命令能列出当前系统的所有文件系统挂载情况
持续性挂载Linux文件系统
mount命令挂载只是临时挂载,重启就没了
如果你想让你的文件系统永久的挂载那么,就需要将挂载的信息写入/etc/fstab。
/etc/fstab这个文件非常重要,一旦这个文件被误删了,或者里面的某些行被错误的删除了,甚至写法的错误都会导致系统无法正常启动# 经验,编辑/etc/fstab之前,记得将这个文件备份[root@server ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu May 9 11:16:12 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cs-root / xfs defaults 0 0
UUID=04d9fb55-39a4-452e-91bf-70a2afd97cae /boot xfs defaults 0 0
/dev/mapper/cs-swap none swap defaults 0 0#第一列是文件系统所在的分区路径
#第二列是文件系统的挂载点
#第三列是文件系统的类型
#第四列是挂载参数
#第五列和第六列分别写0,只有在一些特殊的文件系统,后两列才需要改成非0# 然后再文件里按照格式写入你需要永久挂在的文件系统。(下面只做示例)
/dev/sda5 /mount-point1 ext4 defaults 0 0
/dev/sda6 /mount-point2 xfs defaults 0 0--------------------------------------------------------------------------------
当fstab编辑完成之后,使用mount -a命令,mount -a命令会让我们的文件系统按照fstab里面自动挂载。
但是注意,如果某个文件系统已经挂载了,且还在fstab里面被记录,
那么mount -a【并不会】将该文件系统卸载,再重新挂载,mount -a会自动忽略该文件系统
逻辑卷(2道题)重要
生产环境使用率极高(非常非常非常非常高)
我们之前使用磁盘,步骤是:
1.安装磁盘
2.分区
3.格式化
4.挂载
5.使用
如果对磁盘直接使用fdisk分区,那么这种分区,我们叫做Linux的标准分区,Linux的标准分区如果
格式化成文件系统之后,挂载使用,那么一旦文件系统的空间满了,是无法扩容的。如果一定要“扩
容”,需要将数据备份出来,在换一个更大的文件系统,再将数据还原回去。这种方法效率特别低。
上面的问题促使了逻辑卷的诞生。
逻辑卷是个抽象的概念,我们要记很多新的专有名词
pv(physical volume)物理卷(理论上可以无限大)
vg(volume group)卷组
lv(logical volume)逻辑卷
pv的创建,pv的删除(向pv里面加入新的块设备就相当于扩容pv,从pv里面删除块设备,就相当于缩容pv)
vg的创建,vg的删除,vg的扩容,vg的缩容(不包含)
lv的创建,lv的删除,lv的扩容,lv的缩容(不包含)

PV理论上可以无线扩容
PV下可以创建很多个卷组VG
一个VG下可以创建很多个LV
不同的VG下的LV可以重名,同一个VG下的LV不可重名。
创建物理卷
先分区
# 分区
[root@centos8 ~]# fdisk -l /dev/sdb
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d773471设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 10487807 10485760 5G 83 Linux
/dev/sdb2 10487808 23070719 12582912 6G 83 Linux---------------------------------------------------------------------------
# PV的操作
#创建PV
[root@centos8 ~]# pvcreate /dev/sdb1Physical volume "/dev/sdb1" successfully created.
[root@centos8 ~]# pvcreate /dev/sdb2Physical volume "/dev/sdb2" successfully created.#不分区,添加硬盘后直接创建pv
[root@centos8 ~]# pvcreate /dev/sdcPhysical volume "/dev/sdc" successfully created.# 查看pv
[root@centos8 ~]# pvsPV VG Fmt Attr PSize PFree/dev/sda2 cs lvm2 a-- <19.00g 0 /dev/sdb1 lvm2 --- 5.00g 5.00g/dev/sdb2 lvm2 --- 6.00g 6.00g# 删除pv (如果pv已经被某个vg使用,那么无法删除)
[root@centos8 ~]# pvremove /dev/sdb1Labels on physical volume "/dev/sdb1" successfully wiped.---------------------------------------------------------------------------#卷组的操作
# 创建卷组(VG)
[root@centos8 ~]# vgcreate vg1 /dev/sdb1Volume group "vg1" successfully created
[root@centos8 ~]# vgsVG #PV #LV #SN Attr VSize VFree cs 1 2 0 wz--n- <19.00g 0 vg1 1 0 0 wz--n- <5.00g <5.00g[root@centos8 ~]# pvsPV VG Fmt Attr PSize PFree /dev/sda2 cs lvm2 a-- <19.00g 0 /dev/sdb1 vg1 lvm2 a-- <5.00g <5.00g/dev/sdb2 lvm2 --- 6.00g 6.00g# 删除vg (如果在vg上有逻辑卷在使用,那么vg无法删除)
[root@centos8 ~]# vgremove vg1 Volume group "vg1" successfully removed# VG扩容(vg扩容是从pv里拿的空间,是不能从现有的vg里拿的)
[root@centos8 ~]# vgsVG #PV #LV #SN Attr VSize VFree cs 1 2 0 wz--n- <19.00g 0 vg1 1 0 0 wz--n- <5.00g <5.00gvg2 1 0 0 wz--n- <6.00g <6.00g
[root@centos8 ~]# vgextend vg1 /dev/sdb3Volume group "vg1" successfully extended
[root@centos8 ~]# vgsVG #PV #LV #SN Attr VSize VFree cs 1 2 0 wz--n- <19.00g 0 vg1 2 0 0 wz--n- 6.99g 6.99gvg2 1 0 0 wz--n- <6.00g <6.00g---------------------------------------------------------------------------#逻辑卷的操作-n参数表示逻辑卷的名字 #name
-L参数表示逻辑卷的大小 300M,2G #Large
vg2就表示使用卷组vg2创建该逻辑卷# 创建逻辑卷
[root@centos8 ~]# lvcreate -n lv1 -L 300M vg1Logical volume "lv1" created.
[root@centos8 ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot cs -wi-ao---- <17.00g swap cs -wi-ao---- 2.00g lv1 vg1 -wi-a----- 300.00m逻辑卷创建完成之后,可以直接格式化成为文件系统使用。
如果卷组下面创建了一个新的逻辑卷,那么该逻辑卷就会自动的在设备文件路径出现/dev/vgname/lvname
[root@centos8 ~]# vgsVG #PV #LV #SN Attr VSize VFree cs 1 2 0 wz--n- <19.00g 0 vg1 2 1 0 wz--n- 6.99g <6.70gvg2 1 0 0 wz--n- <6.00g <6.00g
[root@centos8 ~]# ls /dev/vg1
lv1
[root@centos8 ~]# ls /dev/vg1 -l
总用量 0
lrwxrwxrwx. 1 root root 7 5月 29 21:26 lv1 -> ../dm-2
dm设备就表示逻辑卷的本尊。dm全拼是device mapper
[root@centos8 ~]# ls /dev/mapper/ -l
总用量 0
crw-------. 1 root root 10, 236 5月 29 20:04 control
lrwxrwxrwx. 1 root root 7 5月 29 20:04 cs-root -> ../dm-0
lrwxrwxrwx. 1 root root 7 5月 29 20:04 cs-swap -> ../dm-1
lrwxrwxrwx. 1 root root 7 5月 29 21:26 vg1-lv1 -> ../dm-2# 格式化lv1 ,就可以使用了
[root@centos8 ~]# mkfs.ext4 /dev/mapper/vg1-lv1
mke2fs 1.45.6 (20-Mar-2020)
创建含有 307200 个块(每块 1k)和 76912 个inode的文件系统
文件系统UUID:933a382a-fe30-4636-9ee3-ac8c0a499bec
超级块的备份存储于下列块: 8193, 24577, 40961, 57345, 73729, 204801, 221185正在分配组表: 完成
正在写入inode表: 完成
创建日志(8192 个块)完成
写入超级块和文件系统账户统计信息: 已完成#逻辑卷的删除(请注意,删除的路径是在哪个卷组下创建的逻辑卷)
# 比如说,你在vg1卷组下创建了一个逻辑卷lv1 ,那么你删除的时候,就应该是在/dev/vg1/lv1 删除这个lv1逻辑卷。
[root@centos8 ~]# lvremove /dev/vg1/lv1
Do you really want to remove active logical volume vg1/lv1? [y/n]: yLogical volume "lv1" successfully removed.# 逻辑卷的格式化
[root@server ~]# lvcreate -n lv1-ext4 vg2 -L 200M
[root@server ~]# lvcreate -n lv1-xfs vg2 -L 500M
[root@server ~]# lvs
[root@server ~]# mkfs.ext4 /dev/vg2/lv1-ext4
[root@server ~]# mkfs.xfs /dev/vg2/lv1-xfs
[root@server ~]# mkdir /ext4-test /xfs-test
[root@server ~]# mount -t ext4 /dev/vg2/lv1-ext4 /ext4-test/
[root@server ~]# mount /dev/vg2/lv1-xfs /xfs-test/
[root@server ~]# df -Th /xfs-test/ /ext4-test/
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg2-lv1--xfs xfs 499M 29M 470M 6% /xfs-test
/dev/mapper/vg2-lv1--ext4 ext4 190M 1.6M 175M 1% /ext4-test#逻辑卷的扩容
#在线扩容,在线扩容指的是文件系统不能卸载
将lv1-ext4扩容到300M
讲lv1-xfs扩容到700M
[root@centos8 ~]# lvextend /dev/vg2/lv1-ext4 -L 300MSize of logical volume vg2/lv1-ext4 changed from 200.00 MiB (50 extents) to 300.00 MiB (75 extents).Logical volume vg2/lv1-ext4 successfully resized.
[root@centos8 ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot cs -wi-ao---- <17.00g swap cs -wi-ao---- 2.00g lv1-ext4 vg2 -wi-ao---- 300.00m lv1-xfs vg2 -wi-ao---- 500.00m
[root@centos8 ~]# lvextend /dev/vg2/lv1-xfs -L 700MSize of logical volume vg2/lv1-xfs changed from 500.00 MiB (125 extents) to 700.00 MiB (175 extents).Logical volume vg2/lv1-xfs successfully resized.
[root@centos8 ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot cs -wi-ao---- <17.00g swap cs -wi-ao---- 2.00g lv1-ext4 vg2 -wi-ao---- 300.00m lv1-xfs vg2 -wi-ao---- 700.00m [root@server ~]# df -Th[root@centos8 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg2-lv1--ext4 ext4 189M 14K 175M 1% /etx4-test
/dev/mapper/vg2-lv1--xfs xfs 495M 29M 466M 6% /xfs-test
# 因为扩容的部分没有格式化,所以在文件系统上检测不到。
# 将ext4和xfs扩容的空间加入到文件系统操作:
[root@server ~]# resize2fs /dev/vg2/lv1-ext4
[root@centos8 ~]# xfs_growfs /xfs-test/ #xfs的操作是要操作挂载点。
[root@centos8 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg2-lv1--ext4 ext4 285M 14K 267M 1% /etx4-test
/dev/mapper/vg2-lv1--xfs xfs 695M 31M 665M 5% /xfs-test
find命令、dd 命令 、ln命令
find命令是Linux中功能非常强大的查找命令,windows没有类似的功能
find命令能搜索任何你想搜索的文件
格式
find 查找范围 查找参数
1.根据名称查找文件,名称支持正则表达式和通配符
[root@server ~]# find / -name default
2. 根据文件拥有者查找
[root@server ~]# find / -user apache 2>>/dev/null | xargs ls -ld
3.根据文件大小查找
[root@server ~]# find / -size +100M 2>>/dev/null | xargs ls -lh根据文件大小范围查找
[root@centos8 ~]# find / -size +100M -size -300M 2>>/dev/null | xargs ls -ld例题:找到拥有人为admin的文件,将其拷贝到/opt/admin-test目录(这个目录要提前创建)
mkdir -p /opt/admin-test
[root@centos8 ~]# find / -user admin 2>>/dev/null -exec cp -a {} /opt/admin-test \;
dd命令
1.用dd命令测磁盘的写速度
[root@centos8 ~]# dd if=/dev/zero of=/dev/null
^C记录了1954431+0 的读入
记录了1954430+0 的写出
1000668160 bytes (1.0 GB, 954 MiB) copied, 3.4651 s, 289 MB/s[root@server ~]# dd if=/dev/zero of=/root/file count=1000 bs=1M # count是块数量,bs是块大小。
ln->link
ln命令可以创建软连接,软连接就相当于快捷方式#软链接用的多,工作中用的多
ln -s /opt/admin-test /root/test-link
相关文章:
11.RedHat认证-Linux文件系统(中)
11.RedHat认证-Linux文件系统(中) Linux的文件系统 格式化分区(1道题) #对于Linux分区来说,只有格式化之后才能使用,不格式化是无法使用的。 #Linux分区格式化之后就会变成文件系统,格式化的过程相当于对分区做了一个文件系统。 #Linux常见…...
windows系统电脑外插键盘驱动出现感叹号或者显示未知设备,键盘无法输入的解决办法
笔记本外插的键盘不能用,鼠标可以使用。 查找故障,结果打开设备管理器看到键盘那项里是一个的黄色惊叹号显示未知设备![图片]如下图所示 其实解决办法很简单,不要相信网上的一些博主说删除什么注册表,我开始跟着他们操…...
【开源项目】Excel数据表自动生成工具v1.0版
一、介绍 Excel数据表自动生成工具是Go语言编写的一款小型工具软件,用于将特定的Excel表格内容导出为多种编程语言的代码或可以直接读取的数据内容。 开源Github地址:https://github.com/SkyCreator/goproj 二、版本v1.0功能概览 1.编程语言支持 目前…...
Docker-一文详解容器通信的基础网络模式及衍生的自定义网络模式
启动容器时,通过-p 宿主机端口:容器端口,就可以通过访问宿主机端口访问到容器,这种原理机制是啥,有没有其它方式可以让宿主机和容器通信,以及容器与容器之间如何通信。带着这几个问题开始学习Docker的网络知识。 文章…...
Convolutional Occupancy Networks【ECCV】
论文:https://arxiv.org/pdf/2003.04618 代码:GitHub - autonomousvision/convolutional_occupancy_networks: [ECCV20] Convolutional Occupancy Networks 图 1:卷积占据网络。传统的隐式模型 (a) 由于其全连接网络结构,表现能力…...
Android Studio 问题集锦
报 Plugin [id: ‘com.android.application’, version: ‘8.1.3’, apply: false] was not found in any of the following sources: 场景:在一个Android 11的项目中添加一个Android 9的项目作为其Module,结果导致原项目无法正常运行,且原项…...
J.搬砖【蓝桥杯】/01背包+贪心
搬砖 01背包贪心 思路:要让重量更小的在更前面,价值更大的在更后面,vi−wj>vj−wi viwi>vjwj 第 i 个箱子放在第 j 个箱子下面就显然更优。所以进行排序再用01背包即可。 #include<iostream> #include<algorithm> #defi…...
拥塞控制的微观行为与力学解释
本文以 tcptrace 图为基,描述传输的微观行为,并给出一个初中几何描述的压水井模型。 统计复用网络的拥塞控制,宏观看 inflight,微观看 pacing rate,宏观大方向不对,微观再正确也不行。 而网络的统计动力学…...
每日一读: 硬件网卡tx支持哪些功能特性offload(ixgbe驱动为例)
ixgbe驱动 rte_eth_dev_info_get -> ixgbe_dev_info_get -> ixgbe_get_tx_port_offloads uint64_t ixgbe_get_tx_port_offloads(struct rte_eth_dev *dev) {uint64_t tx_offload_capa;struct ixgbe_hw *hw IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);tx_…...
MyBatis的坑(动态SQL会把0和空串比较相等为true)
文章目录 前言一、场景如下二、原因分析1. 源码分析2. 写代码验证 三、解决办法代码及执行结果如下 总结 前言 在开发过程中遇到MyBatis的动态SQL的if条件不生效的情况,但经过debuger发现并不是参数问题,已经拿到了参数并传给了MyBatis,且从表…...
Springboot事务控制中A方法调用B方法@Transactional生效与不生效情况实战总结
介绍 本篇对Springboot事务控制中A方法调用B方法Transactional生效与不生效情况进行实战总结,让容易忘记或者困扰初学者甚至老鸟的开发者,只需要看这一篇文章即可立马找到解决方案,这就是干货的价值。喜欢的朋友别忘记来个一键三连哈&#x…...
python -【三】循环语句
一、while 循环 while 语法 while 条件: 条件满足时,做事情 a 0 while a < 100:print(i like python ...)a 1求 1-100 的总和 i 1 sum 0 while i < 100:sum ii 1 print(f1-100 的和是 {sum})""" 1-100 的和是 5050 ""&…...
类的内存对齐位段位图布隆过滤器哈希切割一致性哈希
文章目录 一、类的内存对齐1.1规则1.2原因 二、位段2.1介绍2.2内存分配问题2.3跨平台问题2.4使用的注意事项 三、位图的应用3.1 给40亿个不重复的无符号整数,找给定的一个数。(int的范围可以到达42亿多)3.2 给定100亿个整数,设计算…...
于ThinkPHP开发的赛事报名小程序
基于ThinkPHP开发的赛事报名微信小程序 功能包括 1、参赛公告 2、会员中心(会员注册、登录、成绩查询、资料管理、参赛记录管理) 3、个人报名和企业报名 (身份证验证防止重复报名) 4、培训报名 5、查询是否在库人员,根…...
前端学习--React部分
文章目录 前端学习--React部分前言1.React简介1.1React的特点1.2引入文件1.3JSX🍉JSX简介与使用🍉JSX语法规则 1.4模块与组件🍉模块🍉组件 1.5安装开发者工具 2.React面向组件编程2.1创建组件🍉函数式组件🍉…...
24V_2A_1.2MHZ|PCD0303升压恒频LCD背光源专用电路超小体积封装
概述 PCD0303是一个恒定频率,6针SOT23电流模式升压转换器用于小型低功耗应用。PCD0303 以1.2MHz切换,并且允许使用微小的,低成本电容器和电感器2mm或更小,内部软启动会产生较小的涌入电流延长电池寿命。PCD0303具有自动切换至轻负载下的脉冲…...
python生成词云图
生成词云图的话需要先对数据进行分词处理 , 分词方法点击查看 import pandas as pd from collections import Counter from wordcloud import WordCloud import matplotlib.pyplot as plt# 假设您已经按照之前的步骤处理了数据,并且处理后的数据保存在comments_proc…...
【使用ChatGPT构建应用程序】应用程序开发概述:1. 管理秘钥、2. 数据安全、3. 与应用程序解耦、4. 注意提示语的注入攻击
文章目录 一. 首先注意的两个方面1. 管理API密钥1.1. 用户提供API密钥1.2. 你自己提供API密钥 2. 数据安全和数据隐私 二. 软件架构设计原则:与应用程序解耦三. 注意LLM提示语的注入攻击1. 分析输入和输出2. 监控和审计3. 其他要注意的注入情况 在了解了ChatGPT的文…...
【JavaScript脚本宇宙】不可或缺的Web开发工具:图表和可视化
图形化你的数据:六款顶级JavaScript库全接触 前言 在本文中,我们将深入探讨六个强大的JavaScript库,这些库被广泛应用于数据可视化和交互式图形展示。我们将了解每个库的概述、主要特性、使用示例以及使用场景,以帮助读者更全面…...
自然语言处理(NLP)中的迁移学习
Transfer Learning in NLP 迁移学习(Transfer Learning)无疑是目前深度学习中的新热点(相对而言)。在计算机视觉领域,它已经应用了一段时间,人们使用经过训练的模型从庞大的ImageNet数据集中学习特征&…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
