25賽季演算法組第一階段第二次培訓
1. Ubuntu 的介紹
1.1. 作業系統和作業系統的選擇
作業系統,英文名稱Operating System,簡稱OS,是計算機系統中必不可少的基礎系統軟體,它是應用程式執行以及使用者操作必備的基礎環境支撐,是計算機系統的核心。
作業系統的作用是管理和控制計算機系統中的硬體和軟體資源,例如,它負責直接管理計算機系統的各種硬體資源,如對CPU、記憶體、磁碟等的管理,同時對系統資源所需的優先次序進行管理。作業系統還可以控制裝置的輸入、輸出以及操作網路與管理檔案系統等事務。同時,它也負責對計算機系統中各類軟體資源的管理。例如各類應用軟體的安裝、設定執行環境等。
主流作業系統介紹
- windows 懂得都懂。是目前生態最好,使用範圍最廣的作業系統。優點在與生態好,使用較為自由,支援軟體多(盜版軟體方便安裝)使用者介面較為友好。缺點在於:系統bug多,穩定性差;系統許可權設定不合理,容易導致軟體對系統的篡改;系統資源分配不合理,導致系統不當使用易卡頓,成了流氓軟體的滋生養蠱之地(因此把你哪什麼360,魯大師,聯想電腦管家,xxx極速瀏覽器,xxx應用市場,都TM給我解除安裝了)。windows 一般適合普通使用者使用,因為一般搭載windows的電腦往往經濟實惠,且由於系統的易用性較好,因此不需要太多電腦知識即可掌控。
- Mac 蘋果系統。是目前效率最好,易用性最好(當然看你有沒有錢)穩定性較高(咋都高於windows)資源分配最好(可以看看蘋果電腦的續航)的作業系統。因此一般集中於需要較大計算的高階應用上(如影像剪輯和特效製作)和追求穩定性和易於性的普通使用者(需要人民幣)上。其缺點就是:貴,貴,貴。而且二次開發性差(難裝盜版軟體)。而且侷限於特定硬體,不適合用於部署嵌入式系統。
- Linux(ubuntu)Linux系統是開源的作業系統。由於其出色的穩定性和安全性,往往是大型伺服器的選擇。linux由於其開源的特性,很多愛好者將其修改並建立自己的發行版(ubuntu 就是其中之一)以滿足不同的需求(比如centos在伺服器方面進行了最佳化,常用於做網路伺服器;ubuntu在嵌入式機器人控制支援較好,也在易用性進行了最佳化,因此適合於機器人應用,和日常使用)其主要優點是:系統輕量,執行效率高,速度快,對硬體要求很低;系統穩定性高,不易崩潰;開發工具齊全(各種包管理器很好用);正確使用能發揮很好的效能,因此常用於嵌入式系統。缺點便是:使用困難(命令列操作),常用工具缺乏(office 等軟體),入門門檻高。
綜上所述:我們選擇ubuntu作為作業系統設計機器人
1.2. Linux 簡介
上述完備,不再贅述,詳細可以百度百科。
1.3. Ubuntu 簡介
上述完備,不再贅述,詳細可以百度百科。
1.4. Ubuntu 版本說明
我們目前使用 22.04 而不是 24.04 因此不要安裝24.04版本
- 22.04 是較新的版本且在生命週期內。網上資料較多,因此
2. Ubuntu 的安裝
2.1. 主推:基於wsl2 的 Ubuntu 系統安裝
2.1.1. wsl2 簡介
為什麼是wsl2?
wsl(適用於linux的windows子系統)是一種特殊的虛擬機器。它和windows系統相容性極好,能很好的利用windows主機的硬體資源,能獲得較好的排程。
- 使用虛擬機器是一種簡便的,安全的,在windows上安裝linux系統的方法,主流的虛擬機器軟體是VMware。然而,由於虛擬機器搭建的是一個完整的虛擬linux系統,和作業系統相容性不良,而且無法使用計算機原有硬體,只能使用虛擬化硬體。因此執行速度慢,易崩潰,耗記憶體,吃cpu和儲存空間。在學習時期可以使用,然而在開發時期就捉襟見肘了。
- 使用雙系統是一種高效的,和硬體相容性最好的linux系統安裝方式,本質上是在硬碟中安裝兩個系統,使的windows在電腦中共存。它能夠很好利用計算機硬體,如你的nvidia,也是這三種方式中執行速度最快的一種。然而由於雙系統的安裝需要較為豐富的系統裝機經驗(否則可能導致你原先系統也無法正常執行),且安裝複雜與否,與硬體密切相關。因此,不適合於初學者進行使用。
- wsl2 具有安裝容易,與windows相容較好,clion vscode 等開發工具支援度高的有點。雖然初學期間只能透過命令進行操作,無法使用圖形介面(後期可以透過命令列安裝),容易勸退,但一旦克服這點,就非常適合進行開發。因此本培訓主要講解wsl的安裝
2.1.2. wsl2 上
ubuntu
注意:此處安裝 ubuntu 22.04 LTS 而不是 24.04 版本,我們暫時不考慮更新版本。因為新版本是24年釋出的,較新,資源較少,不適合初學,也不適合穩定應用程式的開發。
- 開啟你的 wsl2 服務和虛擬機器平臺服務
- 在 windows 微軟應用商店中搜尋 ubuntu 並安裝
- 安裝linux核心 (https://zhuanlan.zhihu.com/p/650240196#:~:text=本文介紹了在win10系統中,將wsl1升級到wsl2後安裝Debian時遇到的錯誤,以及解決辦法。錯誤原因是沒有安裝wsl2的核心升級包,解決方法是從微軟官網下載並安裝wsl的核心升級包。)
- 如果使用windows 家庭版,可能需要手動開啟hyper -v
- 輸入使用者名稱密碼進行賬號設定(注意:Linux 系統輸入密碼都是不顯示輸入值的,因此會讓人以為沒有成功輸入)
詳細參照:https://blog.csdn.net/weixin_44301630/article/details/122390018
2.2. 基於 VMware 虛擬機器的 Ubuntu 環境搭建
不寫詳細文案,只做演示。詳情請見影片回放
參考部落格:VMware 安裝配置 Ubuntu(最新版、超詳細)_vmware-workstation-full-17.5.1-23298084.exe-CSDN部落格 (注意VMware現不支援官網下載安裝包,下載試用版安裝包請參考這篇部落格:2024.6最新詳細的vmware17.5.2的下載及安裝教程_vmware workstation 17.5.2-CSDN部落格)
2.3. Ubuntu 與 windows 雙系統的配置簡介
不寫詳細文案,只做演示。詳情請見影片回放
參考部落格:Windows11 + Linux (Ubuntu22.04) 雙系統最簡安裝詳細避坑版_win11安裝linux雙系統-CSDN部落格
系統安裝分割槽參考部落格:Windows11 + Linux (Ubuntu22.04) 雙系統最簡安裝詳細避坑版_win11安裝linux雙系統-CSDN部落格
3. Ubuntu 的基本使用
3.1. 初識命令列
3.1.1. Ubuntu 命令列簡介
ubuntu是一種基於Linux核心的作業系統,因此ubuntu命令和Linux命令基本一致。
使用linux終端命令的原因: linux剛開始是沒有圖形介面的,所有的操作全靠命令完成,如磁碟操作,檔案存取,目錄操作,程序管理,檔案許可權設定等等。
Linux發行的命令有很多,但常用的只有10個左右。
3.1.2. Ubuntu 的許可權系統與 sudo
在Linux下,有普通使用者和超級管理員(root)使用者之分。對於一些系統的底層操作,需要使用到超級管理員使用者許可權。而如果直接讓普通使用者獲取root,可能會導致失誤造成系統破壞。因此,我們在使用其他指令時,使用sudo指令臨時獲得超級管理員許可權。
sudo apt install xxx
3.2. 檔案系統的基本操作
3.2.1. 目錄操作:cd,mkdir,ls
- cd :更改當前的工作空間(注意:linux所有的目錄和檔名都是大小寫敏感的>
命令 | 含義 |
---|---|
cd | 切換到當前使用者的主目錄(/home/使用者目錄) |
cd ~ | 切換到當前使用者的主目錄(/home/使用者目錄) |
cd . | 保持在當前目錄不變 |
cd … | 切換到上級目錄 |
cd - | 可以在最近兩次工作目錄之間來回切換 |
相對路徑和絕對路徑:
相對路徑:輸入前最前面無 / 或 ~ ,表示相對 當前目錄 所在的目錄位置
絕對路徑:在輸入路徑時,最前面時 / 或 ~ ,表示從根目錄或家目錄開始的具體目錄位置
- mkdir
建立一個新目錄
選項 | 含義 |
---|---|
-p | 可以遞迴建立目錄 |
新建目錄名稱 不能與當前已有的目錄或檔案 同名
- ls
list的簡寫,功能是列出目錄的內容
ls 常用選項
引數 | 含義 |
---|---|
-a | 顯示指定目錄下所有子目錄與檔案,包括隱藏檔案 |
-l | 以列表方式顯示檔案的詳細資訊 |
-h | 配合 -l 以人性化的方式顯示檔案大小 |
<注意: 以 . 開頭的檔案為隱藏檔案,需要用 -a 引數才能顯示>
3.2.2. 檔案基礎操作:cp,mv,rm
- cp
cp 命令的功能是將給出的檔案 或 目錄 複製 到另一個檔案或目錄中
選 項 | 含義 |
---|---|
-i | 覆蓋檔案前提示 |
-r | 若給出的原始檔是目錄檔案,則 cp 將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名 |
- mv
mv命令 可以移動檔案 或 目錄,也可以給 檔案或目錄 重新命名
選項 | 含義 |
---|---|
-i | 覆蓋檔案前提示 |
- rm
刪除檔案或目錄
使用 rm 命令要小心,因為檔案刪除後不能恢復
選項 | 含義 |
---|---|
-f | 強制刪除,忽略不存在的檔案,無需提示 |
-r | 遞迴地刪除目錄下的內容,刪除資料夾 時必須加此引數 |
3.2.3. 檔案的編輯
具體可參考:
https://www.cnblogs.com/bingle/p/9785621.html
- :vi編輯法:開啟終端,輸入vi test.txt 回車,按 i 進入編輯模式,輸入想要編輯的內容,然後按esc鍵退出編輯模式,輸入:wq儲存並退出。(w 報錯 q 退出 可選擇加!表示強制執行)
- :vim編輯法:與vi編輯法指令介面,不過有程式碼高亮。
3.3. Ubuntu 映象庫軟體安裝
# 首先換源
# 魚香ROS一鍵換源(初學者推薦)
wget http://fishros.com/install -O fishros && . fishros
# 手動換源(中科大源)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
# 核心指令
sudo apt update
sudo apt install xxx
3.4. Ubuntu 非映象庫軟體安裝
# 核心指令
sudo dpkg -i xxx
4. clion 與 vscode cmake 開發環境的配置 (wsl2 + windows)
-
下載破解版 clion 可參考以下教程:Clion 2024.2.2 最新破解版安裝教程(附啟用碼,至2099年~) - 犬小哈教程 (quanxiaoha.com) (注:推薦使用學生郵箱 + 正版。在 windows 上安裝)
-
下載 vscode (免費,windows 上安裝)
-
在wsl上配置 cmake 編譯環境
- 換源(選擇一種方法即可)
# 魚香ROS一鍵換源(初學者推薦) wget http://fishros.com/install -O fishros && . fishros # 手動換源(中科大源) sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list sudo apt update
b. 安裝相關依賴
sudo apt install vim cmake make -y
5. clion 與 vscode cmake 開發環境的配置 (Ubuntu 桌面)
見演示,可檢視影片回放
6. 練習作業
完成cmake環境配置,並展示完成配置的截圖(展示使用任意方式安裝好的Ubuntu系統)(下次培訓前-5號晚上)