【ROS2】MOMO的鱼香ROS2(一)ROS2入门篇——从Ubuntu操作系统开启

从Ubuntu操作系统开启

  • 引言
  • 1 术语汇总
  • 2 Ubuntu (操作系统)
    • 2.1 Ubuntu权限管理
    • 2.2 Ubuntu安装软件
      • 2.2.1 使用apt命令安装
      • 2.2.2 dpkg安装deb包
      • 2.2.3 make install源代码安装
    • 2.3 Ubuntu之常用指令
      • 2.3.1 ls命令(查看文件)
      • 2.3.2 cd 命令(进入文件夹)
      • 2.3.3 pwd 命令(查看当前工作路径)
      • 2.3.4 mkdir 命令(创建文件夹)
      • 2.3.5 rm 命令(删除命令)
      • 2.3.6 mv命令(移动文件)
      • 2.3.7 cp 命令(复制文件)
  • 3 Ubuntu之常用软件

引言

笔者跟着鱼香ROS的ROS2学习之旅
学习参考:
【ROS2机器人入门到实战】

1 术语汇总

  1. Ubuntu:基于linux内核的桌面PC操作系统,术语上喜欢称Ubuntu是一个 linux 发行版
  2. CPU架构:
amd64
arm
aarch64

2 Ubuntu (操作系统)

Ubuntu官网(https://cn.ubuntu.com/)
操作系统:管理计算机硬件与软件资源的计算机程序
内核:驱动硬件的程序
在这里插入图片描述

2.1 Ubuntu权限管理

权限管理设置:https://juejin.cn/post/6995788320169017375

chmod 命令可以用于修改文件权限

2.2 Ubuntu安装软件

2.2.1 使用apt命令安装

🔗参考链接:https://zhuanlan.zhihu.com/p/270908077
apt 命令用法:

sudo apt install [pkg_name] -y  # -y 自动选择是

更新软件列表:apt update -y
搜索软件: apt search 关键字
显示软件包详情:apt show 软件包名
安装软件:apt install 软件包名
升级指定软件:apt upgrade 软件包名
升级所有可以升级的软件:apt upgrade
卸载软件:apt remove 软件包名
卸载软件并移除软件依赖:apt autoremove 软件包名
卸载软件并删除配置文件:apt remove 软件包名 --purge
在终端占直接运行命令就可以安装,比如使用下面的命令安装 pkg_name

2.2.2 dpkg安装deb包

dpkg命令用法:

sudo  dpkg  -i  package.deb

在这里插入图片描述

2.2.3 make install源代码安装

如果要使用make安装的话,那么必须得安装build-essential这个依赖包,安装方法已经在前面说过了。在安装完毕以后,我们就可以进行源码安装。

源码安装大致可以分为三步骤:配置(./configure)–> 编译(sudo make) –> 安装(sudo make install)。
配置:这是编译源代码的第一步,通过 ./configure 命令完成。执常用的选项有 --prefix=PREFIX,用以指定程序的安装位置。更多的选项可通过 --help 查询。也有某些程序无需执行此步。
编译:一旦配置通过,可即刻使用 make 指令来执行源代码的编译过程。
安装:如果编译没有问题,那么执行 sudo make install 就可以将程序安装到系统中了。

下面以安装nagios为例进行说明

//1.解压缩
tar -zxf nagios-4.0.2.tar.gz  
//2.进入目录
cd nagios-4.0.2
//3.配置,指定安装目录
./configure --prefix=/usr/local/nagios     
//4.编译
make all
//5.安装
make install && make install-init && make install-commandmode && make install-config

2.3 Ubuntu之常用指令

打开终端:使用快捷键 Ctrl+Alt+T

鱼香ROS的一键安装命令

wget http://fishros.com/install -O fishros && . fishros

2.3.1 ls命令(查看文件)

就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。

ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

2.3.2 cd 命令(进入文件夹)

cd(changeDirectory) 命令语法:

cd [目录名]

2.3.3 pwd 命令(查看当前工作路径)

pwd 命令用于查看当前工作目录路径。

# 查看当前路径
pwd
# 查看软链接的实际路径
pwd -P

2.3.4 mkdir 命令(创建文件夹)

"""
可用选项:
-m : 对新建目录设置存取权限,也可以用 chmod 命令设置;
-p : 可以实现多级创建目录。
"""
# 当前工作目录下创建名为 t的文件夹
mkdir t
# 在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:
mkdir -p /tmp/test/t1/t

2.3.5 rm 命令(删除命令)

删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

rm [选项] 文件…
# 删除任何 .log 文件,删除前逐一询问确认:
rm -i *.log
# 删除 test 子目录及子目录中所有档案删除,并且不用一一确认:
rm -rf test
# 删除以 -f 开头的文件
rm -- -f*

2.3.6 mv命令(移动文件)

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

# 将文件 test.log 重命名为 test1.txt
mv test.log test1.txt
# 将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中
mv llog1.txt log2.txt log3.txt /test3
# 将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
# 移动当前文件夹下的所有文件到上一级目录
mv * ../

2.3.7 cp 命令(复制文件)

将源文件复制至目标文件,或将多个源文件复制至目标目录。

cp a.txt /test/

3 Ubuntu之常用软件

直接参考鱼香ROS2的博客即可
ROS2前置教程 | 玩转Ubuntu之常用软件

如:VsCode、中文输入法、微信等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024任务驱动Java程序设计讲课提纲

文章目录 为何采用任务驱动?任务驱动Java程序设计课程概述项目一:踏上Java开发之旅任务1:安装配置JDK并开发第一个Java程序1、安装JDK2、配置JDK环境变量3、开发第一个Java程序 任务2:搭建Java集成开发环境IntelliJ IDEA1、安装In…

Python多进程知识

一 传统编程的缺陷 传统编程的弊端: # 必须按照顺序执行,多个任务无法同时在还行 import timedef sing():for i in range(5):print("sing: hero")time.sleep(1) # 每唱一次,等1秒再唱def dance():for i in range(5):print(…

【网络基础】网络基础知识(学习笔记)

一、局域网的组成 交换机:组建局域网的设备(内网)路由器:连接内外网的设备 二、ip地址 ip地址:设备的唯一标识,32位二进制网络编码点分十进制:x.x.x.x 范围:0-255 三、子网掩码 局域网的同一网段才可以…

Python+Selenium定位到多个相同的元素取指定的那一个

在使用新版的Selenium对网页代码中存在相同class name属性的元素进行定位,在定位的过程中发现使用先前的定位方法已经无法成功对所要操作组件进行定位, 一、老版本元素定位方法: find_elements_by_id() find_elements_by_name() find_eleme…

07|输出解析:用OutputParser生成鲜花推荐列表

07|输出解析:用OutputParser生成鲜花推荐列表 模型 I/O Pipeline 下面先来看看 LangChain 中的输出解析器究竟是什么,有哪些种类。 LangChain 中的输出解析器 语言模型输出的是文本,这是给人类阅读的。但很多时候,你…

livox avia平台搭建

硬件平台搭建 硬件平台的搭建除了livox雷达外还需要以下物料 焊接12V稳压模块接口 livox雷达需要12V的稳定电压供电,因此需要在电池与雷达之间加入8-35V转12V的稳压模块 组装 将各组建组装起来即可。 220V交流电供电 电池供电

谷歌Linux内核自动测试平台架构介绍-用自动测试测试难以测试的问题

1 摘要 内核和硬件等低级系统已被证明极难进行有效测试,因此,许多内核测试都是以手动为主方式进行的。现有的大多数测试框架都是为测试与底层平台隔离的高级软件而设计的,而底层平台被假定是稳定可靠的。测试底层平台本身需要一套全新的假设…

研究:同样的C++模板在多个cpp里出现,编译器是否要重复生成?

2023年就要过去,马上要跨如2024年。祝大家在新的一年,有个好收成。 一直以来不是很确定: 同样的的模板,在各个cpp分别出现,编译器要实现几份? 研究一下。 用命令行的编译方法,参考&#xff1a…

使用react+vite开发项目时候,部署上线后刷新页面无法访问解决办法

说一下我这边的环境和使用的路由模式:vitereactBrowserRouter路由模式,所以如果你和我一样的话,可以试试我的这种解决办法,我是将项目打包后直接丢到服务器上的目录里面,然后配置nginx直接访问根目录。 我的nginx配置…

[蓝桥杯 2021模拟题] 时间加法

时间加法 题目描述 现在时间是 a 点 b 分,请问 t 分钟后,是几点几分? 输入描述 输入的第一行包含一个整数 a。 第二行包含一个整数 b。 第三行包含一个整数 t。 其中,0≤a≤23,0≤b≤59,0≤t,t 分钟后还是在当天。 输出描…

Java 类型转换

自动 1 短的变长的 2 表达式的自动类型转换 多种数据类型参与运算,其结果以大的数据类型为准byte, short, char 三种类型数据在和其他类型数据运算时,都会转换为int类型再运算(byte byte也会是int int) 强制 前面我们学习了自…

Python中matplotlib使用3

在matplotlib中,可以将数据用离散的点来表示,这种表示方式叫做散点图。 1 基本的散点图 可以使用matplotlib.pyplot库中的scatter()方法绘制散点图,代码如图1所示。 图1 绘制基本散点图的代码 从图1中可以看出,scatter()方法的…

【操作系统xv6】学习记录1

前置说明: git-v9版本:git clone https://github.com/mit-pdos/xv6-public/tree/xv6-rev9 bili:https://www.bilibili.com/video/BV15r4y1z75F 深圳大学罗秋明老师的课程 我自己用的wsl2的ubuntu18 无桌面版本 make qemu-nox bug 起初在双系统的ubuntu…

算法训练营Day32

122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; class Solution {public int maxProfit(int[] prices) {int res0;for(int i 1;i<prices.length;i){if((prices[i]-prices[i-1])>0){resprices[i]-prices[i-1];}}return res;} } 55. 跳跃游戏 - 力扣…

【HR非技术问题面试篇】你怎么看待加班?

你对加班怎么看待? &#x1f60a;老油条经典回答系列 &#x1f60a;老油条经典回答系列 这种问题&#xff0c;怎么回答都可以&#xff0c;我觉得重要的实时表达你自己。如果你就不想加班&#xff0c;也没必要勉强说自己爱加班&#xff0c;结果入职之后干的不开心。 不过&…

限制哪些IP能连接postgre

打开C:\Program Files\PostgreSQL\9.4\data\pg_hba.conf 以下代表本机能连&#xff0c;172.16.73.xx都能连&#xff08;/24就代表最后一位是0-255&#xff09;&#xff0c;如果是172.16.73.11/32那就是限制了172.16.73.11才能连&#xff08;实际我设置/32是无效的&#xff09;&…

大数据应用领域:数据驱动一切

大数据出现的时间只有十几年&#xff0c;被人们广泛接受并应用只有几年的时间&#xff0c;但就是这短短几年的时间&#xff0c;大数据呈现出爆炸式增长的态势。在各个领域&#xff0c;大数据的身影几乎无处不在。今天我们通过一些大数据典型的应用场景分析&#xff0c;一起来看…

使用webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

在我们使用 Selenium 进行 UI 自动化测试时&#xff0c;常常会因为浏览器驱动与浏览器版本不匹配&#xff0c;而导致自动化测试无法执行&#xff0c;需要手动去下载对应的驱动版本&#xff0c;并替换原有的驱动&#xff0c;可能还会遇到跨操作系统进行测试的时候&#xff0c;以…

linux go环境安装 swag

下载依赖包 go get -u github.com/swaggo/swag编译 移动到下载的go-swagger包目录,一般在$GOPATH/pkg/mod下 查看 GOPATH echo $GOPATHcd /root/GolangProjects/pkg/mod/github.com/swaggo/swagv1.16.2go install ./cmd/swag/不出意外&#xff0c;$GOPATH/bin下 已经有了sw…

【VRTK】【VR开发】【Unity】17-创建立体UI

【背景】 游戏无法忽略的一个要素就是UI界面,本篇开始介绍VRTK这方面的能力。 VR游戏的UI和传统电视游戏UI的不同之处在于,VR游戏的UI必须融合在VR的游戏空间内,而传统电视游戏的UI则可以位于游戏画面的上层,位于屏幕的特定位置,比如表示人物血量等的图示等。不同于传统的…