SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要
由于机器人SLAM、自动导航、语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码;而ROS又是安装在Linux发行版ubuntu系统之上的,先学一些Linux命令行相关的知识,对后续ROS教程的快速上手会大有帮助。由于后续ROS的开发都是在Linux发行版ubuntu系统上进行,所以本章节就以ubuntu系统为例,对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基础
第2章:ROS入门
第3章:感知与大脑
第4章:差分底盘设计
第5章:树莓派3开发环境搭建
第6章:SLAM建图与自主避障导航
2.google-cartographer机器人SLAM建图
第7章:语音交互与自然语言处理
第8章:高阶拓展
2.centos7下部署Django(nginx+uwsgi+django+python3)
----------------文章将持续更新,敬请关注-----------------
如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一起讨论学习^_^
SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作的更多相关文章
- SLAM+语音机器人DIY系列:(一)Linux基础——1.Linux简介
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- SLAM+语音机器人DIY系列:(一)Linux基础——2.安装Linux发行版ubuntu系统
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——2.google-cartographer机器人SLAM建图
摘要 通过前面的基础学习,本章进入最为激动的机器人自主导航的学习.在前面的学习铺垫后,终于迎来了最大乐趣的时刻,就是赋予我们的miiboo机器人能自由行走的生命.本章将围绕机器人SLAM建图.导航避障 ...
- SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04
摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...
- SLAM+语音机器人DIY系列:(二)ROS入门——1.ROS是什么
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- SLAM+语音机器人DIY系列:(二)ROS入门——4.如何编写ROS的第一个程序hello_world
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
- SLAM+语音机器人DIY系列:(二)ROS入门——5.编写简单的消息发布器和订阅器
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...
随机推荐
- 用 fhq_Treap 实现可持久化平衡树
支持对历史版本进行操作的平衡树 Treap 和 Splay 都是旋来旋去的 这样平衡树可持久化听起来不太好搞? 还有 fhq_Treap ! 每次涉及操作就复制一个节点出来 操作历史版本就继承它的根继 ...
- 带logo图片或不带logo图片的二维码生成与解析,亲测成功
最近公司需要实现二维码功能,本人经过一顿百度,终于实现了,因有3个功能:不带logo图片.带logo图片.解析二维码,篇幅较长,请耐心读之,直接复制粘贴即可. 前提:myeclipse10:jar包: ...
- Haskell学习-高阶函数
原文地址:Haskell学习-高阶函数 高阶函数(higher-order function)就是指可以操作函数的函数,即函数可以作为参数,也可以作为返回结果.有了这两个特性,haskell可以实现许 ...
- mvc、mvp和mvvm
一.MVC 设计图: 可能由于MVP.MVVM的兴起,MVC在android中的应用变得越来越少了,但MVC是基础,理解好MVC才能更好的理解MVP,MVVM.因为后两种都是基于MVC发展而来的. 1 ...
- Smobiler Service是什么?(Smobiler——.NET移动开发平台)
在得知Smobiler即将推出新产品SmobilerService之后,许多人第一个疑问便是——Smobiler Service是什么? Smobiler的开发者对这个exe窗口一定不陌生,有时候因为 ...
- swagger Failed to load Api definition 的问题
这个问题是由于Tomcat乱码问题导致的,修改server.xml文件的编码格式修改成UTF-8
- 使用Ninject的一般步骤
以下为DI控制反转个人理解烦请各位大牛指教~ 编写程序时我们应当遵循抵耦合高内聚的原则(各个功能模块互不依赖). 我们可以利用面向对象里面接口的特性来进行DI控制反转,让功能模块全部依赖接口,而不依赖 ...
- Vue.js 学习笔记 第3章 计算属性
本篇目录: 3.1 什么是计算属性 3.2 计算属性用法 3.3 计算属性缓存 模板内容的表达式常用语简单的运算,当其过长或逻辑复杂时,会难以维护,本章的计算属性就是用于解决该问题的. 3.1 什么是 ...
- 提升机器学习数学基础,这7本书一定要读-附pdf资源
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | KDnuggets 作者 | Ajit Jaokar 转自 | 新智元 编辑 | 大明 [编 ...
- ArcGIS JS API多线程克里金插值
最近做关于雨量插值的项目,本来使用后台的GP工具做的,但是处理时间比较长需要十几秒钟左右,所以研究怎么通过前台来计算. 参考下克里金例子,思路是生成要计算区域的100乘以100网格,然 ...