关于ROS安装官方教程中的命令的笔记

ROS安装教程网址
我的环境:Ubuntu 16.04


sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

1、作用

进行设置,使计算机能够接受来自于packages.ros.org的软件。

2、sudo sh -c

echo "信息1" > test.asc向文件中写入信息的快捷方式。

(其中的 > 有时也用 >> ,二者的区别是 > 表示将文档内的内容替换成输入内容, >> 表示将输入内容添加到文档已有的内容后面)

如果文档的权限是只有 root 用户才能写,那么就不能仅仅在前面加上 sudo 变成 sudo echo "信息2" > test.asc 来实现

会产生 -bash: test.asc: Permission denied 的报错。这是因为重定向符号 > 和 >> 也是 bash 的命令,使用 sudo 只是给了 echo 命令 root 权限,但 > 和 >> 命令并没有 root 权限。

可以利用 “sh -c” 命令解决这一问题,该命令让 bash 把一个字符串看做完整的命令来执行,可以将 sudo 的影响范围扩展到整条命令。具体用法如下:

sudo sh -c 'echo "信息2" > test.asc'

也可以使用管道和 tee 命令实现同样的功能,该命令可以从标准输入中读入信息并将其写入标准输出或文件中,具体用法如下:

echo "信息3" | sudo tee -a test.asc

(tee 命令的 “-a” 选项的作用等同于 >> 命令,如果去除该选项,那么 tee 命令的作用就等同于 > 命令)

管道命令的介绍


sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

1、作用

设置秘钥

2、apt-key

每个发布的 Debian 软件包都是通过密钥认证的,apt-key 命令用于管理 Debian Linux 系统中的软件包密钥。

  • apt-key adv 用于设置 key 的高级配置,可以从网络上下载 key。
  • --keyserver 作用是指定域名
  • “C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654” 这一长串是秘钥的 fingerprint(指纹)
  • recv 是 receive 的缩写,指接收,所以--recv-key指接收秘钥
  • 所以整个命令意思是,指定从域名是“hkp://keyserver.ubuntu.com:80”(密钥服务器)上接收 key(秘钥)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值