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

linux中常用shell脚本整理

linux常见shell脚本整理

备份日志

#!/bin/bash  
# 每日创建新的备份日志-根据日期备份
tar  -czf  log-`date +%Y%m%d`.tar.gz  /var/log  
# 通过crontab 每日定时启动
00  03  *  *  5  /root/logbak.sh  

监控内存和磁盘容量,小于给定值时报警

#!/bin/bash  # 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员  # 提取根分区剩余空间  
disk_size=$(df / | awk '/\//{print $4}')  # 提取内存剩余空间  
mem_size=$(free | awk '/Mem/{print $4}')  
while :  
do  
# 注意内存和磁盘提取的空间大小都是以 Kb 为单位  
if  [  $disk_size -le 512000 -a $mem_size -le 1024000  ]  
then  mail  ‐s  "Warning"  root  <<EOF  Insufficient resources,资源不足  
EOF  
fi  
done  

监控网段中的主机状态

#!/bin/bash  myping(){  
ping ‐c 2 ‐i 0.3 ‐W 1 $1  &>/dev/null  
if  [ $? -eq 0 ];then  echo "$1 is up"  
else  echo "$1 is down"  
fi  
}  
for i in {1..254}  
do  myping 192.168.4.$i &  
done    

根据文件创建用户名密码

#!/bin/bash  for i in `cat user.txt`  
do  useradd  $i  echo "123456" | passwd ‐‐stdin $i  
done  

查看连接本机的Ip

#!/bin/bash 
netstat -atn  |  awk  '{print $5}'  | awk  '{print $1}' | sort -nr  |  uniq -c 

统计时间段内访问量

#!/bin/bash 
# 统计时间段内的访问量 
awk -F "[ /:]" '$7":"$8>="13:30" && $7":"$8<="14:30"' /var/log/httpd/access_log |wc -l 
# 统计时间段内的访问Ip
awk -F "[ /:]" '$7":"$8>="13:30" && $7":"$8<="14:30"{print $1}' /var/log/httpd/access_log  

Nginx启动脚本

#!/bin/bash  program=/usr/local/nginx/sbin/nginx  
pid=/usr/local/nginx/logs/nginx.pid  
start(){  
if [ -f $pid ];then  echo  "nginx 服务已经处于开启状态"  
else  $program  
fi  
stop(){  
if [ -! -f $pid ];then  echo "nginx 服务已经关闭"  
else  $program -s stop  echo "关闭服务 ok"  
fi  
}  
status(){  
if [ -f $pid ];then  echo "服务正在运行..."  
else  echo "服务已经关闭"  
fi  
}  case $1 in  
start)  start;;  
stop)  stop;;  
restart)  stop  sleep 1  start;;  
status)  status;; 
*)  echo  "你输入的语法格式错误"  
esac  

自动切割nginx日志文件

#mkdir  /data/scripts  
#vim   /data/scripts/nginx_log.sh    
#!/bin/bash  # 切割 Nginx 日志文件(防止单个文件过大,后期处理很困难)   
logs_path="/usr/local/nginx/logs/"  
mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log  
kill -USR1  `cat /usr/local/nginx/logs/nginx.pid`  # chmod +x  /data/scripts/nginx_log.sh  
# crontab  ‐e                    #脚本写完后,将脚本放入计划任务每天执行一次脚本  
0  1  *  *   *   /data/scripts/nginx_log.sh 

检测Mysql数据库连接数量

#!/bin/bash  # 检测 MySQL 数据库连接数量   # 本脚本每 2 秒检测一次 MySQL 并发连接数,可以将本脚本设置为开机启动脚本,或在特定时间段执行  
# 以满足对 MySQL 数据库的监控需求,查看 MySQL 连接是否正常  
# 本案例中的用户名和密码需要根据实际情况修改后方可使用  
log_file=/var/log/mysql_count.log  
user=root  
passwd=123456  
while :  
do  sleep 2  count=`mysqladmin  -u  "$user"  -p  "$passwd"   status |  awk '{print $4}'`  echo "`date +%Y‐%m‐%d` 并发连接数为:$count" >> $log_file  
done  

检测mysql服务是否存活

#!/bin/bash  # 检测 MySQL 服务是否存活   # host 为你需要检测的 MySQL 主机的 IP 地址,user 为 MySQL 账户名,passwd 为密码  
# 这些信息需要根据实际情况修改后方可使用  
host=192.168.51.198  
user=root  
passwd=123456  
mysqladmin -h '$host' -u '$user' -p'$passwd' ping &>/dev/null  
if [ $? -eq 0 ]  
then  echo "MySQL is UP"  
else  echo "MySQL is down"  
fi

备份Mysql

#!/bin/bash  # 备份 MySQL 的 shell 脚本(mysqldump版本)   # 定义变量 user(数据库用户名),passwd(数据库密码),date(备份的时间标签)  
# dbname(需要备份的数据库名称,根据实际需求需要修改该变量的值,默认备份 mysql 数据库)  user=root  
passwd=123456  
dbname=mysql  
date=$(date +%Y%m%d)  # 测试备份目录是否存在,不存在则自动创建该目录  
[ ! -d /mysqlbackup ] && mkdir /mysqlbackup  
# 使用 mysqldump 命令备份数据库  
mysqldump -u "$user" -p "$passwd" "$dbname" > /mysqlbackup/"$dbname"-${date}.sql  

根据md5校验码,检测文件是否修改

#!/bin/bash  # 根据 md5 校验码,检测文件是否被修改   
# 本示例脚本检测的是/etc 目录下所有的 conf 结尾的文件,根据实际情况,您可以修改为其他目录或文件  
# 本脚本在目标数据没有被修改时执行一次,当怀疑数据被人篡改,再执行一次  
# 将两次执行的结果做对比,MD5 码发生改变的文件,就是被人篡改的文件  
for i in $(ls /etc/*.conf)  
do  md5sum "$i" >> /var/log/conf_file.log  
done  

非交互生成ssh秘钥文件

#!/bin/bash  # 非交互自动生成 SSH 密钥文件   
# ‐t 指定 SSH 密钥的算法为 RSA 算法;‐N 设置密钥的密码为空;‐f 指定生成的密钥文件>存放在哪里  
rm  -rf  ~/.ssh/{known_hosts,id_rsa*}  
ssh‐keygen -t RSA -N '' -f ~/.ssh/id_rsa

监控http服务器状态

#!/bin/bash  # 监控 HTTP 服务器的状态(测试返回码)  # 设置变量,url为你需要检测的目标网站的网址(IP 或域名),比如百度  
url=http://http://183.232.231.172/index.html  # 定义函数 check_http:  
# 使用 curl 命令检查 http 服务器的状态  
# ‐m 设置curl不管访问成功或失败,最大消耗的时间为 5 秒,5 秒连接服务为相应则视为无法连接  
# ‐s 设置静默连接,不显示连接时的连接速度、时间消耗等信息  
# ‐o 将 curl 下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容)  
# ‐w 设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码  
check_http()  
{  status_code=$(curl -m 5 -s -o /dev/null -w %{http_code} $url)  
}  while :  
do  check_http  date=$(date +%Y%m%d‐%H:%M:%S)  # 生成报警邮件的内容  echo "当前时间为:$date  $url 服务器异常,状态码为${status_code}.  请尽快排查异常." > /tmp/http$$.pid  # 指定测试服务器状态的函数,并根据返回码决定是发送邮件报警还是将正常信息写入日志  if [ $status_code -ne 200 ];then  mail -s Warning root < /tmp/http$$.pid  else  echo "$url 连接正常" >> /var/log/http.log  fi  sleep 5  
done  

删除目录下大小为0的文件

#!/bin/bash  
# 删除某个目录下大小为 0 的文件  
#/var/www/html 为测试目录,脚本会清空该目录下所有 0 字节的文件  
dir="/var/www/html"  
find $dir -type f -size 0 -exec rm -rf {} \;  

查找linux系统中的僵尸进程

#!/bin/bash  # 查找 Linux 系统中的僵尸进程  
# awk 判断 ps 命令输出的第 8 列为 Z 是,显示该进程的 PID 和进程命令  
ps aux | awk '{if($8 == "Z"){print $2,$11}}'

生成随机密码

#!/bin/bash  # 生成随机密码(urandom 版本)   
tr -dc '_A‐Za‐z0‐9' </dev/urandom | head -c 10  ## 

生成随机密码(指定字符串)

# 生成随机密码(字串截取版本)   # 设置变量 key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符  
# 使用$#统计密码库的长度  
key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"  
num=${#key}  
# 设置初始密码为空  
pass=''  
# 循环 8 次,生成随机密码  
# 每次都是随机数对密码库的长度取余,确保提取的密码字符不超过密码库的长度  
# 每次循环提取一位随机密码,并将该随机密码追加到 pass 变量的最后  
for i in {1..8}  
do    index=$[RANDOM%num]  pass=$pass${key:$index:1}  
done  
echo $pass  

获取本地的一些信息

#!/bin/bash  # 获取本机 MAC 地址  
ip a s | awk 'BEGIN{print  " 本 机 MAC 地 址 信 息 如 下 :"}/^[0‐9]/{print $2;getline;if($0~/link\/ether/){print $2}}' | grep -v lo:  ## 显示本机系统上所有开放的端口列表
ss -nutlp | awk '{print $1,$5}' | awk -F"[: ]" '{print "协议:"$1,"端口号:"$NF}' | grep "[0‐9]" | uniq  

修改linux系统最大打开文件数量

#!/bin/bash  # 修改 Linux 系统的最大打开文件数量   # 往/etc/security/limits.conf 文件的末尾追加两行配置参数,修改最大打开文件数量为 65536  
cat >> /etc/security/limits.conf <<EOF  
* soft nofile  65536  
* hard nofile  65536  
EOF  

一次部署memcache

#!/bin/bash  # 一键部署 memcached   
# 脚本用源码来安装 memcached 服务器  
# 注意:如果软件的下载链接过期了,请更新 memcached 的下载链接  
wget http://www.memcached.org/files/memcached-1.5.1.tar.gz  
yum -y install gcc  
tar -xf  memcached‐1.5.1.tar.gz  
cd memcached‐1.5.1  
./configure  
make  
make install  

打印各种格式的时间

  
echo "显示星期简称(如:Sun)"  
date +%a  
echo "显示星期全称(如:Sunday)"  
date +%A  
echo "显示月份简称(如:Jan)"  
date +%b  
echo "显示月份全称(如:January)"  
date +%B  
echo "显示数字月份(如:12)"  
date +%m  
echo "显示数字日期(如:01 号)"  
date +%d  
echo "显示数字年(如:01 号)"  
date +%Y echo "显示年‐月‐日"  
date +%F  
echo "显示小时(24 小时制)"  
date +%H  
echo "显示分钟(00..59)"  
date +%M  
echo "显示秒"  
date +%S  
echo "显示纳秒"  
date +%N  
echo "组合显示"  
date +"%Y%m%d %H:%M:%S"  

生成签名秘钥和证书

read -p "请输入存放证书的目录:" dir  
if [ ! -d $dir ];then  echo "该目录不存在"  exit  
fi  
read -p "请输入密钥名称:" name  
# 使用 openssl 生成私钥  
openssl genrsa -out ${dir}/${name}.key  
# 使用 openssl 生成证书 #subj 选项可以在生成证书时,非交互自动填写 Common Name 信息  
openssl req -new -x509 -key ${dir}/${name}.key -subj "/CN=common" -out ${dir}/${name}.crt  

定时启动Python程序

  • 需要保证job.py文件可执行
  • chmod u+x /root/s1.sh 保证sh文件的执行权限
  • crontab -e 编辑定时任务
    • */1 * * * * /root/s1.sh # 设置每分钟执行一次
#!/bin/bash
python3 /root/job.py
echo 'Python脚本执行成功,时间:' >> /root/log
date >> /root/log

开启和关闭jar操作

  • jar包名称为 uid-consumer-1.1.0-SNAPSHOT.jar
#!/bin/sh# 该脚本为Linux下启动java程序的脚本
# 特别注意:
# 该脚本使用系统kill命令来强制终止指定的java程序进程。
# 所以在杀死进程前,可能会造成数据丢失或数据不完整。如果必须要考虑到这类情况,则需要改写此脚本,
# 根据实际情况来修改以下配置信息 ################################### JAVA应用程序的名称
APP_NAME=uid-consumer
# JAVA应用程序端口号
SERVER_PORT=9999
# jar包存放路径
JAR_PATH='/app/uid-consumer'
# jar包名称
JAR_NAME=uid-consumer-1.1.0-SNAPSHOT.jar
# PID 代表是PID文件
JAR_PID=$JAR_NAME\.pid
# 日志输出文件
LOG_FILE=logs# java虚拟机启动参数
JAVA_OPTS="-Xms512m -Xmx512m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m -XX:ParallelGCThreads=4 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=utf-8"# 根据实际情况来修改以上配置信息 ################################### 检查程序是否处于运行状态
is_exist() {# 查询出应用服务的进程id,grep -v 是反向查询的意思,查找除了grep操作的run.jar的进程之外的所有进程pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `# [ ]表示条件测试。注意这里的空格很重要。要注意在'['后面和']'前面都必须要有空格# [ -z STRING ] 如果STRING的长度为零则返回为真,即空是真# 如果不存在返回0,存在返回1if [ -z "${pid}" ]; thenreturn 0elsereturn 1fi
}# ######### Shell脚本中$0、$?、$!、$$、$*、$#、$@等的说明 ########## $$ Shell本身的PID(ProcessID,即脚本运行的当前 进程ID号)
# $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的 进程ID号)
# $? 最后运行的命令的结束代码(返回值)即执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
# $- 显示shell使用的当前选项,与set命令功能相同
# $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数,此选项参数可超过9个。
# $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
# $# 添加到Shell的参数个数
# $0 Shell本身的文件名
# $1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。# 服务启动方法
start() {is_existif [ $? -eq "1" ]; thenecho "$APP_NAME is already running pid is ${pid}"else# jar服务启动脚本nohup java $JAVA_OPTS -Xloggc:$LOG_FILE/gc/gclog.log -XX:HeapDumpPath=$LOG_FILE/gc/HeapDump.hprof -jar $JAR_PATH/$JAR_NAME >./$LOG_FILE/run.log 2>&1 &echo $! > $JAR_PIDecho "start $APP_NAME successed pid is $! "tail -1000f $LOG_FILE/run.logfi}# 服务停止方法
stop() {# is_existpidf=$(cat $JAR_PID)# echo "$pidf" echo "pid = $pidf begin kill $pidf"kill $pidfrm -rf $JAR_PIDsleep 2# 判断服务进程是否存在is_existif [ $? -eq "1" ]; thenecho "pid = $pid begin kill -9 $pid"kill -9  $pidsleep 2echo "$APP_NAME process stopped!" elseecho "$APP_NAME is not running!"fi 
}# 服务运行状态查看方法
status() {is_existif [ $? -eq "1" ]; thenecho "$APP_NAME is running,pid is ${pid}"elseecho "$APP_NAME is not running!"fi
}# 重启服务方法
restart() {# 调用服务停止命令stop# 调用服务启动命令start
}# 帮助说明,用于提示输入参数信息
usage() {echo "Usage: sh run-service.sh [ start | stop | restart | status ]"exit 1
}###################################
# 读取脚本的第一个参数($1),进行判断
# 参数取值范围:{ start | stop | restart | status }
# 如参数不在指定范围之内,则打印帮助信息
###################################
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in'start')start;;'stop')stop;;'restart')restart;;'status')status;;*)usage;;
esac
exit 0

相关文章:

linux中常用shell脚本整理

linux常见shell脚本整理 备份日志 #!/bin/bash # 每日创建新的备份日志-根据日期备份 tar -czf log-date %Y%m%d.tar.gz /var/log # 通过crontab 每日定时启动 00 03 * * 5 /root/logbak.sh 监控内存和磁盘容量&#xff0c;小于给定值时报警 #!/bin/bash # 实…...

介绍PHP

PHP是一种流行的服务器端编程语言&#xff0c;用于开发Web应用程序。它是一种开源的编程语言&#xff0c;具有易学易用的语法和强大的功能。PHP支持在服务器上运行的动态网页和Web应用程序的快速开发。 PHP可以与HTML标记语言结合使用&#xff0c;从而能够生成动态的Web页面&a…...

selenium+find_elements用法

1、假如我们遇到多个标签的class一样&#xff0c;比如像下面这样的 我们可以采用js语法去定位&#xff0c;比如&#xff1a; document.getElementsByClassName("ant-calendar-picker-input ant-input")[0]...

1DM+下载器_11.2.1魔改增强版下载

1DM「原&#xff1a;IDM」下载器是一款安卓端的下载工具&#xff0c;多语言解锁版直安装版本&#xff0c;号称是目前 Android 平台最快、最先进的下载管理器应用「支持通过Torrent下载」&#xff0c;而这个版本是改线程的最新idm版本&#xff0c;可用来下载视频、音乐、电影、T…...

vue3:3、项目目录和关键文件

关于vsvode的更改 <!-- 加上setup允许在script中直接编写组合式api --> <script setup> // 组件引入后直接用 import HelloWorld from ./components/HelloWorld.vue import TheWelcome from ./components/TheWelcome.vue</script><!-- 1、js放在最上面&am…...

ChatGPT实战与私有化大模型落地

文章目录 大模型现状baseline底座选择数据构造迁移方法评价思考 领域大模型训练技巧Tokenizer分布式深度学习数据并行管道并行向量并行分布式框架——Megatron-LM分布式深度学习框架——Colossal-AI分布式深度学习框架——DeepSpeedP-tuning 微调 资源消耗模型推理加速模型推理…...

10分钟从实现和使用场景聊聊并发包下的阻塞队列

上篇文章12分钟从Executor自顶向下彻底搞懂线程池中我们聊到线程池&#xff0c;而线程池中包含阻塞队列 这篇文章我们主要聊聊并发包下的阻塞队列 阻塞队列 什么是队列&#xff1f; 队列的实现可以是数组、也可以是链表&#xff0c;可以实现先进先出的顺序队列&#xff0c;…...

Python入门学习13(面向对象)

一、类的定义和使用 类的使用语法&#xff1a; 创建类对象的语法&#xff1a; ​​​​​​​ class Student:name None #学生的名字age None #学生的年龄def say_hi(self):print(f"Hi大家好&#xff0c;我是{self.name}")stu Student() stu.name &q…...

哈工大计算机网络课程网络安全基本原理之:身份认证

哈工大计算机网络课程网络安全基本原理之&#xff1a;身份认证 在日常生活中&#xff0c;在很多场景下我们都需要对当前身份做认证&#xff0c;比如使用密码、人脸识别、指纹识别等&#xff0c;这些都是身份认证的常用方式。本节介绍的身份认证&#xff0c;是在计算机网络安全…...

海外代购系统/代购网站怎么搭建

搭建海外代购系统/代购网站的详细步骤涉及到的内容非常多&#xff0c;本文将分为以下几个部分进行详细介绍&#xff1a;前端开发、后端管理系统的开发、数据库设计和代购流程的设计与实现。 一、前端开发 前端开发是整个代购网站的门面&#xff0c;它直接面向用户&#xff0c…...

go-micro

go-micro Go Micro简介go-micro体系结构gin-go-micro使用consul实现服务注册与发现实现服务发现批量启动多个服务测试服务发现服务调用在微服务中使用ProtocolBuffergo-micro配置文件...

安装GPU驱动,CUDA Toolkit和配置与CUDA对应的Pytorch

如果有帮助,记得回来点个赞 目录 1.安装指定GPU驱动如果安装的GPU CUDA Version和CUDA Toolkit版本已经冲突怎么办? 2.安装指定版本的CUDA Toolkit如果我安装了CUDA Toolkit之后nvcc -V仍然显示旧的CUDA Toolkit版本怎么办? 3.安装与CUDA对应的Pytorch 1.安装指定GPU驱动 &…...

JavaScript单例模式

JavaScript单例模式 1 什么是单例模式2 实现一个基础的单例模式3 透明的单例模式4 用代理实现单例模式5 JavaScript 中的单例模式6 惰性单例 1 什么是单例模式 保证一个类只有一个实例&#xff0c;并提供一个访问它的全局访问点&#xff0c;这就是单例模式。 单例模式是一种常…...

centos下安装jenkins.war

https://get.jenkins.io/war-stable/ 下载jenkins.war包,(2.164.1 版本支持1.8&#xff0c;其他的都是jdk11),可以安装完成后更新jenkins.war的安装包启动jenkins命令 java -jar jenkins.war --httpPort8010访问http://IP:8010/jenkins &#xff08;密码在/root/.jenkins/secre…...

App线上网络问题优化策略

在我们App开发过程中&#xff0c;网络是必不可少的&#xff0c;几乎很难想到有哪些app是不需要网络传输的&#xff0c;所以网络问题一般都是线下难以复现&#xff0c;一旦到了用户手里就会碰到很多疑难杂症&#xff0c;所以对于网络的监控是必不可少的&#xff0c;针对用户常见…...

PDF 工具箱

PDF 工具箱 V9.0.0.1 程序&#xff1a;VB.net 运行库&#xff1a;NET Framework 4.5 功能简介&#xff1a; 1、PDF文件多文件合并&#xff0c;可调整顺序。 2、PDF文件拆分&#xff0c;将每页拆分成独立的PDF文件。 3、PDF文件添加水印&#xff0c;文字或图片水印&…...

大数据组件系列-Hadoop每日小问

1、谈谈对HDFS的理解&#xff1f;HDFS这种存储适合哪些场景&#xff1f; HDFS即Hadoop Distributed File System&#xff0c;Hadoop 分布式文件系统。它为的是解决海量数据的存储与分析的问题&#xff0c;它本身是源于Google在大数据方面的论文&#xff0c;GFS-->HDFS; HD…...

【前端】在Vue页面中引入其它vue页面 数据传输 相互调用方法等

主页面 home 从页面 headView 需求 在 home.vue 中引用 headView.Vue 方案: home.vue 代码: 只需要在home.vue 想要的地方添加 <headView></headView> <script>//聊天页面 import headView /view/headView.vueexport default {components: {headView},…...

网络通信深入解析:探索TCP/IP模型

http协议访问web 你知道在我们的网页浏览器的地址当中输入url&#xff0c;未必是如何呈现的吗&#xff1f; web浏览器根据地址栏中指定的url&#xff0c;从web服务器获取文件资源&#xff08;resource&#xff09;等信息&#xff0c;从而显示出web页面。web使用HTTP&#xff08…...

可靠的可视化监控平台应用在那些场景?

可视化监控平台是一种用户友好的工具&#xff0c;可以帮助用户实时监控IT设备的运行状态和网络流量&#xff0c;以及监测安全性和性能指标。它们通常采用图形化界面&#xff0c;使得用户能够直观地了解设备和网络的状态。 以下是一些可视化监控平台常见的应用场景&#xff1a;…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...