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

LiangGaRy-学习笔记-Day12

1、作业回顾

1.1、判断磁盘利用率

要求:

  • 判断磁盘的使用率,如果超过了90%就警告
[root@Node1 sh]# vim disk_check.sh
#!/bin/bash
#Author By LiangGaRy
#2023年5月9日
#Usage:检测硬盘的使用率
###########################################
#定义一个基础值,就是用于判断硬盘是否超过某个值90
thred=90#这里awk后面跟了一个int,表示可以提取数值;
for i in `df -h |awk '{print int($5)}'`
do#然后就进行比较,和90的基础知识比较;if [ $i -gt $thred ];thenecho  "warnning"elseecho "It is ok"fi
done

这里可以考虑优化:

  • 优化的方向:
    • 1.它没有显示那个地方是ok的,比如说是/的占用率是ok的;
    • 要实现这个功能,我们可以考虑awk在打印前面的内容;

2.2、解压文件脚本

要求:

  • 写一个解压的脚本;
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")function extract {if [ -z "$1" ]; then# display usage if no parameters givenecho "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"echo "       extract <path/file_name_1.ext> [path/file_name_2.ext] [path/file_name_3.ext]"elsefor n in "$@"doif [ -f "$n" ] ; thencase "${n%,}" in*.cbt|*.tar.bz2|*.tar.gz|*.tar.xz|*.tbz2|*.tgz|*.txz|*.tar) tar xvf "$n"       ;;*.lzma)      unlzma ./"$n"      ;;*.bz2)       bunzip2 ./"$n"     ;;*.cbr|*.rar)       unrar x -ad ./"$n" ;;*.gz)        gunzip ./"$n"      ;;*.cbz|*.epub|*.zip)       unzip ./"$n"       ;;*.z)         uncompress ./"$n"  ;;*.7z|*.arj|*.cab|*.cb7|*.chm|*.deb|*.dmg|*.iso|*.lzh|*.msi|*.pkg|*.rpm|*.udf|*.wim|*.xar)7z x ./"$n"        ;;*.xz)        unxz ./"$n"        ;;*.exe)       cabextract ./"$n"  ;;*.cpio)      cpio -id < ./"$n"  ;;*.cba|*.ace)      unace x ./"$n"      ;;*)echo "extract: '$n' - unknown archive method"return 1;;esacelseecho "'$n' - file does not exist"return 1fidone
fi
}
IFS=$SAVEIFS

2、编写IP是否在线脚本

要求:

  • 函数:
    • ping ip是否在线
  • 一次性出现结果
  • 显示:
    • 当前在线的IP个数为
    • 当前不在线的个数:

2.1、ip检测脚本v1

按照要求编写一个ip检测的脚本

  • 定义一个 网段,然后输出到显示屏幕
#这个是第一个脚本-->这里仅仅是显示了当年前IP是否在线
[root@Node1 sh]# vim ip_check_v1.sh
#!/bin/bash 
#2023年5月10日
#Author By LiangGaRy
#Usage:检测IP是否存活
##########################
#定义一个网段
str="192.168.75."
for i in {1..25}
doip=${str}${i}ping -c1 -w1 ${ip} &>/dev/nullif [ $? -eq 0 ];thenecho "${ip}  is  online"elseecho "${ip}  is offline"fi
done#执行脚本查看
[root@Node1 sh]# bash ip_check_v1.sh 
192.168.75.1  is  online
192.168.75.2  is  online
192.168.75.3  is offline
..............

明显第一个版本的脚本是不够完善

  • ip都输出到屏幕;
  • 并没有归总并且显示给用户看
  • 于是就到了V2版本的

2.2、ip检测脚本v2

优化方向:

  • 把输出的脚本追加到一个文件当中;
  • 然后统计文件的个数得出在线IP数
#改进版本-->输出一个数值
[root@Node1 sh]# vim  ip_check_v2.sh 
#!/bin/bash 
#2023年5月10日
#Author By LiangGaRy
#Usage:检测IP是否存活
##########################
str="192.168.75."
for i in {1..25}
doip=${str}${i}ping -c1 -w1 ${ip} &>/dev/nullif [ $? -eq 0 ];thenecho "${ip}  is  online"echo ${ip} >> /root/online.txtelseecho "${ip}  is offline"echo ${ip} >> /root/offline.txtfi
done
online=`cat /root/online.txt | wc -l`
offline=`cat /root/offline.txt | wc -l`
echo "目前在线的IP总数为 ${online}"
echo "目前不在线的IP总数为${offline}"#检测脚本
[root@Node1 sh]# bash ip_check_v2.sh 
.................
目前在线的IP总数为 2
目前不在线的IP总数为23

这里又发现有问题

  • 如果脚本执行两次,则统计出来的数据会不准确
  • 假设文件之前就被编辑过有空格统计出来也是有问题;
  • 于是就继续编写v3版本的脚本

2.3、ip检测脚本v3

考虑优化:

  • 如果一开始就有空行怎么说?在一开始的时候就清空文件
  • 如果统计的命令换成排除空格就能解决问题
#第三次修改-->这里考虑到会有重复,因此在执行前就考虑文件
[root@Node1 sh]# vim ip_check_v3.sh 
#!/bin/bash 
#2023年5月10日
#Author By LiangGaRy
#Usage:检测IP是否存活
##########################
#一开始就选择清空两个文件
> /root/online.txt
> /root/offline.txt
str="192.168.75."
for i in {1..25}
doip=${str}${i}ping -c1 -w1 ${ip} &>/dev/nullif [ $? -eq 0 ];thenecho "${ip}  is  online"echo ${ip} >> /root/online.txtelseecho "${ip}  is offline"echo ${ip} >> /root/offline.txtfi
done#这里把命令换成了grep命令
online=`grep -v ^$ /root/online.txt | wc -l`
offline=`grep -v ^$ /root/offline.txt | wc -l`
echo "目前在线的IP总数为 ${online}"
echo "目前不在线的IP总数为${offline}"#执行查看
[root@Node1 sh]# bash ip_check_v3.sh 
.................
目前在线的IP总数为 2
目前不在线的IP总数为23

总结:

  • 脚本的实现不是一次就好了的,需要不断地更新优化;不断地优化才最后得出

2.4、sort命令讲解

作用:sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出

语法:sort + 选项 + 文件

选项:

  • -c:检查文件是否按照顺序进行排序
  • -d:排序时,处理英文字母,数字及空格字母外,忽略其他字符
  • -f:排序,将小写字母视为大写字母
  • -M:将前面的3个字母依照月份缩写进行排序
  • -r:以相反的顺序进行排序
  • -n:依照数值的大小进行排序-
  • -o:排序后存入指定的文件
  • -t:指定一个用来区分键位置字符
  • -k:后面跟数字,指定按第几列进行排序
#如果不加参数-->直接默认按照首字母排序
[root@Node1 sh]# sort  /etc/passwd | head -3
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin#倒序排列
[root@Node1 sh]# sort -r /etc/passwd |head -3
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin#-t指定分隔符的位置,-k 指定按第几列进行排序 -r 是倒叙#查看文件-->然后指定分隔符为:,按照第三列信息倒叙排列
[root@Node1 ~]# cat passwd  | sort -t ":" -k 3 -r | head -3
nobody:x:99:99:Nobody:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin#sort还有去重功能#准备一个模板文件
[root@Node1 ~]# vim aa.txt
aa
bb
cc
aa
bb#去重-u
[root@Node1 ~]# sort  -u aa.txt aa
bb
cc#按照数值的方式排序-->sort命令默认会觉得10 比2 小#准备素材
[root@Node1 ~]# vim aa.txt 
1
2
3
10
20#然后按照数值大小排序-->如果不带参数
[root@Node1 ~]# sort aa.txt 
1
10
2
20
3#带上参数n
[root@Node1 ~]# sort  -n aa.txt 
1
2
3
10
20#忽略空白字符
[root@Node1 ~]# sort  -b -n aa.txt 
1
2
3
10
20#合并文件
[root@Node1 ~]# sort  -m aa.txt bb.txt 
1
2
3
10
20
aa 
bbcc#结合-o可以重定向到一个文件当中
[root@Node1 ~]# sort  -m aa.txt bb.txt -o cc.txt
[root@Node1 ~]# cat cc.txt 
1
2
3
10
20
aa 
bbcc

2.5、Linux 内核参数说明

  • console=tty0:用来指定 Linux 内核启动时使用的控制台设备
  • crashkernel=384:这是指在 Linux 内核启动时,预留 384MB 的内存作为用于系统崩溃时的内存转储(crash dump)
  • l1tf=off :“L1TF"代表"级联缓存失效”,是一种针对Intel处理器的漏洞,可以让攻击者访问系统中的敏感信息
  • nospec_store_bypass_disable:nospec_store_bypass_disable 是 Linux 内核中的一个安全补丁,用于防止 Spectre 攻击。
  • rootdelay=10 :rootdelay=10 是在 Linux 内核启动时传递给内核的一个参数,它的作用是指定根文件系统的延迟时间
  • fsck.repair=yes:fsck.repair=yes 是 Linux 文件系统检查(fsck)命令的一个选项。当这个选项被设置为 yes 时,fsck 会在检查文件系统时自动修复发现的错误。
  • net.ifnames=0:net.ifnames=0 是 Linux 内核启动参数之一,用于禁用网络接口的动态命名。
  • rootwait:rootwait是一个内核启动参数,它告诉内核等待根文件系统可用后再启动系统。当内核启动时,它需要挂载根文件系统来启动系统
  • iommu=ptpti=off:IOMMU 相关的选项
  • spectre_v2=off:用于禁用针对 Spectre 漏洞的特定修复
  • mitigations=off:用于关闭一些内核的安全补丁和保护措施。
  • no_stf_barrier:用于禁用同步线程的强制屏障
  • biosdevname=0:用于控制 BIOS 设备名称的生成。
  • console=ttyS0,115200 :指定了 Linux 内核将控制台输出重定向到串口 ttyS0,并且设置了波特率为 115200。
  • fsck.mode=force:制运行 fsck 工具来检查文件系统,

3、prometheus安装

3.1、prometheus介绍

简介:

  • prometheus是一个监控服务
  • 支持数据采集
    • 数据存储(数据库、文本)
    • 数据分析
    • 数据展示:shell+ grafana
    • 支持数据告警–>钉钉、邮件等方式
    • 监控CPU 内存、网络、磁盘、数据等等

zabbix和prometheus都是一款监控服务;

3.2、prometheus安装

使用源码包安装方式

  • 准备源码包
  • 解压包
  • 安装包
  • prometheus安装完成后,不需要任何配置都可以支持页面展示
#准备好prometheus的包
[root@Node1 ~]# cd /usr/local/src/
[root@Node1 src]# ls prometheus-2.37.1.linux-amd64.tar.gz 
prometheus-2.37.1.linux-amd64.tar.gz#解压源码包
[root@Node1 src]# tar -xf prometheus-2.37.1.linux-amd64.tar.gz 
[root@Node1 src]# mv prometheus-2.37.1.linux-amd64 /root/prometheus
[root@Node1 src]# cd /root/prometheus/#查看一下内容
[root@Node1 prometheus]# ls 
console_libraries  LICENSE  prometheus      promtool
consoles           NOTICE   prometheus.yml#直接启动
[root@Node1 prometheus]# ./prometheus  &#查看版本号
[root@Node1 prometheus]# ./prometheus --version
prometheus, version 2.37.1 (branch: HEAD, revision: 1ce2197e7f9e95089bfb95cb61762b5a89a8c0da)build user:       root@3caaaea7ba87build date:       20220912-12:42:39go version:       go1.18.6platform:         linux/amd64#查看prometheus支持什么命令
[root@Node1 prometheus]# ./prometheus --help#并且可以统计
[root@Node1 prometheus]# ./prometheus --help | wc -l
163#查看9090端口可以看到默认的端口
[root@Node1 prometheus]# ./prometheus --help | grep 9090--web.listen-address="0.0.0.0:9090"  
#然后直接更变端口启动
[root@Node1 prometheus]# ./prometheus --web.listen-address="0.0.0.0:888"

浏览器直接访问

  • prometheus默认的端口号就是9090
  • 浏览器访问:http://192.168.75.131:9090/

Linxu当中,如果修改配置文件

  • 给一个变量赋值
  • 重启服务后重新加载配置文件等于重新制定了文件的inode号
#查看一个文件i号
[root@Node1 prometheus]# ls -i prometheus.yml 
34623586 prometheus.yml#修改配置文件后
[root@Node1 prometheus]# vim  prometheus.yml 
# my global config
..........static_configs:- targets: ["localhost:888"]#再次查看
[root@Node1 prometheus]# ls -i prometheus.yml 
34623594 prometheus.yml

相关文章:

LiangGaRy-学习笔记-Day12

1、作业回顾 1.1、判断磁盘利用率 要求&#xff1a; 判断磁盘的使用率&#xff0c;如果超过了90%就警告 [rootNode1 sh]# vim disk_check.sh #!/bin/bash #Author By LiangGaRy #2023年5月9日 #Usage:检测硬盘的使用率 ########################################### #定义一…...

LayUI中弹出层select动态回显设置及子页面刷新父页面Table数据方法

...

浅谈Hutool工具类

一、Hutool简介 Hutool是一个Java工具类库&#xff0c;它封装了很多常用的Java工具类&#xff0c;如加密解密、文件操作、日期时间处理、Http客户端等。它的目标是让Java开发变得更加简单、高效。 二、Hutool的特点 高效&#xff1a;提供了很多高效的工具类和方法。 简单&…...

Mac终端代理

1.打开代理查看代理端口号 打开设置&#xff0c;点击网络&#xff0c;点击详细信息&#xff0c;点击代理查看代理端口号。 2.修改环境变量 1&#xff09;终端输入下面命令 vim .zshrc 2&#xff09;在.zshrc文件里添加下面两段内容&#xff08;注意&#xff1a;7980为端口号…...

Git Clone 报错 `SSL certificate problem: unable to get local issuer certificate`

如果您在尝试克隆Git存储库时得到 “SSL certificate problem: unable to get local issuer certificate” 的错误,这意味着Git无法验证远程存储库的SSL证书。如果SSL证书是自签名的&#xff0c;或者SSL证书链有问题&#xff0c;就会发生这种情况。 $ git clone https://githu…...

第八章 文件与异常

引言 码字不易&#xff0c;如果这篇文章对您有帮助的话&#xff0c;希望您能点赞、收藏、加关注&#xff01;您的鼓励就是我前进的动力&#xff01; 目录 一、读取文件&#xff08;一&#xff09;读取文件&#xff1a;open(), with, read()&#xff08;二&#xff09;文件路径…...

Gradle使用

下载Gradle Gradle Distributions 配置环境变量 测试是否成功 cmd输入gradle -v 在.gradle目录下创建一个init.gradle allprojects { repositories { maven { url file:///D:/maven/myRepository} ## 这里是本地maven仓库地址,没有就会依次向下设置的地址寻…...

从七个方面聊聊Linux到底强在哪

从事计算机相关行业的同学不难发现&#xff0c;身边总有一些朋友在学习linux&#xff0c;有的开发同学甚至自己的电脑就是它。经常听他们说linux如何好用等等。那么linux到底好在那里&#xff0c;能让大家如此喜欢。这也是我经常问自己的一个问题。下面我将通过以下七点来为大家…...

python读写json文件方法详解

在我们日常使用 Python时&#xff0c;经常会使用到 json文件。那么在平时写一些小程序时&#xff0c;如何使用 json文件呢&#xff1f;今天我将介绍如何读取和写入 Json文件。 json是一种数据结构&#xff0c;它是将字符串转换成数据的一种技术。使用 json可以非常方便的将一组…...

多处最优服务次序问题——算法设计与分析(C实现)

问题描述&#xff1a;设有n个顾客同时等待一项服务。顾客i需要的服务时间为&#xff0c;共有s处可以提供此项服务。应该如何安排n个顾客的服务次序&#xff0c;才能使平均等待时间达到最小&#xff1f;平均等待时间是n个顾客的等待服务时间的总和除以n。 算法设计&#xff1a;对…...

2023 年 IntelliJ IDEA 下载安装教程,超详细图文教程,亲测可用

. IDEA 下载 1、打开浏览器输入https://www.jetbrains.com/&#xff0c;进入 Jetbrains官网&#xff0c;点击 Developer Tools&#xff0c;再点击 Intellij IDEA 2、点击中间的 Download&#xff0c;进入IDEA下载界面 3、选择左边的 Ultimate 版本进行下载安装。Ultimate 版…...

前端框架比较:Vue.js、React、AngularJS三者的优缺点和应用场景

章节一&#xff1a;引言 在当前的互联网开发中&#xff0c;前端框架已经成为了不可或缺的一部分。然而&#xff0c;前端框架如此之多&#xff0c;该如何选择呢&#xff1f;Vue.js、React和AngularJS是目前比较受欢迎的三个前端框架&#xff0c;它们各自有着不同的优缺点和应用…...

JavaScript中的数据可视化和动画效果

摘要&#xff1a; JavaScript是一种强大而灵活的编程语言&#xff0c;被广泛用于网页开发和交互设计。在数据可视化和动画效果方面&#xff0c;JavaScript提供了丰富的工具和库&#xff0c;使开发者能够创建出令人印象深刻的交互式数据可视化和动画效果。本文将介绍JavaScript中…...

如何搭建在线产品手册

在现代社会&#xff0c;随着科技的发展&#xff0c;越来越多的企业将目光投向互联网&#xff0c;并将自己的产品推向了线上。而对于这些线上产品&#xff0c;拥有一份完备的、易用、高质量的在线产品手册显得尤为重要。 那么如何才能搭建一份高质量且易用的在线产品手册呢&…...

Java版企业电子采购招标系统源码

一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点&#xff1a;对草稿进行编辑&#x…...

【操作系统复习】第6章 虚拟存储器 2

请求分页中的内存分配 在为进程分配物理块时&#xff0c;要解决下列的三个问题&#xff1a; 1. 保证进程可正常运行所需要的最少物理块数 2. 每个进程的物理块数&#xff0c;是固定值还是可变值&#xff08;分配策略&#xff09; 3. 不同进程所分配的物理块数&#xff…...

【OAI】OAI5G核心网VPP-UPF网元分析

文章目录 VPP_UPF_CONFIG_GENERATION.mdVPP UPF Configuration GenerationEnvironment variablesInterfacesInterface Configuration ExamplesCentral UPFA-UPFI-UPFUL CL FEATURE_SET.mdVPP_UPG_CLI参考文献 VPP_UPF_CONFIG_GENERATION.md VPP UPF Configuration Generation …...

【上进小菜猪】使用Ambari提高Hadoop集群管理和开发效率:提高大数据应用部署和管理效率的利器

&#x1f4ec;&#x1f4ec;我是上进小菜猪&#xff0c;沈工大软件工程专业&#xff0c;爱好敲代码&#xff0c;持续输出干货&#xff0c;欢迎关注。 介绍 Hadoop是一种开源的分布式处理框架&#xff0c;用于在一组低成本硬件的集群上存储和处理大规模数据集。Ambari是一种基…...

Day3--C高级3

一.编写一个名为myfirstshell.sh的脚本&#xff0c;它包括以下内容。 1、包含一段注释&#xff0c;列出您的姓名、脚本的名称和编写这个脚本的目的 2、和当前用户说“hello 用户名” 3、显示您的机器名 hostname 4、显示上一级目录中的所有文件的列表 5、显示变量PATH和HO…...

第9章 CURD操作与MemoryCache缓存的强制清理的实现

1 重构 Data.Repository<TEntity> using Core.Caching; using Core.Domain; using Core.Events; using Microsoft.EntityFrameworkCore; namespace Data { ///<typeparam name"TEntity">泛型类型实例(这里特指:1个指定实体的类型实例)。</typepa…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

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

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

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...