Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake

1、进入到根目录

cd /

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第1张图片

2、回到当前工作空间

cd ~

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第2张图片

3、查看目录中的内容

ls

在这里插入图片描述

ll

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第3张图片

4、创建文件夹

mkdir 123

在这里插入图片描述

5、删除文件夹

rm -rf 123/

这里我们在输入要删除的文件夹名时,可以通过按tab键快速补全对应的文件夹名。
按两次tab可查看对应输入名称的所有内容。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第4张图片

6、创建有连续子目录的文件夹

mkdir -p hh/pp

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第5张图片

7、创建文件

touch hello.txt

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第6张图片

8、打开txt

gedit hello.txt 

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第7张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第8张图片

9、删除文件

rm hello.txt

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第9张图片

10、清空终端内容

clear

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第10张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第11张图片

11、查看自己输入终端的内容

我们可以通过输入history查看自己之前终端输入的内容:

history

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第12张图片

12、下载安装Ubuntu的安装包

这里以下载安装vscode为例
进入https://code.visualstudio.com/
下载Linux x64 .deb 文件,.deb就是Ubuntu对应的安装包。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第13张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第14张图片
我们在下载好安装包的文件夹中打开终端

dpkg -i code_1.74.2-1671533413_amd64.deb 

但是这样是安装不了的,需要超级管理员权限。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第15张图片
在命令前添加sudo,管理员。

sudo dpkg -i code_1.74.2-1671533413_amd64.deb 

之后输入密码
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第16张图片
这样就安装好了:
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第17张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第18张图片

13、apt安装工具进行更新

man + 基本命令 就可以查看基本的介绍:

man apt

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第19张图片
首先更新一下apt源

sudo apt update

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第20张图片
这里我们注意到更新的地址是通过Ubuntu的网址进行更新的,但是有时候我们无法登陆Ubuntu的网址进行下载,那么我们就需要更换成国内镜像源网址。
首先点击Software & Update:
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第21张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第22张图片
之后点击下图的那个选择
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第23张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第24张图片
之后点击下拉列表,选择other
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第25张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第26张图片
之后我们选择镜像源网址即可,这里我们选择阿里云的
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第27张图片
之后我们选择好后,关闭即可
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第28张图片
我们在更新一下apt源

sudo apt update

可以注意到源换成了aliyun的了。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第29张图片
这样就更新了可以下载的软件列表了
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第30张图片

14、apt安装git后克隆

用git工具克隆一些代码
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第31张图片
那么我们就安装git

sudo apt install git

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第32张图片
之后执行git的克隆:

git clone https://github.com/gaoxiang12/slambook2.git

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第33张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第34张图片
我注意到,克隆的文件夹中第三方库是引用别人的形式,我们并没有克隆下来,文件夹是空的。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第35张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第36张图片
我们为了要将引用的第三课也一并下载下来,我们需要在克隆时添加一些参数。
即添加–recursive 递归,这样就能克隆下来引用的内容了。

git clone --recursive https://github.com/gaoxiang12/slambook2.git

可以注意到子模块的内容也被下载下来了。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第37张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第38张图片
如果我们发现引用的三方库没有能够成功下载下来,那么我就进行下面的方法:
cd 到 git clone的主目录下,执行下述命令即可。

git submodule update --init --recursive

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第39张图片

15、其他工具

1、htop 相当于windows的任务管理器

sudo apt install htop

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第40张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第41张图片

2、vim 文本编辑工具

vim hello.txt 

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第42张图片
之后点击键盘i,进入insert模式:
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第43张图片
如果要退出该模式,按esc即可。

退出该模式后,我们要保存退出,就需要输入冒号,并输入wq。

:wq

表示写入并退出
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第44张图片

3、terminator超级终端

sudo apt install terminator

安装好后,我们在按快捷键ctrl+alt+t打开的终端就是这个超级终端了。

该终端可以进行分栏,ctrl+shift+e,就可以左右分栏同时操作了。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第45张图片
按ctrl+shift+o,就可以上下分栏。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第46张图片
按住alt同时,按方向键,就可以选择栏进行写字了。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第47张图片

如果要同时操作所有栏,那就alt+a,全选所有栏进行操作,下面是全选后查看列表内容,可以同时对三个栏做ls操作,如果要退出全选,就alt+o退出全选。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第48张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第49张图片
如果我们要集中在一个分栏中进行输入内容,那么我就需要放大某一个栏,那么我们就输入ctrl+shift+x,就可以放大某一个栏了。如果想要恢复到原来所有分栏的状态,那么就再按一次ctrl+shift+x。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第50张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第51张图片

16、vscode配置

通过在项目路径中打开终端,输入一下内容,就可以打开vscode.

code .

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第52张图片
之后安装一些C++对应的插件即可。

17、安装ros

首先,这个方法不是我发明的,详细请查看该链接:https://blog.csdn.net/LNSTOP/article/details/126599501

不管你是unbuntu 16\18\20,不管你是新安装的系统,还是ROS装了一部分进行不下去的烂摊子都适用!直接输入下面这一行代码,一键安装!!!!感谢开发这个的大神,向您献上最诚挚的祝福和最崇高的敬意!谢谢!!!

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

我们只需在终端输入上面的代码即可。按照对应选择,自动就能安装好ROS。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第53张图片

安装好后,我们来做一个简单的测试:
第一个终端:

roscore

第二个终端:

rosrun turtlesim turtlesim_node 

第三个终端:

rosrun turtlesim turtle_teleop_key 

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第54张图片
之后在第三个终端中,注意这里必须是在第三个终端中,我们按键盘的上下左右可以控制小海龟的移动。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第55张图片
这样我们的ROS就安装成功了。

18、用g++编译

首先我们查看一个.cpp文件,用来简单输出Hello SLAM!
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第56张图片
通过g++对该文件进行编译

g++ helloSLAM.cpp

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第57张图片
可以发现多了一个a.out可执行文件,可执行文件是绿色的。
之后我们执行这个文件。输出Hello SLAM! 内容:
在这里插入图片描述
我还可以通过g++进行编译时,生成其他文件名的可执行程序:

g++ useHello.cpp libHelloSLAM.cpp -o sayhello

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第58张图片
我们可以注意到这个sayhello是没有任何后缀的,但是依然是可以执行的,在Linux中,后缀名只是和文件打开形式有关,比如.txt打开是通过gedit打开,只和打开形式有关,我们可以通过ll查看该文件可以执行的情况,发现sayhello对应的最左侧是-rwxrwxr-x,其中x就是可以执行的。

我们可以改变该文件的执行类型,使得sayhello不能够被执行。

chmod -x sayhello

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第59张图片
我们还可以添加回来

chmod +x sayhello

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第60张图片
我们执行sayhello,输入内容是Hello SLAM。
在这里插入图片描述

19、cmake使用

这里我们注意到,我们只是添加了两个cpp进行编译,真正的工程可是有上百个cpp文件的。因此我们无法通过一行命令将其编译完成。我们需要一个项目管理工具,用来管理文件编译调用时的依赖项复杂的情况。
该工具为cmake,一般如果没有安装ROS是不会安装cmake的。
如果要安装:

sudo apt install cmake

因为我之前安装了ROS。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第61张图片

1、针对单一文件

我们看一下Cmakelists.txt

# 声明要求的 cmake 最低版本 这里最低版本的限制是可以不要的。
# cmake_minimum_required(VERSION 2.8)

# 声明一个 cmake 工程 这个是必须的。
project(HelloSLAM)

# 设置编译模式 这里的编译模式如果不写默认是release发行模式。
# set(CMAKE_BUILD_TYPE "Debug")

# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 ) 这里编译后生成的可执行文件名就是helloSLAM
add_executable(helloSLAM helloSLAM.cpp)

# 添加hello库
# add_library(hello libHelloSLAM.cpp)
# 共享库
# add_library(hello_shared SHARED libHelloSLAM.cpp)

# 添加可执行程序调用hello库中函数
# add_executable(useHello useHello.cpp)
# 将库文件链接到可执行程序上
# target_link_libraries(useHello hello_shared)

首先我们在终端输入

cmake .

这一步是用来生成Makefile文件的。

第二步,我们在终端输入

make

这一步就是用生成的Makefile文件来组织项目中cpp h 文件的编译。编译过程实际是在第二步执行的。
我们执行一下helloSLAM:
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第62张图片
一般情况下,我们都会创建一个文件夹,叫build。在这个build文件夹中进行编译。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第63张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第64张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第65张图片

2、针对多文件引用库

1、静态库

先针对cpp文件生成一个库,这个静态库最后生成的叫做hello。

# 声明要求的 cmake 最低版本
# cmake_minimum_required(VERSION 2.8)

# 声明一个 cmake 工程
project(HelloSLAM)

# 设置编译模式
# set(CMAKE_BUILD_TYPE "Debug")

# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
# add_executable(helloSLAM helloSLAM.cpp)

# 添加hello库 先是静态库的名字 后面的是库的原文件。
 add_library(hello libHelloSLAM.cpp)
# 共享库
# add_library(hello_shared SHARED libHelloSLAM.cpp)

# 添加可执行程序调用hello库中函数
# add_executable(useHello useHello.cpp)
# 将库文件链接到可执行程序上
# target_link_libraries(useHello hello_shared)

依然是在新建build文件夹,这个文件夹中输出这个库。

cmake ..
make 

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第66张图片
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第67张图片
我们可以注意到生成的库是libhello.a静态库。

2、动态库

如果想让其生成动态库,Cmakelists.txt如下:

# 声明要求的 cmake 最低版本
# cmake_minimum_required(VERSION 2.8)

# 声明一个 cmake 工程
project(HelloSLAM)

# 设置编译模式
# set(CMAKE_BUILD_TYPE "Debug")

# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
# add_executable(helloSLAM helloSLAM.cpp)

# 添加hello库
# add_library(hello libHelloSLAM.cpp)
# 共享库 用于动态库
 add_library(hello_shared SHARED libHelloSLAM.cpp)

# 添加可执行程序调用hello库中函数
# add_executable(useHello useHello.cpp)
# 将库文件链接到可执行程序上
# target_link_libraries(useHello hello_shared)

依然是在新建build文件夹,这个文件夹中输出这个库。

cmake ..
make 

生成的是动态库.so
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第68张图片

3、生成可执行文件

将可执行文件与生成的静态库连接到一起:

# 声明要求的 cmake 最低版本
# cmake_minimum_required(VERSION 2.8)

# 声明一个 cmake 工程
project(HelloSLAM)

# 设置编译模式
# set(CMAKE_BUILD_TYPE "Debug")

# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
# add_executable(helloSLAM helloSLAM.cpp)

# 添加hello库 生成静态库。
 add_library(hello libHelloSLAM.cpp)
# 共享库
# add_library(hello_shared SHARED libHelloSLAM.cpp)

# 添加可执行程序调用hello库中函数 生成可执行文件。
 add_executable(useHello useHello.cpp)

# 将库文件链接到可执行程序上 将静态库与可执行文件连接到一起。
 target_link_libraries(useHello hello)

依然是在新建build文件夹,这个文件夹中输出这个库。

cmake ..
make 

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第69张图片

4、.h文件存放在其他文件夹中,需要在cmakelists.txt设置参数

这里如果.h文件放置到了其他文件夹中,cmakelists.txt就需要其他设置了。
添加include_directories(“include”)这句话:

# 声明要求的 cmake 最低版本
# cmake_minimum_required(VERSION 2.8)

#这里是用来添加.h文件夹存放搜索的文件夹
include_directories("include")

# 声明一个 cmake 工程
project(HelloSLAM)

# 设置编译模式
# set(CMAKE_BUILD_TYPE "Debug")

# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
# add_executable(helloSLAM helloSLAM.cpp)

# 添加hello库
 add_library(hello libHelloSLAM.cpp)
# 共享库
# add_library(hello_shared SHARED libHelloSLAM.cpp)

# 添加可执行程序调用hello库中函数
 add_executable(useHello useHello.cpp)

# 将库文件链接到可执行程序上
 target_link_libraries(useHello hello)
5、.cpp文件存放在其他文件夹中,需要在cmakelists.txt设置参数

就是给添加hello库的源文件cpp指定到存放的文件夹中。
添加可执行程序调用hello库的cpp也需要指定文件夹。

# 声明要求的 cmake 最低版本
# cmake_minimum_required(VERSION 2.8)

#这里是用来添加.h文件夹存放搜索的文件夹
include_directories("include")

# 声明一个 cmake 工程
project(HelloSLAM)

# 设置编译模式
# set(CMAKE_BUILD_TYPE "Debug")

# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
# add_executable(helloSLAM helloSLAM.cpp)

# 添加hello库
 add_library(hello ./src/libHelloSLAM.cpp)
# 共享库
# add_library(hello_shared SHARED libHelloSLAM.cpp)

# 添加可执行程序调用hello库中函数
 add_executable(useHello ./src/useHello.cpp)

# 将库文件链接到可执行程序上
 target_link_libraries(useHello hello)

如果要详细了解cmake就需要自行学习了。

20、source 一连串指令执行

首先查看hello.sh文件中的命令
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第70张图片
之后通过终端执行

source hello.sh

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第71张图片

21、显示所有文件(查看隐藏文件)

ls -a

Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第72张图片

22、编辑主文件夹下的.bashrc文件

ls -a

查看主文件夹下的所有文件,包括隐藏文件。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第73张图片
我们查看并编辑.bashrc文件,添加一句echo i am coming
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第74张图片
我将终端关闭后,再打开:可以看到最上面多了一句i am coming
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第75张图片
之后我们再编辑.bashrc文件
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第76张图片
其中hello.sh是一下执行内容:
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第77张图片
保存编辑后的.bashrc,我们再次开启终端:可以注意到开头多了很多执行的内容。
Ubuntu Linux基本操作+安装工具+安装ROS+g++编译+Cmake_第78张图片

你可能感兴趣的:(其它,linux,ubuntu)