对于ROS系统,很多代码关联于很多的packages和stacks之间,如果用简单的liunx命令行,比如ls,cd 等,会导致路径冗长等问题,所以ROS提供了自己的命令行。根据官网,我整理出ROS系统下常用的命令:
1,find命令 ----查找相应的package或者stack
用法:
$ rospack find [package name]
$ rosstack find [stack_name]
例子:
$ rospack find roscpp
得到结果:
YOUR_INSTALL_PATH/ros/core/roscpp
2,roscd命令 ----改变路径到相应的package或者stack
用法:
$ roscd [Locationname[/subdir]]
(1) 定位到相应的package, stack文件
例子:
$ roscd roscpp
得到结果:
YOUR_INSTALL_PATH/ros/core/roscpp
(2) 定位到相应的package,stack文件的字文件
例子:
$ roscd roscpp/include
得到结果:
YOUR_INSTALL_PATH/ros/core/roscpp/include
(3) 没有参数时的roscd
例子:
$ roscd
得到结果:
YOUR_INSTALL_PATH/ros
----类似于UNIX的pwd
(4) roscd日志
----得到ROS存储日志的文件
$ roscd log
3,rosls命令 -----罗列相应的package,stack文件夹的文件
用法:
$ rosls [locationname[/subdir]]
例子:
$ rosls roscpp_tutorials
得到结果:
add_two_ints_clientlistener_unreliable add_two_ints_serverlistener_with_tracked_object add_two_ints_server_classlistener_with_userdata anonymous_listener Makefile babblermanifest.xml CMakeLists.txt node_handle_namespacescustom_callback_processing notify_connect listener srvlistener_async_spin talker listener_multiple time_apilistener_single_message timers listener_threaded_spin
4,善于用" Tab "键
“Tab”键,在Windows系统下,功能只是个制表符,但是在Liunx下,这个键功能很强大,比如(指在ROS下)
得到整个package名字
例子:
$ roscd roscpp_<<< nowpush the TAB key >>>--roscpp_tutorials是个很长的名字,可以采用TAB
得到结果:
$roscd roscpp tutorials/
5,ROS 下一些命名规则:
rospack = ros + pack(age)
rosstack = ros + stack
roscd = ros + cd
rosls = ros + ls