1. 程式人生 > >ROS智慧小車DIY專題:Linux基礎知識

ROS智慧小車DIY專題:Linux基礎知識

###文章更新記錄###

2018/12/13 建立文章《Linux基礎知識》

 

###寫在前面###

由於機器人SLAM、自動導航、語音互動、機械臂控制這一系列的演算法都在機器人作業系統ROS中有很好的支援,所以後續的章節中都會使用ROS來組織構建程式碼;而ROS又是安裝在Linux發行版ubuntu系統之上的,先學一些Linux命令列相關的知識,對後續ROS教程的快速上手會大有幫助。由於後續ROS的開發都是在Linux發行版ubuntu系統上進行,所以本章節就以ubuntu系統為例,對Linux命令列相關的知識進行展開講解,本章節主要內容:

1.Linux簡介

2.安裝Linux

發行版ubuntu系統

3.Linux命令列基礎操作

 

###正文###

1.Linux簡介

Linux是一個開源、免費的作業系統,它以強大的安全、穩定、多併發效能得到業界的廣泛認可,目前linux被使用在很多中大型,甚至巨型專案中。很多軟體公司考慮到開發成本,都選用linux,在中國軟體公司得到廣泛的使用。

1.1.Linux系統組成

(圖1Linux系統組成結構

Linux作業系統的核心為Linus Torvalds開發的核心(Kernel)Linux核心之上的元件分為幾部分:一部分是GNU的元件(如gccbash等);另一些重要組成部分則來自UC Berkeley

分校的BSD Unix專案和麻省理工學院的X Windows專案,以後在這之後成千上萬的程式設計師開發的應用程式等,Linux程式碼貢獻者見圖2

(圖2Linux程式碼貢獻者

1.2.Linux的版本

Linux的發行版就是將Linux核心和應用軟體打成一個包。核心版並不能直接使用,需要進行包裝後用戶才能更直接的使用。各個廠商針對Linux的核心所釋出的各自的發行版,使用者可以直接使用操作。幾種常見的發行版見圖3所示。

(圖3Linux幾種常見的發行版

2.安裝Linux發行版ubuntu系統

    如果已經在物理機電腦上安裝了

ubuntu系統的朋友,可以直接跳過這一節的講解,直接看下一節關於Linux命令列的講解。

考慮到大部分朋友平時都使用windows系統進行學習和辦公,方便起見,強烈推薦在windows系統中用虛擬機器執行ubuntu系統,進行ubuntu的體驗和學習。這樣做的好處是,在同一個電腦上使用ubuntu系統的同時,又不妨礙使用物理機原來的windows系統,兩個系統之間還可以實現檔案的共享,不用擔心因初學沒經驗損壞ubuntu系統後難以重灌的麻煩。下面就以VMware虛擬機器+ubuntu16.04為例,跟大家介紹安裝ubuntu的過程。

2.1.安裝VMware虛擬機器

首先去VMware的官網https://www.vmware.com/cn.html下載安裝包,在頁面中找到“下載”按鈕,如圖4,並點選進入。

 

(圖4VMware的官網

 選擇Workstation Pro這個版本,如圖5

(圖5Workstation Pro版本

選著一個合適自己系統的安裝包,我準備在windows系統上安裝VMware,本文寫作時對應的最新版本是Workstation 15 Pro for Windows,點選“立即下載”,如圖6,等待下載完成。

(圖6Workstation Pro下載

下載完成後,找到檔名為VMware-workstation-full-15.0.2-10952284.exe”的安裝包,以管理員許可權執行此安裝包,安裝方法和其他軟體安裝方法類似,首先是一個歡迎介面,如圖7,直接點選“下一步”就好了。

(圖7)歡迎介面

接下來是許可證,如圖8,勾選“我接受許可協議中的條款”欄,然後點選“下一步”。

(圖8)許可協議

接下來是安裝路徑,使用預設的路徑就行了,如圖9,直接“下一步”。

 

(圖9)安裝路徑

接下來,詢問使用者體驗設定,建議都不要勾選,如圖10,然後“下一步”。

(圖10)使用者體驗設定

接下來,快捷方式建立,如圖11,預設建立就行了,直接“下一步”。

 

(圖11)建立快捷方式

接下來,就可以點選“安裝”,開始安裝了。

 

(圖12)安裝

接下來,進入安裝等待介面,如圖13,等待安裝進度完成後,點選“下一步”。

 

(圖13)安裝進度條

接下來,這一步需要特別說明一下,如果只是想臨時試用一下VMware的話,直接點選“完成”按鈕,就可以完成試用版的安裝了;如果是想要長期使用VMware的話,就需要點選“許可證”按鈕,進行接下來的註冊流程,我這裡選擇點選“許可證”按鈕。

 

(圖14許可證註冊

接下來,輸入購買軟體時廠商提供的註冊祕鑰,請支援正版軟體,但是由於大部分同學只是作為學習之用途,獲取該版本軟體的註冊祕鑰的方式就得自行上網搜尋了,你懂的!!!

 

(圖15)輸入許可證祕鑰

到這裡,VMware的安裝就完成了,點選桌面上的VMware圖示便可以使用了。

2.2.VMware虛擬機器中安裝ubuntu系統

VMware虛擬機器中安裝作業系統的原理很簡單,其實就是VMware虛擬機器給你先虛擬一個物理機資源(CPU,記憶體,硬碟,網絡卡等)出來,然後你在這個虛擬出來的物理機資源上安裝你想執行的作業系統。其實就是兩步,第一步建立虛擬機器資源,第二步在虛擬機器資源上安裝自己的作業系統。好了,接下來就來看看怎麼具體操作了。

首先要下載好ubuntu系統的安裝映象檔案(ubuntu-16.04.4-desktop-amd64.iso),這裡推薦去ubuntu的官網下載ubuntu 16.04 Desktop這個版本,因為ubuntu 16.04 Desktop這個版本現在最穩定,下載連結(https://www.ubuntu.com/download/alternative-downloads),如圖16,推薦迅雷進行下載,下載完成後得到ubuntu-16.04.4-desktop-amd64.iso檔案備用。

(圖16ubuntu 16.04 Desktop下載

接下來,點選桌面上的VMware圖示,進入後點擊“建立新的虛擬機器”按鈕,如圖17

 

(圖17)建立新的虛擬機器

選擇典型配置,然後點選“下一步”,如圖18

 

(圖18)典型配置

選擇“稍後安裝作業系統”,然後點選“下一步”,如圖19

 

(圖19)稍後安裝作業系統

選擇Linux”和“Ubuntu 64位”選項,然後點選“下一步”,如圖20

                                 

(圖20)選擇客戶機作業系統

這一步是給新建的虛擬機器取名稱並儲存虛擬機器,“虛擬機器名稱”欄填上你取得虛擬機器名稱,“位置”欄填儲存新建虛擬機器的路徑,然後點選“下一步”,如圖21

 

(圖21)命名虛擬機器

這一步是給新建的虛擬機器指定磁碟容量,預設分配20GB,將虛擬磁碟拆分成多個檔案,然後點選“下一步”,如圖22

 

(圖22)指定磁碟容量

這一步是確認硬體引數設定,點選“自定義硬體”可以檢視硬體的詳細引數(比如記憶體:2GB,網路介面卡:NAT,顯示器:自動檢測),這些引數預設引數就行了,退出檢視硬體視窗,點選“完成”,如圖23

                          

(圖23)硬體引數確認

最後,看到圖24,第一步建立虛擬機器資源的操作便完成了,接下來就是第二步在虛擬機器資源上安裝自己的作業系統ubuntu-16.04.4-desktop-amd64.iso

 

(圖24)建立虛擬機器資源完成

在左側欄中找到剛剛建立的虛擬機器Ubuntu 64位”,右鍵單擊此處後在彈出的選項中選擇“設定”,在彈出的選項中選擇“CD/DVD(SATA)”,在對應右邊欄中選擇“使用ISO映像檔案”,並點選“瀏覽”找到之前下載好的檔案ubuntu-16.04.4-desktop-amd64.iso,點選“開啟”,點選“確定”,這個時候便已經將ubuntu映象檔案插入虛擬機器了,如圖25

                             

(圖25)將ubuntu映象檔案插入虛擬機器

接下來,點選虛擬機器的“開機”按鈕,ubuntu映象便開始載入,正式進入ubuntu系統的安裝過程了,如圖26,接下來安裝ubuntu過程的設定和在物理機上安裝ubuntu是一樣的了。

(圖26)虛擬機器開機

ubuntu開機載入完成後,彈出的選項中,選擇“中文(簡體)”,然後點選“安裝Ubuntu”,如圖27

 

(圖27)安裝Ubuntu語言選擇

這裡直接使用預設選項,然後點選“繼續”,如圖28

 

(圖28)安裝時更新選項

選擇“清除整個磁碟並安裝Ubuntu”,這裡不是真的清除物理機磁碟上的內容,只是清除虛擬機器申請的20GB虛擬磁碟空間,所以可以放心清除,然後點選“現在安裝”,如圖29

                           

(圖29)清除磁碟並安裝Ubuntu

這一步是給你展示清除磁碟的具體內容,直接點選“繼續”,如圖30

                               

(圖30)清除磁碟的具體內容

這一步是選擇時區,用滑鼠在地圖中點選中國區域,會自動鎖定到Shanghai時區,然後點選“繼續”,如圖31

                                

(圖31)時區選擇

這一步是選擇鍵盤佈局,預設設定就行了,點選“繼續”,如圖32

 

(圖32)鍵盤佈局

這一步是使用者名稱和登入密碼設定,由於是用來做實驗用,所以使用者名稱設定為:ubuntu64,密碼設定為:123456,選擇“自動登入”,然後點選“繼續”,如圖33

 

(圖33)使用者名稱和密碼設定

最後,如圖34,看到這個畫面,安裝設定就算完成了,接下來就是漫長的安裝過程了,安裝全程請保證物理機網路連線良好且能上外網,因為安裝過程中需要從網路中下載一些更新包,安裝進度完成後,重啟虛擬機器電源,便完成安裝了。

 

(圖34)漫長的安裝過程

最後,提一提滑鼠在物理機與虛擬機器之間的切換技巧,滑鼠放入虛擬機器視窗區域點選後便進入虛擬機器操作,Ctrl+Alt+Esc便可以將滑鼠從虛擬機器切回到物理機操作了

最後的最後,還需要安裝一個非常重要的工具VMware Tools,這個工具幫助虛擬機器自動適應螢幕解析度、實現物理機與虛擬機器之間的檔案複製與貼上等重要功能。

左側欄中找到虛擬機器Ubuntu 64位”,右鍵單擊此處後在彈出的選項中選擇“安裝VMware Tools”,這時候會彈出安裝VMware Tools的詳細方法步驟,如圖35

                               

(圖35)安裝VMware Tools的詳細方法步驟

首先,點選左側欄DVD圖示,將DVD中的VMwareTools-10.3.2-9925305.tar.gz拷貝到Home目錄中來,拷貝檔案的方法和windows系統的一樣,如圖36

 

(圖36VMwareTools安裝包拷貝

雙擊Home目錄下的VMwareTools安裝包,在彈出來的視窗中點選“提取”,來完成對VMwareTools安裝包的解壓,如圖37

(圖37)對VMwareTools安裝包的解壓

接下來,ctrl+alt+t組合鍵開啟ubuntu的命令列終端,在終端中用命令列完成VMwareTools的安裝。

$ cd vmware-tools-distrib/

$ ls

$ sudo ./vmware-install.pl

$ yes

$ 接下來一路[回車],直到安裝完成

VMwareTools的安裝完成後,重啟虛擬機器電源,VMwareTools的螢幕解析度自適應和物理機與虛擬機器之間拷貝檔案等功能便生效了。

3.Linux命令列基礎操作

通過上面的安裝操作,我們現在就可以在虛擬機器上體驗ubuntu系統的奧妙了,按下虛擬機器中的“電源”按鈕便可以給ubuntu系統開機了,趕緊去試試吧。

3.1.開啟終端命令列

雖然也能像windows系統中用圖形互動的方式使用ubuntu系統,但是終端命令列的互動方式在ubuntu系統中使用的更廣泛。所以我們得知道如何開啟ubuntu系統中的終端命令列,其實很簡單:

方法一:右鍵->開啟終端。

方法二:Ctrl+Alt+t 或者 Ctrl+Shift+t

3.2.常用快捷鍵

1tab

tab鍵是有兩個功能,一個一次tab命令補齊,另一個兩次tab提示內容,如果我們不記得一個命令的全拼,或者不記得某個路徑的全拼,可以輸入命令的前面幾個字母,然後使用tab鍵自動補齊命令或檢視提示資訊。

2Ctrl+c組合鍵

Ctrl+c中斷,強行打斷程序,如果終端命令列正在執行某個程序的程式,這時想要中斷掉該程序就可以使用Ctrl+c

3Ctrl+d組合鍵

Ctrl+d退出,相當於exitquit,比如用python命令進入python互動環境後,就可以用Ctrl+d退出python互動。

4Ctrl+Shift+c組合鍵和Ctrl+Shift+v組合鍵

在終端中複製貼上時,先用滑鼠選中需要複製的內容,然後用Ctrl+Shift+c進行復制,再用Ctrl+Shift+v進行貼上。

5)圖形介面和純文字互動模式切換

Ctrl+Alt+F1~F6:純文字互動模式登入tty1~tty6終端機;

Ctrl+Alt+F7:切回圖形介面。

3.3.終端命令列中一些常用符號瞭解

1)使用者主目錄:~

2)系統根目錄:/

3)一般使用者提示符:$

4root使用者提示符:#

3.4.關機與重啟命令

1)關機

$ sudo poweroff

2)重啟

$ sudo reboot

3.5.目錄與檔案相關命令

1)顯示檔案和目錄列表

$ ls

2)切換目錄

$ cd <目標目錄>

3)顯示當前所在工作目錄

$ pwd

4)建立檔案

$ touch <檔名>

5)複製檔案

$ cp <原始檔路徑> <目標檔案路徑>

6)移動檔案

$ mv <原始檔路徑> <目標檔案路徑>

7)刪除檔案

$ rm <檔名>

8)顯示檔案內容

$ cat <檔名>

9)建立資料夾

$ mkdir <資料夾名>

10)刪除資料夾

$ rmdir <資料夾名>

3.6.檔案許可權

1)修改檔案讀寫可執行許可權,具體許可權由掩碼值決定,如777許可權全開

$ sudo chmod 777 <檔名>

2)修改檔案所有者

$ sudo chown <使用者名稱>:<組名> <檔名>

3.7.檔案查詢

1locate命令查詢檔案

$ sudo updatedb

$ locate <待查詢檔名>

2find命令查詢檔案

$ find -name <待查詢檔名>

3.8.網路相關命令

1)網路連線與否測試

$ ping <待測目標主機IP或域名>

2)本地IP地址檢視

$ ifconfig

3)遠端登入到目標主機

$ ssh <目標主機使用者名稱>@<目標主機IP地址>

3.9.系統軟體安裝與軟體執行方法

1)系統預設的軟體安裝方法apt-get

$ sudo apt-get update

$ sudo apt-get install <軟體包名稱>

2source方法執行系統指令碼,比如執行使用者預設配置指令碼.bashrc

$ source ~/.bashrc

3./方法執行一般可執行檔案

$ ./<可執行檔案>

3.10.文字編輯器vim使用

1vim檢視檔案內容

$ vim <檔名>

2vim進入編輯模式

vim檢視檔案內容的介面中,按i鍵進入編輯模式,然後就可以編輯檔案的內容了

3vim退出編輯模式

vim編輯檔案內容的介面中,按Esc鍵退出編輯模式,然後就又回到檢視檔案內容的介面了

4vim編輯內容儲存

vim在編輯完檔案內容,退出到檢視檔案內容的介面後,可以輸入“:w”對編輯內容進行儲存,也可以輸入“:wq”對編輯內容進行儲存並退出vim

3.11.關於Linux命令列知識的學習方法建議

上面介紹的Linux命令是一些平時用的頻率比較高的,但是Linux命令的數量非常的多,並且很多命令都不常用,而且每個命令都有很多額外的引數,所以想要一下子記住所有的Linux命令和使用方法是不現實的,也是沒有必要的。

建議大家對常用的一些Linux命令進行學習後,Linux命令有了一個大概的整體瞭解。對在日後的實際工作中遇到不會的的命令,通過上網查詢使用教程來學習和使用。