Kali 软件管理
kali 更新
1. 查看发行版本
┌──(root㉿kali)-[~]
└─# lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: 2023.2
Codename: kali-rolling
2. 查看内核版本
┌──(root㉿kali)-[~]
└─# uname -r
6.3.0-kali1-amd64
3. 软件仓库配置文件(.list结尾)
软件存储库存储在 /etc/apt/sources.list 文件中
还可以把一些自定义或单独的应用配置文件放在 /etc/apt/sources.list.d/*.list 中
4. 更新工具(apt-get 命令)
──(root㉿kali)-[~]
└─# apt-get -h
apt 2.6.1 (amd64)
用法: apt-get [选项] 命令apt-get [选项] install|remove 软件包1 [软件包2 ...]apt-get [选项] source 软件包1 [软件包2 ...]apt-get 可以从认证软件源下载软件包及相关信息,以便安装和升级软件包,
或者用于移除软件包。在这些过程中,软件包依赖会被妥善处理。常用命令:update - 取回更新的软件包列表信息upgrade - 进行一次升级install - 安装新的软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)reinstall - 重新安装软件包(注:软件包名称应当类似 libc6 而非 libc6.deb)remove - 卸载软件包purge - 卸载并清除软件包的配置autoremove - 卸载所有自动安装且不再使用的软件包dist-upgrade - 发行版升级,见 apt-get(8)dselect-upgrade - 根据 dselect 的选择来进行升级build-dep - 为源码包配置所需的编译依赖关系satisfy - 使系统满足依赖关系字符串clean - 删除所有已下载的包文件autoclean - 删除已下载的旧包文件check - 核对以确认系统的依赖关系的完整性source - 下载源码包文件download - 下载指定的二进制包到当前目录changelog - 下载指定软件包,并显示其变更日志(changelog)
Kali 的更新步骤:
1. apt-get update 更新软件包的列表 (索引)
解决更新软件包列表失败: apt-get update --fix-missing
┌──(root㉿kali)-[~]
└─# apt-get update
获取:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease [41.2 kB]
获取:2 http://mirrors.ustc.edu.cn/kali kali-rolling/main Sources [15.8 MB]
获取:3 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib Sources [78.0 kB]
获取:4 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free Sources [129 kB]
获取:5 http://mirrors.ustc.edu.cn/kali kali-rolling/main amd64 Packages [19.4 MB]
获取:6 http://mirrors.ustc.edu.cn/kali kali-rolling/main amd64 Contents (deb) [45.7 MB]
获取:7 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free amd64 Packages [218 kB]
获取:8 http://mirrors.ustc.edu.cn/kali kali-rolling/non-free amd64 Contents (deb) [907 kB]
获取:9 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib amd64 Packages [115 kB]
获取:10 http://mirrors.ustc.edu.cn/kali kali-rolling/contrib amd64 Contents (deb) [220 kB]
已下载 82.6 MB,耗时 4分 14秒 (325 kB/s)
正在读取软件包列表... 完成
2. apt-get upgrade更新软件包(进行一次升级)
┌──(root㉿kali)-[~]
└─# apt-get upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
正在计算更新... 完成
下列软件包是自动安装的并且现在不需要了:
3. apt-get dist-upgrade将系统升级到最新版本
┌──(root㉿kali)-[~]
└─# apt-get dist-upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
正在计算更新... 完成
4. apt-get clean #清除更新痕迹//可选
搜索 - 安装 - 删除软件
Advanced Packaging Tool, or apt 主要的命令就是apt-get,通过软件仓库实现对软件包的管理,可以很好地解决软件包之间的相互依赖关系
1. 搜索
apt-cache 可以查询和显示已安装和可安装软件包的可用信息它专门工作在本地的数据缓存上,而这些缓存可以通过比如apt-get 的“update’命令来更新
┌──(root㉿kali)-[~]
└─# apt-cache -h
apt 2.7.3 (amd64)
用法: apt-cache [选项] 命令apt-cache [选项] show 软件包1 [软件包2 ...]apt-cache 可以查询和显示已安装和可安装软件包的可用信息。
它专门工作在本地的数据缓存上,而这些缓存可以通过比如
apt-get 的 'update' 命令来更新。如果距离上一次更新的时间太久,
那么它显示的信息可能就会过时。不过作为交换,apt-cache 不依赖
当前软件源的可用性(比如:离线状态)。常用命令:showsrc - 显示源文件的各项记录search - 根据正则表达式搜索软件包列表depends - 显示该软件包的依赖关系信息rdepends - 显示所有依赖于该软件包的软件包名字show - 以便于阅读的格式介绍该软件包pkgnames - 列出所有软件包的名字policy - 显示软件包的安装设置状态
常用的命令选项
- search- 根据正则表达式搜索软件包列表
- show-以便于阅读的格式介绍该软件包
┌──(root㉿kali)-[~]
└─# apt-cache search vsftpd
ccze - robust, modular log coloriser
resource-agents - Cluster Resource Agents
vsftpd - lightweight, efficient FTP server written for security
vsftpd-dbg - lightweight, efficient FTP server written for security (debug)
yasat - simple stupid audit tool## 正则表达式
┌──(root㉿kali)-[~] ## ^ 开始
└─# apt-cache search ^vsftpd
vsftpd - lightweight, efficient FTP server written for security
vsftpd-dbg - lightweight, efficient FTP server written for security (debug)┌──(root㉿kali)-[~] ## 查看
└─# apt-cache show vsftpd
Package: vsftpd
Source: vsftpd (3.0.3-13)
Version: 3.0.3-13+b2
Installed-Size: 343
Maintainer: Keng-Yu Lin <kengyu@debian.org>
Architecture: amd64
Replaces: ftp-server
Provides: ftp-server
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libcap2 (>= 1:2.10), libpam0g (>= 0.99.7.1), libssl3 (>= 3.0.0), libwrap0 (>= 7.6-4~), adduser, libpam-modules, lsb-base (>= 3.0-6), netbase, procps, sysvinit-utils (>= 2.96)
管理工具 dpkg
Debian的软件包格式 *.deb (管理工具是dpkg) dpkg - package manager for
┌──(root㉿kali)-[~]
└─# dpkg --help
用法:dpkg [<选项>...] <命令>命令:-i|--install <.deb 文件名> ... | -R|--recursive <目录> ...--unpack <.deb 文件名> ... | -R|--recursive <目录> ...-A|--record-avail <.deb 文件名> ... | -R|--recursive <目录> ...--configure <软件包名> ... | -a|--pending--triggers-only <软件包名> ... | -a|--pending-r|--remove <软件包名> ... | -a|--pending-P|--purge <软件包名> ... | -a|--pending-V|--verify <软件包名> ... 检查包的完整性。--get-selections [<表达式> ...] 把已选中的软件包列表打印到标准输出。--set-selections 从标准输入里读出要选择的软件。--clear-selections 取消选中所有非必需的软件包。--update-avail <软件包文件> 替换现有可安装的软件包信息。--merge-avail <软件包文件> 把文件中的信息合并到系统中。--clear-avail 清除现有的软件包信息。--forget-old-unavail 忘却已被卸载的不可安装的软件包。-s|--status <软件包名> ... 显示指定软件包的详细状态。-p|--print-avail <软件包名> ... 显示可供安装的软件版本。-L|--listfiles <软件包名> ... 列出属于指定软件包的文件。-l|--list [<表达式> ...] 简明地列出软件包的状态。-S|--search <表达式> ... 搜索含有指定文件的软件包。-C|--audit [<表达式> ...] 检查是否有软件包残损。--yet-to-unpack 列出标记为待解压的软件包。--predep-package 列出待解压的预依赖。--add-architecture <体系结构> 添加 <体系结构> 到体系结构列表。--remove-architecture <体系结构> 从体系结构列表中移除 <体系结构>。--print-architecture 显示 dpkg 体系结构。--print-foreign-architectures 显示已启用的异质体系结构。--assert-<特性> 对指定特性启用断言支持。--validate-<属性> <字符串> 验证一个 <属性>的 <字符串>。--compare-versions <a> <关系> <b> 比较版本号 - 见下。--force-help 显示本强制选项的帮助信息。-Dh|--debug=help 显示有关出错调试的帮助信息。-?, --help 显示本帮助信息。--version 显示版本信息。可验证的属性:pkgname, archname, trigname, version.调用 dpkg 并带参数 -b, --build, -c, --contents, -e, --control, -I, --info,-f, --field, -x, --extract, -X, --vextract, --ctrl-tarfile, --fsys-tarfile
是针对归档文件的。 (输入 dpkg-deb --help 获取帮助)选项:--admindir=<目录> 使用指定 <目录> 而非 /var/lib/dpkg。--root=<目录> 安装到另一个根目录下。--instdir=<目录> 改变安装目录的同时保持管理目录不变。--pre-invoke=<命令> 设置调用前钩子。--post-invoke=<命令> 设置调用后钩子。--path-exclude=<表达式> 不要安装匹配Shell表达式的路径。--path-include=<表达式> 在排除模式后再包含一个模式。-O|--selected-only 跳过没有被选中安装或升级的软件包。-E|--skip-same-version 跳过版本与已安装软件版本相同的软件包。-G|--refuse-downgrade 跳过版本早于已安装软件版本的的软件包。-B|--auto-deconfigure 就算会损坏其他软件包,也要安装。--[no-]triggers 跳过或强制随之发生的触发器处理。--verify-format=<格式> 检查输出格式(支持的值:'rpm')--no-pager 禁用任何分页器。--no-debsig 不去尝试验证软件包的签名。--no-act|--dry-run|--simulate仅报告要执行的操作 - 但是不执行。-D|--debug=<八进制数> 开启调试(参见 -Dhelp 或者 --debug=help)。--status-fd <n> 发送状态更新到文件描述符<n>。--status-logger=<命令> 发送状态更新到 <命令> 的标准输入。--log=<文件名> 将状态更新和操作信息到 <文件名>。--ignore-depends=<软件包>[,...]忽略关于 <软件包> 的所有依赖关系。--force-<项目>... 忽视遇到的问题(参见 --force-help)。--no-force-<项目>[,...] 遇到指定问题时停止。--refuse-<项目>[,...] 同上。--abort-after <n> 累计遇到 <n> 个错误后中止。--robot 对某些命令使用机器可读的输出。可供--compare-versions 使用的比较运算符有:lt le eq ne ge gt (如果版本号为空,那么就认为它先于任意版本号);lt-nl le-nl ge-nl gt-nl (如果版本号为空,那么就认为它后于任意版本号);< << <= = >= >> > (仅仅是为了与主控文件的语法兼容)。'apt' 和 'aptitude' 提供了更为便利的软件包管理。
DebianCentos、RedHat的软件包格式*.rpm (管理工具是rpm)
┌──(root㉿kali)-[~]
└─# dpkg -l
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触 >
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称 版本 体系结>
+++-==============================================-====================================-======>
ii acl 2.3.1-3 amd64 >
ii adduser 3.137 all >
ii adwaita-icon-theme 43-1 all >
ii aircrack-ng 1:1.7-5 amd64 >
ii alsa-topology-conf 1.2.5.1-2 all >
ii alsa-ucm-conf 1.2.9-1 all >
ii amass 4.1.0-0kali1 amd64 >
ii amass-common 4.1.0-0kali1 all >
ii amd64-microcode 3.20230808.1.1 amd64 >
ii apache2 2.4.57-2 amd64 >
ii apache2-bin 2.4.57-2 amd64 >
ii apache2-data 2.4.57-2 all >
ii apache2-utils 2.4.57-2 amd64 >
ii apparmor 3.0.8-3 amd64 >
ii apt 2.7.3 amd64 >## 查询 dpkg -l | grep less┌──(root㉿kali)-[~]
└─# dpkg -l | grep less
ii aircrack-ng 1:1.7-5 amd64 wireless WEP/WPA cracking utilities
ii default-jre-headless 2:1.17-74 amd64 Standard Java or Java compatible Runtime (headless)
ii firmware-ath9k-htc 1.4.0-108-gd856466+dfsg1-2+kali2 all firmware for AR7010 and AR9271 USB wireless adapters
ii firmware-atheros 20230515-3+kali1 all Binary firmware for Qualcomm Atheros wireless cards
ii firmware-brcm80211 20230515-3+kali1 all Binary firmware for Broadcom/Cypress 802.11 wireless cards
ii firmware-iwlwifi 20230515-3+kali1 all Binary firmware for Intel Wireless cards
ii firmware-libertas 20230515-3+kali1 all Binary firmware for Marvell wireless cards
2. 安装软件
## 查询 dpkg -l | grep vsftpd
┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd## 安装 apt-get install vsftpd
┌──(root㉿kali)-[~]
└─# apt-get install vsftpd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成 ┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd
ii vsftpd 3.0.3-13+b2 amd64 lightweight, efficient FTP server written for security
3. 删除软件包
ot㉿kali)-[~]
└─# apt-get remove vsftpd## 以上命令删除 软件后还会存在配置文件
┌──(root㉿kali)-[~]
└─# dpkg -L vsftpd
/etc
/etc/ftpusers
/etc/init.d
/etc/init.d/vsftpd
/etc/logrotate.d
/etc/logrotate.d/vsftpd
/etc/pam.d
/etc/pam.d/vsftpd
/etc/vsftpd.conf┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd
rc vsftpd 3.0.3-13+b2 amd64 lightweight, efficient FTP server written for security## 删除2 apt-get purge vsftpd
┌──(root㉿kali)-[~]
└─# apt-get purge vsftpd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了 ┌──(root㉿kali)-[~]
└─# dpkg -L vsftpd
dpkg-query: 软件包 vsftpd 没有被安装
通过 dpkg --contents (= dpkg-deb --contents) 来列出档案文件清单。┌──(root㉿kali)-[~]
└─# dpkg -l | grep vsftpd
4. 搜索 apt-file
apt-file 可以根据命令搜索软件包
┌──(root㉿kali)-[~]
└─# apt-file -h apt-file [options] action [pattern]
apt-file [options] -f action <file>
apt-file [options] -D action <debfile>Pattern options:
================--fixed-string -F Do not expand pattern--from-deb -D Use file list of .deb package(s) aspatterns; implies -F--from-file -f Read patterns from file(s), one per line(use '-' for stdin)--ignore-case -i Ignore case distinctions--regexp -x pattern is a regular expression--substring-match pattern is a substring (no glob/regex)Search filter options:
======================--architecture -a <arch> Use specific architecture [L]--index-names -I <names> Only search indices listed in <names> [L]--filter-suites <suites> Only search indices for the listed <suites> [L](E.g. "unstable")--filter-origins <origins> Only search indices from <origins> [L](E.g. "Debian")Other options:
==============--config -c <file> Parse the given APT config file [R]--option -o <A::B>=<V> Set the APT config option A::B to "V" [R]--package-only -l Only display packages name--stream-results Emit results immediately (without deduplication)--verbose -v run in verbose mode [R]--help -h Show this help.-- End of options (necessary if patternstarts with a '-')[L]: Takes a comma-separated list of values.
[R]: The option can be used repeatedlyAction:list|show <pattern> List files in packageslist-indices List indices configured in APT.search|find <pattern> Search files in packagesupdate Fetch Contents files from apt-sources.
-
Step0: apt-get install apt-file .
-
Step1: 更新缓存:apt-file update
┌──(root㉿kali)-[~]
└─# apt-file update
命中:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
所有软件包均为最新。
- Step2: 举例 :apt-file search arpspoof.//搜索 arpspoof 命令由哪个软件包提供
┌──(root㉿kali)-[~]
└─# apt-file search arpspoof
bash-completion: /usr/share/bash-completion/completions/arpspoof
dsniff: /usr/sbin/arpspoof
dsniff: /usr/share/man/man8/arpspoof.8.gz
Ps: arpspoof ,arp 欺骗的工具
正则表达式
正则表达式(regular expression),可简写为 regex或re,是一种指定字符串模式的简洁方式即一种用来描述文本模式的特殊语法。由普通字符(例如字符 a 到2)以及特殊字符(称为元字符,如/、*、?等) 组成,常用于字符串的搜索与替换操作。.例如,下面的一组字符串
-
例如:
- 作为正则表达式,可以使用 xiao[123]表示:
xiao1 、xiao2 、xiao3 .
- 作为正则表达式,可以使用 xiao[123]表示:
-
很多UNIX工具都使用正则表达式来强化其自身的功能,例如:
- (1)查找匹配文本的grep 家族(grep/egrep/agrep)
- (2)大名鼎鼎的流编辑器 sed
- (3)字符串程序处理语言 awk、perl 等
- (4)文本查看程序,例如 more、less 等
- (5)文本编辑器,例如 vi、emacs、jed 等
-
特殊的元字符
- . :除新行(如换行)字符外,匹配任意的单个字符,即一定有一个任意字符
- ^ :锚:匹配行的开头
- $ :锚:匹配行的末尾
- \< :锚:匹配单词的开头 (\b)
- \> :锚:匹配单词的末尾 (\b)
- [list] :字符类:匹配 list 列表中的任一字符字符类
- [^list] :字符类:匹配不在 list 列表中的任何字符
- ( ) :分组:视为一个单独的单元
- | :交替:匹配选择之一,为 ERE 运算符里优先级最低
- \ :引用:从字面上解释元字符,通常用以关闭后续字符的特殊含义。
- * :匹配在它之前的任何数目《或没有)的单个字符,重复前一个0到无穷多注
注 1:锚(anchor), 用来匹配在字符串的开头或末尾的位置。
注 2:分组,由于()–圆括号提供分组功能,让运算符可以被应用到“前置的正则表达式”
相关文章:

Kali 软件管理
kali 更新 1. 查看发行版本 ┌──(root㉿kali)-[~] └─# lsb_release -a No LSB modules are available. Distributor ID: Kali Description: Kali GNU/Linux Rolling Release: 2023.2 Codename: kali-rolling2. 查看内核版本 ┌──(root㉿kali)-[~] └─…...

加油站【贪心算法】
加油站 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和…...

java八股文面试[多线程]——死锁、活锁、饥饿
DCL双重锁:TODO 如何预防死锁: 如何查看线程死锁: 知识来源: 【2023年面试】描述一下线程安全活跃态问题,以及竞态条件_哔哩哔哩_bilibili 【2023年面试】如何预防死锁_哔哩哔哩_bilibili 【并发与线程】阿里一面&…...

设计模式——装饰器模式
装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 装饰器模式通过将对象包装在装饰器类中,以便动态…...

①matlab的命令掌握
目录 输入命令 命名变量 保存和加载变量 使用内置的函数和常量 输入命令 1.您可以通过在命令行窗口中 MATLAB 提示符 (>>) 后输入命令 任务 使用命令 3*5 将数值 3 和 5 相乘。 答案 3*5 2.除非另有指定,否则 MATLAB 会将计算结果存储在一个名为 ans…...

MySQL----索引
一、索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于c语言的链表通过指针指向数据记录的内存地址)。使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该…...

秒杀系统的业务流程以及优化方案(实现异步秒杀)
先看基本的业务流程 那么我们可以看到整个流程都是一个线程来完成的,这样的话耗时还是很长的,那么可不可以采用多线程去实现呢? 首先我们要思考怎么对业务进行拆分,可以想象一个我们去饭店点餐,会有前台接待ÿ…...

Java实现根据商品ID获取1688商品详情跨境属性数据,1688商品重量数据接口,1688API接口封装方法
要通过1688的API获取商品详情跨境属性数据,您可以使用1688开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例,展示如何通过1688开放平台API获取商品详情属性数据接口: 首先,确保您已注册成为1688开放平台的开发者…...

前端面试的性能优化部分(14)每天10个小知识点
目录 系列文章目录前端面试的性能优化部分(1)每天10个小知识点前端面试的性能优化部分(2)每天10个小知识点前端面试的性能优化部分(3)每天10个小知识点前端面试的性能优化部分(4)每天…...

Uniapp笔记(六)uniapp基础
一、腾讯地图 1、uniapp地图渲染 <template><view><map class"map" :longitude"longitude" :latitude"latitude"></map></view> </template> <script>export default {data() {return {longitude:1…...

C++ sort函数用法
sort函数是C标准库中的一个排序算法,头文件是algorithm,用于对容器中的元素进行排序。它可以对任何可排序的容器(如数组、向量、列表等)进行排序。 有以下四个基本用法: 1. 自定义排序规则:可以通过提供自…...

电子仓库预测水浸事件,他怎么做到的?
仓库环境中水浸事件可能导致严重的损失,不仅对货物造成损害,还可能影响设备的正常运行甚至威胁安全。 因此,为了应对这一挑战,引入一套完善的仓库水浸监控系统成为了不可或缺的措施。 客户案例 广东某电子公司是一家领先的电子设…...

CMake调用第三方库的两种方法
为了让连接器搜索到库路径,一般有两种方法 link_directories命令 使用步骤## 在add_executable或add_library前引入第三方库 # 1.引入第三方库,${THIRD_PARTY_PREFIX}为用户定义的第三方库目录 link_directories(${THIRD_PARTY_PREFIX}/lib) # 2.增加第三方库头文…...

Django基础7——用户认证系统、Session管理、CSRF安全防护机制
文章目录 一、用户认证系统二、案例:登陆认证2.1 平台登入2.2 平台登出2.3 login_required装饰器 三、Django Session管理3.1 Django使用Session3.1.1 Cookie用法3.1.2 Session用法 3.2 案例:用户登录认证 四、Django CSRF安全防护机制 一、用户认证系统…...

基于流计算 Oceanus(Flink) CDC 做好数据集成场景
由于第一次做实时,所以踩坑比较多,见谅(测试环境用的flink),小公司没有用到hadoop组件 一、踩坑记录 1:本地代码的flink版本是flink1.15.4,生产环境是flink1.16.1,在使用侧输出流时报错,需要使用以下写法,需要使用Si…...

MySQL8.Xx安装控制台未生成随机密码解决方案
MySQL8.xx一主两从复制安装与配置 MySQL8.XX随未生成随机密码解决方案 MySQL8.0.30一主两从复制与配置(一) 一: Mysql 安装时控制台未生成密码 安装过程中解压或者安装时报错等,这种情况一般是因网络等其他原因导致下载的安装包不完整, 重新下载安装即可; 二:…...

安装VS2005时提示:请插入磁盘:visual studio 2005 DVD
安装VS2005时提示:请插入磁盘:visual studio 2005 DVD 修改卷标为 "DVD1"...

OpenVINO2023使用简介
1 下载安装 先在anaconda中创建一个虚拟环境,该环境的python版本为3.7,之所以使用python3.7,是因为我在3.9上安装过程中出现不少bug,后面新建了一个3.7的环境才解决,我不知道是否由于和我已有环境中某些包不兼容&…...

基于React实现无限滚动的日历详细教程,附源码【手写日历教程第二篇】
前言 最常见的日历大部分都是滚动去加载更多的月份,而不是让用户手动点击按钮切换日历月份。滚动加载的交互方式对于用户而言是更加丝滑和舒适的,没有明显的操作割裂感。 那么现在需要做一个这样的无限滚动的日历,前端开发者应该如何去思考…...

68、使用aws官方的demo和配置aws服务,进行视频流上传播放
基本思想:参考官方视频,进行了配置aws,测试了视频推流,rtsp和mp4格式的视频貌似有问题,待调研和解决 第一步:1) 进入aws的网站,然后进入ioT Core 2)先配置 Thing types & Thing,选择香港的节点,然后AWS ioT--->Manage---> Thing type 然后输入名字,创建Th…...

数据库
表 记录:行 字段(属性): 列 以行列的形式就组成了表(数据存储在表中) 关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成。它可以供各种用户共享, 具有最小冗余度和较高…...

深入了解fcntl函数:Linux系统编程中的文件控制
文章目录 概述介绍函数原型与参数 拓展:fcntl改文件属性总结 概述 摘要: fcntl函数是Linux系统编程中一个重要的函数,用于对文件描述符进行各种控制操作。本文将详细介绍fcntl函数的原型、各个参数的用法,以及阻塞和非阻塞模式切换的方法&am…...

汇川技术内推码
[庆祝]不一样的内推码[庆祝]:IVSM2R 投递了可以评论下名字,我会帮忙留意进度。 汇尔成川,共赴星海,欢迎加入,职等你来。 嵌入式软硬件,机器人算法,电机控制,通信软件,PLC…...

nacos服务器启动报错集合
报错1 Error creating bean with name ‘user‘: Unsatisfied dependency expressed through field ‘jwtTokenManage 开启鉴权之后,你可以自定义用于生成JWT令牌的密钥,application.properties中的配置信息为: ### Since 1.4.1, worked when…...

C语言_分支和循环语句(2)
文章目录 前言一、for 循环1.1语法1.2 for 语句的循环控制变量1.3 一些 for 循环的变种 二、do ... while()循环2.1 do 语句的语法2.2 do ... while 循环中的 break 和 continue2.3 练习1 **- 计算n的阶乘**2. - **在一个有序数组中查找具体的某个数字 n** 二分查找算法&#x…...

JMeter 接口自动化测试:从入门到精通的完全指南
JMeter 是一个开源的负载测试工具,它可以模拟多种协议和应用程序的负载,包括 HTTP、FTP、SMTP、JMS、SOAP 和 JDBC 等。在进行接口自动化测试时,使用 JMeter 可以帮助我们快速地构建测试用例,模拟多种场景,发现接口的性…...

【Java】集合List的toArray()方法及其重载
在Java中,集合(List 接口的实现类)提供了一个名为 toArray 的方法,用于将集合中的元素转换成数组。该方法有两个主要的重载形式,分别用于不同的情况。 toArray()重载方法1 <T> T[] toArray(T[] a)这个方法将集…...

Python学习笔记:Requests库安装、通过url下载文件
1.下载安装requests库 在pipy或者github下载,通常是个zip,解压缩后在路径输入cmd,并运行以下代码 Python setup.py install 安装完成后,输入python再输入import requests得到可以判断时候完成安装 2.通过url下载文件 使用的是u…...

git pull --rebase 用法
git pull --rebase git pull --rebase 是 Git 命令中的一个选项,它的作用是在从远程仓库拉取更新时使用 rebase 而不是默认的合并方式。使用这个命令会使您的提交历史更加整洁,因为它将您的本地提交在远程更新之前重新应用到新的提交之上。 这个命令的…...

react antd框架中的徽标获取数据对应状态的数量
实现思路:获取数量的思路是通过filter过滤符合数据来实现。 列表数组.filter(item > item.status 值).length; 例子:以下这个例子是判断data数组中的status中在职的数量。 data.filter((item) > item.status 在职).length 效果展示ÿ…...