ROS文件系统介绍--2
ros初级核心教程--ROS文件系统介绍(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/)
1.ROS文件系统介绍:
1.1.预备工作:本教程中我们将会用到ros-tutorials程序包,请先安装:
将 <distro> 替换成你所安装的版本(比如Jade、Indigo、hydro、groovy、fuerte等)
root@zxwubuntu-Aspire-V3-572G: sudo apt-get install ros-<distro>-ros-tutorials

1.2.快速了解文件系统概念
Packages: 软件包,是ROS应用程序代码的组织单元,每个软件包都可以包含程序库、可执行文件、脚本或者其它手动创建的东西。
Manifest (package.xml): 清单,是对于'软件包'相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等。
1.3.文件系统工具
程序代码是分布在众多ROS软件包当中,当使用命令行工具(比如ls和cd)来浏览时会非常繁琐,因此ROS提供了专门的命令工具来简化这些操作。
A.使用 rospack
rospack允许你获取软件包的有关信息。在本教程中,我们只涉及到rospack中find参数选项,该选项可以返回软件包的路径信息。
用法:
# rospack find [包名称]
示例:
root@zxwubuntu-Aspire-V3-572G: rospack find roscpp
应输出:
YOUR_INSTALL_PATH/share/roscpp
如果你是在Ubuntu Linux操作系统上通过apt来安装ROS,你应该会准确地看到:
/opt/ros/groovy/share/roscpp

B.使用 roscd
oscd是rosbash命令集中的一部分,它允许你直接切换(cd)工作目录到某个软件包或者软件包集当中。
用法:
# roscd [本地包名称[/子目录]]
示例:
root@zxwubuntu-Aspire-V3-572G: roscd roscpp
为了验证我们已经切换到了roscpp软件包目录下,现在我们可以使用Unix命令pwd来输出当前工作目录:
root@zxwubuntu-Aspire-V3-572G: pwd
你应该会看到:
YOUR_INSTALL_PATH/share/roscpp

你可以看到YOUR_INSTALL_PATH/share/roscpp和之前使用rospack find得到的路径名称是一样的。 注意,就像ROS中的其它工具一样,roscd只能切换到那些路径已经包含在ROS_PACKAGE_PATH环境变量中的软件包,要查看ROS_PACKAGE_PATH中包含的路径可以输入:
root@zxwubuntu-Aspire-V3-572G: echo $ROS_PACKAGE_PATH
你的ROS_PACKAGE_PATH环境变量应该包含那些保存有ROS软件包的路径,并且每个路径之间用冒号分隔开来。一个典型的ROS_PACKAGE_PATH环境变量如下:

跟其他路径环境变量类似,你可以在ROS_PACKAGE_PATH中添加更多其它路径,每条路径使用冒号':'分隔。
使用roscd也可以切换到一个软件包或软件包集的子目录中。
执行:
root@zxwubuntu-Aspire-V3-572G: roscd roscpp/cmake
root@zxwubuntu-Aspire-V3-572G: pwd
应该会看到:
YOUR_INSTALL_PATH/share/roscpp/cmake

C.使用roscd log
使用roscd log可以切换到ROS保存日记文件的目录下。需要注意的是,如果你没有执行过任何ROS程序,系统会报错说该目录不存在。
如果你已经运行过ROS程序,那么可以尝试:
root@zxwubuntu-Aspire-V3-572G: roscd log
D.使用 rosls
rosls是rosbash命令集中的一部分,它允许你直接按软件包的名称而不是绝对路径执行ls命令(罗列目录).
用法:
# rosls [本地包名称[/子目录]]
示例:
root@zxwubuntu-Aspire-V3-572G: rosls roscpp_tutorials
应输出:
cmake package.xml srv

E.Tab 自动完成输入
当要输入一个完整的软件包名称时会变得比较繁琐。在之前的例子中roscpp tutorials是个相当长的名称,幸运的是,一些ROS工具支持TAB 自动完成输入或者输入提示的功能。
root@zxwubuntu-Aspire-V3-572G: roscd roscpp_tut<<< 现在请按TAB键 >>>
F.回顾
你也许已经注意到了ROS命令工具的的命名方式:
- rospack = ros + pack(age)
- roscd = ros + cd
- rosls = ros + ls
这种命名方式在许多ROS命令工具中都会用到。
到此你已经了解了ROS的文件系统结构,接下来我们开始创建一个工作空间。(请看下一篇博文)
ROS文件系统介绍--2的更多相关文章
- Linux文件系统介绍(转)
文章转自:http://www.iteye.com/topic/816268 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文 ...
- 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍
目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...
- 使用rosed编辑ROS文件
1.1使用rosed. rosed是rosbash套件的一部分.它可以使你通过package的名字直接编辑一个package中的文件而不用输入package的整个路径. 用法: $ rosed [pa ...
- Linux文件系统介绍
1.ext2/ext3(日志功能)文件系统(Linux标准文件系统.一种索引式文件系统) SuperBlock:Superblock是记录整个filesystem 相关信息的地方,没有Superblo ...
- UBIFS文件系统介绍
1. 引言 UBIFS,Unsorted Block Image File System,无排序区块图像文件系统.它是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一 ...
- Linux根文件系统介绍
系统 根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后 ...
- Linux 文件系统介绍
目录 1.Linux 分区简介 2.文件的类型 3.文件的属性与权限 4.直达底部 一.Linux 分区简介 与 windows 通过 盘符管理各个分区不同,Linux把所有设备和文件都当作文件来管理 ...
- 10-09 Linux的文件系统介绍以及各种设备的说明
Linux的文件编程 linux文件管理系统分为3部分:与文件管理有关的软件,被管理的文件,实施文件管理需要的数据结构 用C语言建立,打开,关闭文件,向文件写入和读出数据等. Linux文件系统简介 ...
- proc文件系统介绍
(1)linux内核是一个非常庞大.非常复杂的一个单独的程序,对于这样的一个程序来说调试是非常复杂的.(2)项kernel这样庞大的项目,给里面添加/更改一个功能是非常麻烦的,因为你这添加的一个功能可 ...
随机推荐
- Servlet/Filter发布后与其他页面的相对路径
1.Servlet 3个文件 E:\web.workspace\mldndemo\WebContent\ch14\regist.html E:\web.workspace\mldndemo\WebCo ...
- Jar/War/Ear等包的作用与区别详解
以客户角度来看,jar文件就是一种封装格式,用户不需要知道jar包中有多少个.class格式的文件及每个文件中的功能与作用,也可以得到相应的访问的结果.java中除了jar格式还有war和ear等包文 ...
- php memcached在windows上的使用
php的memcached是比memcache,效率更高的memcache缓存扩展. 然而windows下并没有这个扩展,于是做单元测试时要把代码上传到linux服务器,再运行,甚是麻烦. (当然另外 ...
- 【WPF】ListBox使用DataTemplate 以及默认选中第一项Item
ListBox中DataTemplate的用法如下 . <ListBox x:Name="areaLB" ItemsSource="{Binding AreaNum ...
- ubuntu下man帮助文档不全怎么办?如何解决?
真心后悔用ubuntu学习linux 发现很多东西不全,kate没有,vi版本低,帮助文档不全一系列的问题.ubuntu下man帮助文档不全怎么办?如何解决?不用担心,下边小编就为大家带来最详细的解决 ...
- uboot中变量env(收集)
Env在u-boot中通常有两种存在方式,在永久性存储介质中(flash.NVRAM等),在SDRAM中.可配置不适用env的永久存储方式,但不常用.U-boot在启动时会将存储在永久性存储介质中的e ...
- [转]RosBridge小结
1.rosbridge介绍 rosbridge(rosbridge_suite)是ros官方为开发者提供的一个用于非ros系统和ros系统进行交互通信的功能包.rosbridge主要包含两个部分,Ro ...
- 6. GC 调优(工具篇) - GC參考手冊
进行GC性能调优时, 须要明白了解, 当前的GC行为对系统和用户有多大的影响. 有多种监控GC的工具和方法, 本章将逐一介绍经常使用的工具. 您应该已经阅读了前面的章节: 垃圾收集简单介绍 - GC參 ...
- .net垃圾回收
垃圾回收器(gc)用来在.NET中进行内存管理,特别是它可以恢复正在运行的应用程序需要的内存. .NET运行库采用的方法是垃圾回收器,这是一个程序,其目的是清理内存.方法是所有动态请求的内存都分配到堆 ...
- 使用 OpCache 提升 PHP 5.5+ 程序性能
说明 PHP 5.5 以后内建了 OpCache , OpCache 的加速原理是把编译后的 bytecode 存储在内存里面, 避免重复编译 PHP 所造成的资源浪费. 引用 How To Enab ...