摘要

由于机器人SLAM、自动导航、语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码;而ROS又是安装在Linux发行版ubuntu系统之上的,先学一些Linux命令行相关的知识,对后续ROS教程的快速上手会大有帮助。由于后续ROS的开发都是在Linux发行版ubuntu系统上进行,所以本章节就以ubuntu系统为例,对Linux命令行相关的知识进行展开讲解,本章节主要内容:

1.Linux简介

2.安装Linux发行版ubuntu系统

3.Linux命令行基础操作



3.Linux命令行基础操作    

通过上面的安装操作,我们现在就可以在虚拟机上体验ubuntu系统的奥妙了,按下虚拟机中的“电源”按钮便可以给ubuntu系统开机了,赶紧去试试吧。

3.1.打开终端命令行             

虽然也能像windows系统中用图形交互的方式使用ubuntu系统,但是终端命令行的交互方式在ubuntu系统中使用的更广泛。所以我们得知道如何打开ubuntu系统中的终端命令行,其实很简单:

方法一:右键->打开终端。

方法二:Ctrl+Alt+t 或者 Ctrl+Shift+t

3.2.常用快捷键               

(1)tab键

tab键是有两个功能,一个一次tab命令补齐,另一个两次tab提示内容,如果我们不记得一个命令的全拼,或者不记得某个路径的全拼,可以输入命令的前面几个字母,然后使用tab键自动补齐命令或查看提示信息。

(2)Ctrl+c组合键

Ctrl+c中断,强行打断进程,如果终端命令行正在执行某个进程的程序,这时想要中断掉该进程就可以使用Ctrl+c。

(3)Ctrl+d组合键

Ctrl+d退出,相当于exit和quit,比如用python命令进入python交互环境后,就可以用Ctrl+d退出python交互。

(4)Ctrl+Shift+c组合键和Ctrl+Shift+v组合键

在终端中复制粘贴时,先用鼠标选中需要复制的内容,然后用Ctrl+Shift+c进行复制,再用Ctrl+Shift+v进行粘贴。

(5)图形界面和纯文本交互模式切换

Ctrl+Alt+F1~F6:纯文本交互模式登入tty1~tty6终端机;

Ctrl+Alt+F7:切回图形界面。

3.3.终端命令行中一些常用符号了解  

(1)用户主目录:~

(2)系统根目录:/

(3)一般用户提示符:$

(4)root用户提示符:#

3.4.关机与重启命令           

(1)关机

$ sudo poweroff

(2)重启

$ sudo reboot

3.5.目录与文件相关命令        

(1)显示文件和目录列表

$ ls

(2)切换目录

$ cd <目标目录>

(3)显示当前所在工作目录

$ pwd

(4)创建文件

$ touch <文件名>

(5)复制文件

$ cp <源文件路径> <目标文件路径>

(6)移动文件

$ mv <源文件路径> <目标文件路径>

(7)删除文件

$ rm <文件名>

(8)显示文件内容

$ cat <文件名>

(9)创建文件夹

$ mkdir <文件夹名>

(10)删除文件夹

$ rmdir <文件夹名>

3.6.文件权限               

(1)修改文件读写可执行权限,具体权限由掩码值决定,如777权限全开

$ sudo chmod 777 <文件名>

(2)修改文件所有者

$ sudo chown <用户名>:<组名> <文件名>

3.7.文件查找               

(1)locate命令查找文件

$ sudo updatedb

$ locate <待查找文件名>

(2)find命令查找文件

$ find -name <待查找文件名>

3.8.网络相关命令            

(1)网络连接与否测试

$ ping <待测目标主机IP或域名>

(2)本地IP地址查看

$ ifconfig

(3)远程登录到目标主机

$ ssh <目标主机用户名>@<目标主机IP地址>

3.9.系统软件安装与软件运行方法   

(1)系统默认的软件安装方法apt-get

$ sudo apt-get update

$ sudo apt-get install <软件包名称>

(2)source方法执行系统脚本,比如执行用户默认配置脚本.bashrc

$ source ~/.bashrc

(3)./方法执行一般可执行文件

$ ./<可执行文件>

3.10.文本编辑器vim使用        

(1)vim查看文件内容

$ vim <文件名>

(2)vim进入编辑模式

在vim查看文件内容的界面中,按i键进入编辑模式,然后就可以编辑文件的内容了

(3)vim退出编辑模式

在vim编辑文件内容的界面中,按Esc键退出编辑模式,然后就又回到查看文件内容的界面了

(4)vim编辑内容保存

vim在编辑完文件内容,退出到查看文件内容的界面后,可以输入“:w”对编辑内容进行保存,也可以输入“:wq”对编辑内容进行保存并退出vim

3.11.关于Linux命令行知识的学习方法建议

上面介绍的Linux命令是一些平时用的频率比较高的,但是Linux命令的数量非常的多,并且很多命令都不常用,而且每个命令都有很多额外的参数,所以想要一下子记住所有的Linux命令和使用方法是不现实的,也是没有必要的。

建议大家对常用的一些Linux命令进行学习后,Linux命令有了一个大概的整体了解。对在日后的实际工作中遇到不会的的命令,通过上网查找使用教程来学习和使用。

后记

------SLAM+语音机器人DIY系列【目录】快速导览------

第1章:Linux基础

1.Linux简介

2.安装Linux发行版ubuntu系统

3.Linux命令行基础操作

第2章:ROS入门

1.ROS是什么

2.ROS系统整体架构

3.在ubuntu16.04中安装ROS kinetic

4.如何编写ROS的第一个程序hello_world

5.编写简单的消息发布器和订阅器

6.编写简单的service和client

7.理解tf的原理

8.理解roslaunch在大型项目中的作用

9.熟练使用rviz

10.在实际机器人上运行ROS高级功能预览

第3章:感知与大脑

1.ydlidar-x4激光雷达

2.带自校准九轴数据融合IMU惯性传感器

3.轮式里程计与运动控制

4.音响麦克风与摄像头

5.机器人大脑嵌入式主板性能对比

6.做一个能走路和对话的机器人

第4章:差分底盘设计

1.stm32主控硬件设计

2.stm32主控软件设计

3.底盘通信协议

4.底盘ROS驱动开发

5.底盘PID控制参数整定

6.底盘里程计标

第5章:树莓派3开发环境搭建

1.安装系统ubuntu_mate_16.04

2.安装ros-kinetic

3.装机后一些实用软件安装和系统设置

4.PC端与robot端ROS网络通信

5.Android手机端与robot端ROS网络通信

6.树莓派USB与tty串口号绑定

7.开机自启动ROS节点

第6章:SLAM建图与自主避障导航

1.在机器人上使用传感器

2.google-cartographer机器人SLAM建图

3.ros-navigation机器人自主避障导航

4.多目标点导航及任务调度

5.机器人巡航与现场监控

第7章:语音交互与自然语言处理

1.语音交互相关技术

2.机器人语音交互实现

3.自然语言处理云计算引擎

第8章:高阶拓展

1.miiboo机器人安卓手机APP开发

2.centos7下部署Django(nginx+uwsgi+django+python3)

----------------文章将持续更新,敬请关注-----------------

如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一起讨论学习^_^

SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作的更多相关文章

  1. SLAM+语音机器人DIY系列:(一)Linux基础——1.Linux简介

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  2. SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  3. SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图

    摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障 ...

  4. SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04

    摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...

  5. SLAM+语音机器人DIY系列:(二)ROS入门——1.ROS是什么

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  6. SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  7. SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  8. SLAM+语音机器人DIY系列:(二)ROS入门——4.如何编写ROS的第一个程序hello_world

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  9. SLAM+语音机器人DIY系列:(二)ROS入门——5.编写简单的消息发布器和订阅器

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

随机推荐

  1. UWP中实现大爆炸效果(二)

    上一回实现了一个宽度不均匀的Panel,这次我们编写一个简单的BigbangView主体. 首先创建一个模板化控件,删掉Themes/Generic.xaml中的<Style TargetTyp ...

  2. 启动链码报rpc error: code = Unimplemented desc = unknown service protos.ChaincodeSupport start error

    参考链接:https://stackoverflow.com/questions/48007519/unimplemented-desc-unknown-service-protos-chaincod ...

  3. java基础系列之ConcurrentHashMap源码分析(基于jdk1.8)

    1.前提 在阅读这篇博客之前,希望你对HashMap已经是有所理解的,否则可以参考这篇博客: jdk1.8源码分析-hashMap:另外你对java的cas操作也是有一定了解的,因为在这个类中大量使用 ...

  4. Redis in .NET Core 入门:(5) Sorted SET

    第1篇:https://www.cnblogs.com/cgzl/p/10294175.html 第2篇 String:https://www.cnblogs.com/cgzl/p/10297565. ...

  5. Vue.js-10:第十章 - 组件间的数据通信

    一.前言 在上一章的学习中,我们继续学习了 Vue 中组件的相关知识,了解了在 Vue 中如何使用组件的 data.prop 选项.在之前的学习中有提到过,组件是 Vue 中的一个非常重要的概念,我们 ...

  6. FreeSql.DbContext 第二个版本介绍

    FreeSql.DbContext 实现类似 EFCore 使用方法,跟踪对象状态,最终通过 SaveChanges 方法提交事务. 目前是第二个初版,已实现状态跟踪保存(导航属性的跟踪暂时不支持). ...

  7. redis-win-server 正确启动方式

    C:\Users\Administrator\Desktop\Redis-x64-2.8.2402\redis-server.exe  C:\Users\Administrator\Desktop\R ...

  8. 委托与lambda关系

    什么是委托委托是没有方法体的,声明委托就是一个关键字: delegate ,委托可以试有参无参,有返回值无返回值.和我们的方法是一样的.不同的区别是 委托没有方法体的,委托可放在类下也可以放在类的外面 ...

  9. 我爱Java系列之《JavaEE学习笔记day12》---【缓冲流、转换流、序列/反序列化流、打印流】

    [缓冲流.转换流.序列/反序列化流.打印流] 一.缓冲流 1.字节缓冲输出流 java.io.BufferedOutputStream extends OutputStream 高效字节输出流 写入文 ...

  10. AES加密然后ajax传输数据

    最近做的一个项目,需要对传输的参数进行aes加密,所以就顺便的了解了一下,因为这种东西,肯定都是有写好的,现成的,所有这里就简单的记录一下,方便以后自己和大家查找. 首先附上百度的关于AES的百度百科 ...