常见Linux、ROS命令
Linux命令
1. cp命令
将特定的文件或目录复制到特定的目的目录中,常见用法:
$ cp [-选项] 源 目的
主要选项如下:
-f //强行复制,不进行提示
-R //复制目录及目录下的所有内容
-i //等待确认,若用户输入“y”,执行覆盖,若用户输入“n”,不执行操作
常见操作方式如下:
$ cp -Rf 源 目的
2. mv命令
将文件、目录重命名或将文件从一个目录移动到另一个目录中,mv常见用法:
$ mv [-选项] 源 目的
主要选项如下:
-b //在移动前为源文件或目录创建备份
-i //等待确认,若用户输入“y”,执行覆盖,若用户输入“n”,不执行操作
常见操作方式如下:
$ mv 源 目的
3. rm命令
删除一个文件或者目录及目录下的所有内容,若文件是链接文件,则只删除链接。常见用法:
$ rm [-选项] 源
主要选项如下:
-f //强行删除,不进行提示
-r //删除目录及目录下的所有内容
常见操作方式如下:
$ rm -rf 源
4. mkdir命令
创建目录,常见用法:
$ mkdir [-选项] 目录
主要选项如下:
-m //设定权限
-p //根据需要创建上级目录,若目录已存在则不提示
常见操作方式如下:
$ mkdir 目录
$ mkdir -m 777 目录
5. cd命令
改变工作目录,将工作目录从当前目录改变至指定的目录。不过对于访问有权限的指定目录,当前用户必须有指定目录的读权限,常见用法:
$ cd [-选项] 目录
常见操作方式如下:
$ cd .. //改变至上级目录
$ cd - //改变至上次进入的目录
6. ls命令
列出指定目录的所有子目录和文件,常见用法:
$ ls [-选项] 目录
主要选项如下:
-l //列出子目录、文件的详细信息
-a //显示隐藏文件
常见操作方式如下:
$ ls //列出当前文件的所有子目录和文件
$ ls -l //列出当前文件的所有子目录和文件的详细信息
$ ll //"ls -l"的快捷方式
7. ps命令
监控系统当前的进程的工作情况,长结合kill命令用于上司部分当前正在工作的进程,常见用法:
$ ps [-选项]
主要选项如下:
-a //显示现行终端下的所有进程,包括其他用户的进程
-u //以用户为主的进程状态
x //通常与a这个参数一起使用,列出较完整信息
常见操作方式如下:
$ ps -aux //显示所有进程及其详细信息
ps命令与free等命令都是通过分析“/proc”目录下的文件来完成的,在linux中,“/proc”是一个虚拟的文件系统,存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态
8. vi命令
vim为一个Linux的纯文本编辑器,支持编辑模式和命令模式。常见用法:
$ vi [-选项] 文件
主要选项如下:
-b //二进制模式
-R //只读模式
常见操作方式如下:
$ vi 文件
待利用vim打开文件后,默认进行命令模式,可利用“Ctrl+f”向文件尾翻屏,“Ctrl+b”向文件首翻屏;用户可利用内置命令切换至编辑模式,其中“i”表示在当前字符前添加文本,“a”表示在当前字符后添加文本,“:wq!”表示保存文件并退出,“:q!”表示直接退出。通过“ESC”键可以从编辑模式切换至命令模式。
9. gedit命令
gedit为一个图形界面的文件编辑器,不过gedit不适用Ubuntu的服务器版。常见用法:
$ gedit [-选项] 文件
常见操作方式如下:
$ gedit 文件
ROS命令
ROS命令涉及的程序包均位于ROS_PACKAGE_PATH定义的目录下,若为指明程序包名,则为当前程序包。ROS命令下,仍然可以利用Tab键来进行自动补全。
1. rospack命令
查看程序包信息。常见用法:
$ rospack <命令> [选项] [程序包名]
主要选项如下:
find //查看程序包信息
list //查看程序包列表
rosdep //查看程序包依赖关系
depends1 //查看程序包的直接依赖
depends //查看程序包所有依赖
常见操作方式如下:
$ rospack rosdep turtlesim
$ rospack depends1 turtlesim
$ rospack depends turtlesim
$ rospack find turtlesim
2. rosstack命令
展示ROS程序包集信息。常见用法:
$ rosstack [选项] <命令> <参数>
主要选项如下:
find //查看程序包集
list //显示程序包集的列表
list-names //显示程序包集名的列表
常见操作方式如下:
$ rosstack find ros_core
$ rosstack list
3. roscd命令
切换目录到程序包或者目录。常见用法:
# 切换到/opt/ros/melodic/share/roscpp目录下
$ roscd roscpp
# 切换到/opt/ros/melodic/share/roscpp/cmake目录下
$ roscd roscpp/cmake
# 切换到ROS的日志目录下
$ roscd log
4. rosls命令
罗列相应程序包或者目录下的文件。常见用法:
$ rosls 程序包
常见操作方式如下:
#罗列roscpp程序包的文件
$ rosls roscpp
5. roscp命令
从一个程序包中复制文件到特定位置。常见用法:
$ roscp 程序包 文件 目标目录
示例如下:
#复制程序包下的add_frame.cpp文件到当前目录
$ roscp example_8 add_frame.cpp ./
6. roscat命令
用于浏览程序包中的特定文件。常见用法:
$ roscat [程序包] 文件
示例如下:
$ roscat example_8 add_frame.cpp
7. rosed命令
用于允许开发者直接编辑一个程序包中的已有文件。常见用法:
$ rosed 程序包名 文件名
示例如下:
$ rosed roscpp Color.msg
命令rosed默认的文件编辑器为vim,若系统未安装vim,rosed会提示开发者安装,若希望更换,可以在~/.bashrc文件尾部加入如下设置:export EDITOR=‘gedit -w’
8. rosdep命令
用来检查、安装ROS依赖项。常见用法:
$ rosdep [选项] <命令> <参数>
主要选项如下:
check //检查程序包或堆
install //安装程序包或堆
db //生成依赖关系数据库并打印到终端
init //初始化rosdep源
update //更新rosdep源
常见操作方式如下:
$ rosdep check turtlesim
$ rosdep install turtlesim
$ sudo rosdep init
9. rosmsg命令
用于显示ROS消息类型。常见用法:
$ rosmsg show [消息类型]
#作用和rosmsg show相同
$ rosmsg info [消息类型]
#列出所有的消息类型
$ rosmsg list
#显示消息的MD5签名
$ rosmsg md5
#列出显示程序包中的消息类型
$ rosmsg package [消息类型]
#列出包含特定消息类型的程序包
$ rosmsg packages
示例如下:
$ rosmsg show geometry_msgs/Twist
$ rosmsg md5 turtlesim/Pose
10. rossrv命令
展示ROS服务类型信息的工具。常见用法:
$ rossrv [选项] <参数>
主要选项如下:
show //显示服务描述
info //显示服务描述,和show功能相同
list //显示所有服务的列表
md5 //显示服务的MD5校验和
package //显示某个程序包的服务列表
packages //显示包含某个服务的程序包列表
常见操作方式如下:
$ rossrv package turtlesim
$ rossrv packages turtlesim/Spawn
$ rossrv list
11. rostest命令
用于执行test文件进行单元测试。常见用法:
$rostest [选项] [程序包] <文件名>
示例如下:
$rostest --test example_1 example_1.test
参考《机器人ROS开发实践》——无为斋主