ROS2自动驾驶
yolo5自动驾驶
1、重要!更换U盘的操作指引
2、关闭开机自启动大程序
3、Linux基础
4、YoloV5训练集
5、自动驾驶基础调试(代码解析)
6、自动驾驶特调
7、自动驾驶原理
8、PID算法理论
9、阿克曼运动学分析理论
10、建立运动学模型
常用命令
!重要!首次使用
一、原理分析
麦克纳姆轮运动学分析
二、AI大模型
3、AI大模型类型和原理
4、RAG检索增强和模型训练样本
5、具身智能机器人系统架构
6、具身智能玩法核心源码解读
7、配置AI大模型
8、配置API-KEY
三、深度相机
2、颜色标定
10、深度相机的基础使用
11、深度相机伪彩色图像
12、深度相机测距
13、深度相机色块体积测算
14、深度相机颜色跟随
15、深度相机人脸跟随
16、深度相机KCF物体跟随
17、深度相机Mediapipe手势跟随
18、深度相机视觉循迹自动驾驶
19、深度相机边缘检测
四、多模态视觉理解
20、多模态语义理解、指令遵循
21、多模态视觉理解
22、多模态视觉理解+自动追踪
23、多模态视觉理解+视觉跟随
24、多模态视觉理解+视觉巡线
25、多模态视觉理解+深度相机距离问答
26、多模态视觉理解+SLAM导航
27、多模态视觉理解+SLAM导航+视觉巡线
28、意图揣测+多模态视觉理解+SLAM导航+视觉功能
五、雷达
8、雷达基础使用
思岚系列雷达
六、建立地图
9、Gmapping建图
cartographer快速重定位导航
RTAB-Map导航
RTAB-Map建图
slam-toolbox建图
cartographer建图
Navigation2多点导航避障
Navigation2单点导航避障
手机APP建图与导航
七、新机器人自动驾驶与调整
多模态视觉理解+SLAM导航
新机器人自动驾驶
场地摆放及注意事项
启动测试
识别调试
无人驾驶的车道保持
无人驾驶路标检测
无人驾驶红绿灯识别
无人驾驶之定点停车
无人驾驶转向决策
无人驾驶之喇叭鸣笛
无人驾驶减速慢行
无人驾驶限速行驶
无人驾驶自主泊车
无人驾驶综合应用
无人驾驶融合AI大模型应用
八、路网规划
路网规划导航简介
构建位姿地图
路网标注
路网规划结合沙盘地图案例
路径重规划
九、模型训练
1、数据采集
2、数据集标注
3、YOLOv11模型训练
4、模型格式转换
十、YOLOV11开发
多机通讯配置
汝城县职业中等专业学校知识库-信息中心朱老师编辑
-
+
首页
yolo5自动驾驶
3、Linux基础
3、Linux基础
## 2、Linux基础 ### 2.1、Linux系统简介 Linux是一套开源的操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 1994年3月,Linux 1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。 1995年1月,Bob Young创办了RedHat(小红帽),以GNU、Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux发行版,在市场上出售。 1996年6月,Linux 2.0内核发布,可以支持多个处理器。 Linux主要特点 免费且开源;完全兼容POSIX 1.0标准;多用户、多任务;拥有良好的界面;支持多种平台。 Linux主要版本 目前Linux发行版约有300种,几乎都可以作为服务器系统运行。Linux发行版很少互相复制,流行的Linux服务器发行版主要有以下几个: Red Hat Enterprise Linux(红帽企业级Linux):这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构。 Debian:Debian运行起来极其稳定,这使得它非常适合用于服务器。 CentOS:CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。 Ubuntu:Ubuntu是Debian的一款衍生版,侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。 ### 2.2、Ubuntu概述 Ubuntu是一个以桌面应用为主的Linux操作系统。Ubuntu基于Debian发行版和Gnome桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity。 自Ubuntu 18.04 LTS起,Ubuntu发行版又重新开始使用GNOME3桌面环境。在几乎每一份与 Linux 有关的榜单上,基于 Debian 的 Ubuntu都占有一席之位。Canonical 的Ubuntu 胜过其他所有的 Linux 服务器发行版 ―― 从简单安装、出色的硬件发现,到世界级的商业支持,Ubuntu确立了难以企及的严格标准 2.3、Ubuntu文件系统 Ubuntu 与Windows不同,没有盘符这个概念,只有一个根目录 【/】,所有文件都在它下面 ``` ├── bin # bin是Binary的缩写。存放系统中最常用的可执行文件(二进制)。 ├── boot # 这里存放的是linux内核和系统启动文件,包括Grub、lilo启动器程序。 ├── dev # dev是Device(设备)的缩写。该目录存放的是Linux的外部设备,如硬盘、分区、键盘、鼠标、usb等。 ├── etc # 这个目录用来存放所有的系统管理所需要的配置文件和子目录,如passwd、hostname等。 ├── home # 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 │ └── yahboom # 用户 │ ├── Desktop # 桌面 │ ├── Documents # 文档 │ ├── Downloads # 下载 │ ├── Music # 音乐 │ ├── Pictures # 图片 │ ├── Public # 共享 │ ├── Templates # 模板 │ ├── Videos # 视频 │ ... │ ... ├── lost+found # 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些零散文件。 ├── lib # 存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件。 ├── media # ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。 ├── mnt # 作为被挂载的文件系统得挂载点。 ├── opt # 作为可选文件和程序的存放目录,主要被第三方开发者用来简易安装和卸载他们的软件。 ├── proc # 这个目录是一个虚拟的目录,它是系统内存的映射,这里存放所有标志为文件的进程,比较cpuinfo存放cpu当前工作状态的数据。 ├── root # 该目录为系统管理员,也称作超级权限者的用户主目录。 ├── sbin # s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。 ├── srv # 存放系统所提供的服务数据。 ├── sys # 系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。 ├── usr # 存放与系统用户有关的文件和目录。 │ ├── bin # 用户和管理员的标准命令 │ ├── games # 存放着XteamLinux自带的小游戏 │ ├── include # 用来存放Linux下开发和编译应用程序所需要的头文件,c或者c++ │ ├── lib # 应用程序和程序包的连接库 │ ├── local # 系统管理员安装的应用程序目录 │ ├── sbin # 存放root超级用户使用的管理程序 │ └── src # Linux开放的源代码 │ └── share # 存放共享数据 │ ... ├── var # 长度可变的文件,尤其是些记录数据,如日志文件和打印机文件。 │ ├── backups │ ├── cache # 应用程序缓存目录 │ ├── crash # 系统错误信息 │ ├── log # 日志文件 │ ├── mail # 电子邮件 │ └── tmp # 临时文件目录 │ ... ├── tmp # 这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。 ... ``` ### 2.4、常用命令 #### 2.4.1、增 新建文件 ```例如需要增加一个名为test.txt的文件 touch test.txt ``` 新建文件夹 ``` mkdir test # 创建一个文件 mkdir -p test/src # 创建test文件夹,并在test文件夹中创建src文件夹 ``` 复制 ``` sudo cp test.txt test_copy.txt # 复制一个文件 ``` #### 2.4.2、删 -i 以进行交互式方式执行 -f 强制删除,忽略不存在的文件,无需提示 -r 递归地删除目录下的内容 ``` sudo rm test.txt # 删除文件 | 空文件夹 sudo rm -r test # 删除文件夹及文件夹里的内容 ``` #### 2.4.3、改 mv 移动、重名 ``` sudo mv test test_new # 将test文件夹修改为test_new sudo mv test.txt test_new.txt # 将test.txt文件修改为test_new.txt ``` chmod修改文件权限 权限设定 符号 含义 | 符号 | 含义 | |----|------| | + | 增加权限 | | - | 撤销权限 | | = | 设定权限 | #### rwx | 字母权限 | 含义 | |------|----------------------------------------------------| | r | read 表示可读取权限,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 | | w | write 表示可写入权限,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 | | x | excute 表示可执行权限,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 | ``` sudo chmod +rwx test.txt ``` 添加所有权限的快捷方式 ``` sudo chmod 777 test.txt ``` * 修改密码 设置root密码 ``` sudo passwd root ``` 设置用户名密码 ``` sudo passwd 用户名 ``` #### 2.4.4、查 查看系统版本 ``` lsb_release -a # 发行版本号 uname -a # 内核版本及系统位数 cat /proc/version # 内核版本及gcc版本 ``` 查看硬件信息 ``` curl cip.cc 或者 ifconfig # 查看IP地址 cat /proc/cpuinfo or lscpu # cpu信息 sudo dmidecode -t memory # 内存信息 df -h # 查看所有挂载的文件系统空间情况 which python3 # 查看命令位置 v4l2-ctl --list-formats-ext # 查看相机设备参数 nproc # 查看内核数 ``` 查看文件信息 ``` la # 显示指定目录下所有子目录与文件,包括隐藏文件 ll # 以列表方式显示文件的详细信息 ls -h # 配合以人性化的方式显示文件大小 cat test.txt # 查看文件内容 tree # 查看文件目录(需要安装tree) ``` tree安装命令 ``` sudo apt install tree ``` 查找文件 ``` find ./ -name test.sh # 查找当前目录下所有名为test.sh的文件or目录 find ./ -name '*.sh' # 查找当前目录下所有后缀为.sh的文件or目录 find ./ -name "[A-Z]*" # 查找当前目录下所有以大写字母开头的文件or目录 ``` #### 2.4.5、其他 tar命令 tar使用格式:tar [参数] 打包文件名 文件 ``` -c # 生成档案文件,创建打包文件 -v # 列出归档解档的详细过程,显示进度 -f # 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 -t # 列出档案中包含的文件 -x # 解开档案文件 ``` 压缩 ``` tar -cvf xxx.tar * # 当前目录所有文件 tar -cvf xxx.tar *.txt # 以.txt结尾的文件 tar -cvf xxx.tar my-file my-dir # 打包指定目录或文件 ``` 解压 ``` tar -xvf xxx.tar # 解包到当前目录 tar -xvf xxx.tar -C my-dir # 解包到指定目录(需要先创建my-dir目录) ``` zip、unzip命令 压缩文件:zip [-r] 目标文件(没有扩展名) 源文件 ``` zip bak * # 当前目录所有文件,也可以指定文件 zip -r bak * # 当前目录所有文件&目录递归 ``` 解压文件:unzip -d 解压后目录文件 压缩文件 ``` unzip -d ./target_dir bak.zip # 解压到指定目录 unzip bak.zip # 解压到当前目录 ``` ln命令 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。常用,可以对文件或文件夹创建 ``` ln -s 源文件 链接文件 ``` 硬链接:硬链接只能链接普通文件,不能链接目录。即使删除了源文件,链接文件还是存在 ``` ln 源文件 链接文件 ``` scp远程拷贝 ``` scp jetson@192.168.16.66:/home/jetson/xxx.tar.gz /home/yahboom/ # 从远程复制文件到本地 scp /home/yahboom/xxx.png jetson@192.168.16.66:/home/jetson/ # 从本地复制文件到远程 scp -r jetson@192.168.16.66:/home/jetson/test /home/yahboom/ # 从远程复制目录到本地 -r scp -r /home/yahboom/test jetson@192.168.16.66:/home/jetson/ # 从本地复制目录到远程 -r ``` wget文件下载 在百度随便搜索一张图片地址,作为示例。 ``` wget "https://img0.baidu.com/it/u=3911542037,2006161295&fm=224&fmt=auto&gp=0.jpg" # 下载普通文件(百度链接要加双引号) wget -O yahboom.jpg "https://img0.baidu.com/it/u=3911542037,2006161295&fm=224&fmt=auto&gp=0.jpg" # 以指定文件名保存文件 ``` 其他 ``` nautilus . # 打开当前文件 cd ~ # 切换到当前用户的主目录(/home/用户目录) cd . # 切换到当前目录 cd - # 可进入上次所在的目录 cd / # 切换到系统根目录/ pwd # 显示当前路径 echo "HelloWorld" # 向控制台输出HelloWorld信息 which # 查看命令位置 ``` ### 2.5、编辑器 #### 2.5.1、vim vim是vi的升级版,最常见的区别是能用多种颜色显示显示系统文件的一些特殊信息。 安装命令 ``` sudo apt install vim ``` 三种主要模式 命令模式(编辑模式):默认模式,移动光标,剪切/粘贴文本(界面表现:左下角显示文件名或为空) 插入模式(输入模式):修改文本(界面表现:左下角显示—INSERT–)插入模式下,按ESC按键返回命令模式 末行模式(扩展模式):保存、退出等(界面表现:左下角显示—VISUAL–)末行模式下连续按两次ESC按键返回末行模式 模式切换 命令模式切换到编辑模式 ``` i # 插入方式进入编辑模式 a # 追加方式进入编辑模式 o # 当前行下一行开始位置开始编辑 O # 当前行上一行开始位置开始编辑 ``` 命令模式切换到末行模式 ``` : # 输入冒号【:】 ``` 末行模式切换到命令模式:按【esc】 编辑模式切换到命令模式:按【esc】 Esc建:退出到当前模式 Esc建Esc建:总是返回到命令模式  末行模式 ``` w # 保存 q # 退出 wq #保存并退出 wq! #强制保存并退出 q! # 强制退出 x # 保存并退出 set nu # 显示行号 set # nonu 隐藏行号 0,$d # vim 删除文件全部内容: /string # 从光标处开始向后寻找字符串string;按n定位下一个,shfit+n定位上一个。 g/string # 检索string。使光标停止在第一个检索到的 string 串的行首。 ``` 命令模式 ``` yy # 复制 p # 粘贴 3yy # 复制3行 2p # 粘贴2遍 dd # 剪切 3dd # 剪切3行 u # 撤销 Ctrl + r # 反撤销 dd # 删除当前行 dG # 删除当前行到文件末尾 dH # 删除当前行到文件开头 gg # 跳到当前文档首行 G # 跳到当前文档末行 ^ # 跳到当前行首 $ # 跳到当前行尾 h # 左移一个字符 j # 下移一行 k # 上移一行 l # 右移一个字符 PageDown(或Ctrl+F) # 下翻一屏 PageUp(或Ctrl+B) # 上翻一屏 ``` ### 2.5.2、nano nano是Unix和类Unix系统中的一个文本编辑器,是Pico的复制品。 安装 ``` sudo apt install nano ``` 新建/打开文件 ``` nano 路径+文件名 例如:nano test_nano.txt ``` 控制命令 ``` Ctrl+v # 下一页 Ctrl+y # 上一页 Ctrl+w # 搜索单词或短语 Ctrl+x # 关闭当前文本,退出nano,返回shell Ctrl+\ # 搜索替换 Ctrl+k # 剪切文本行 Ctrl+u # 粘贴文本行 Ctrl+c # 显示光标在文本中的位置 ``` 2.5.3、gedit gedit跟Windows下记事本的用法没什么差别。 在编辑器中我们可以点击 ”Open” 按钮浏览最近打开过的文件列表并打开文件;点击 ”Save” 按钮可以保存当前正在编辑的文件;点击右侧的菜单栏进行更多的操作等等。 快捷键也跟windows下一样: ``` Ctrl + s 保存文件 Ctrl + Shift + s 另存为 Ctrl + f 搜索文本内容 ``` gedit编辑器启动必须在能够显示界面的情况下,不可ssh、jupyter、putty等远程无界面启动。 ### 2.6、Ubuntu软件操作命令 ``` sudo apt-get update # 更新源 sudo apt-get install package # 安装包 sudo apt-get remove package # 删除包 sudo apt-cache search package # 搜索软件包 sudo apt-cache show package # 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package --reinstall # 重新安装包 sudo apt-get -f install # 修复安装 sudo apt-get remove package --purge # 删除包,包括配置文件等 sudo apt-get build-dep package # 安装相关的编译环境 sudo apt-get upgrade # 更新已安装的包 sudo apt-get dist-upgrade # 升级系统 sudo apt-cache depends package # 了解使用该包依赖那些包 sudo apt-cache rdepends package # 查看该包被哪些包依赖 sudo apt-get source package # 下载该包的源代码 sudo apt-get clean && sudo apt-get autoclean # 清理无用的包 sudo apt-get check # 检查是否有损坏的依赖 ```
admin
2025年11月27日 10:49
44
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期
AI