關於ROS安裝官方教程中的命令的筆記

2021-10-21 14:14:48 字數 1434 閱讀 3864

ros安裝教程**

我的環境:ubuntu 16.04

sudo sh -c 'echo "deb  $(lsb_release -sc)

main" > /etc/apt/sources.list.d/ros-latest.list'

進行設定,使計算機能夠接受來自於packages.ros.org的軟體。

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:' --recv-key c1cf6e31e6bade8868b172b4f42ed6fbab17c654
設定秘鑰

每個發布的 debian 軟體包都是通過金鑰認證的,apt-key 命令用於管理 debian linux 系統中的軟體包金鑰。

--keyserver作用是指定網域名稱

「c1cf6e31e6bade8868b172b4f42ed6fbab17c654」 這一長串是秘鑰的 fingerprint(指紋)

recv 是 receive 的縮寫,指接收,所以--recv-key指接收秘鑰

所以整個命令意思是,指定從網域名稱是「hkp:」(金鑰伺服器)上接收 key(秘鑰)

ros安裝官方教程

在ubuntu中安裝ros kinetic 我們已經編譯好多個ubuntu平台下的debian軟體包,直接安裝編譯好的軟體包比從原始碼編譯安裝更加高效,這也是我們在ubuntu上的首選安裝方式。注意,還有從ubuntu上游提供的包。請參見upstreampackage以了解其中的區別。ubuntu包...

ROS 不能再詳細的安裝教程

關於ros robot os 機械人作業系統 估計看這個博文的大兄弟之前已經都知道是啥了,我就不咋呼了.對於ros的安裝,在它的官方 中也有詳細說明。但是對於像博主這樣先天英語發育不全的人來說,直接看官網還是有點困難的。所以博主痛定思痛,經過一番嘔心瀝血與含辛茹苦的調研後 其實就是看了幾篇相關部落格...

ROS 不能再詳細的安裝教程

關於ros robot os 機械人作業系統 估計看這個博文的大兄弟之前已經都知道是啥了,我就不咋呼了 對於ros的安裝,在它的官方 中也有詳細說明。但是對於像博主這樣先天英語發育不全的人來說,直接看官網還是有點困難的。所以博主痛定思痛,經過一番嘔心瀝血與含辛茹苦的調研後 其實就是看了幾篇相關部落格...