{%hackmd BJrTq20hE %}
##### ```tags : Linux, Ubuntu```
# Linux
## :penguin: Linux
### 軟、硬、韌體
我們都知道電腦是由許多硬體、韌體、軟體所組成
以機器人為例的話,<font color="FF8800">硬體便是機構、電路等等</font>,<font color="DD5566">韌體則是馬達控制、機構控制等等</font>,<font color="AAFF00">軟體則是路徑規劃、定位系統等等</font>
- 硬體 ( hardware ) 便是 CPU,、記憶體、硬碟等等實際能夠摸到的東西
- 軟體 ( software ) 則是運行在硬體中,為使用者提供各種服務
- 韌體 ( firmware ) 則是介於硬體與軟體間的,用於 **驅動硬體的軟體**
### 什麼是作業系統
> 作業系統 Operating System ( OS )
- 平常使用電腦時,我們沒有寫任何程式,那為何還能夠使用這些圖形化介面 ?
最重要的原因就是有 **作業系統** 存在,可以將作業系統分為軟體的一種,它負責許多 **管理** 的工作,像是:file management, memory management, process management ,也負責許多輸出輸入的處理,以及各種擴增的裝置,像是:螢幕、鍵盤、滑鼠等等,我們可以將作業系統想像成 low-level software ,負責執行電腦的日常工作
- 常見的作業系統
- Windows
- 由微軟 Microsoft 所開發,相當普遍的付費作業系統
- macOS
- 由蘋果 Apple 所開發,運行於 mac 的付費作業系統
- Linux
- 開源作業系統,多數版本皆為免費
### Linux 作業系統
- 開源
開放程式碼的意思,Linux 為開源軟體,也就是說大家都能在網路上找到它每一行程式碼
- Why Linux
免費的開源軟體
穩定
安全性
**要用 ROS**
- 只有核心 ( kernal ) 的作業系統 ?
實際上,**Linux** 只包含了 kernal 的部分,也就是管理 CPU、記憶體等等各種裝置的核心而已,只有 Linux kernal 的話,不僅沒有桌面環境,甚至連開機啟動程式 ( bootloader ),背景服務 ( Daemons ) 都無法使用
<font color="FFFF00">因此才會有許多人將各種需要用到的東西整合起來,有了各式各樣的 Linux 發行版本</font>

- 發行版本 ubuntu 20.04 LTS
目前我們所使用的版本為 ubuntu 20.04 LTS,於 2020 年 4 月發行的長期支援版本,目前仍持續更新維護,於 2025 年 4 月到期
### Linux 基本指令與操作
- 開啟終端機
```
Ctrl+Alt+t
```
- 關閉終端機
```
Ctrl+d
```
```bash=1
$ # or
$ exit
```
- Change directory
```bash=1
$ cd [DIRECTORY]
$
$ # Go to root directory
$ cd /
$
$ # Go to home directory
$ cd ~
$ # Equal to
$ cd /home/[USER NAME]
```
- List
```bash=1
$ ls
$ ls -la
```
- Print working directory
```bash=1
$ pwd
```
- Touch
```bash=1
$ touch [FILE NAME]
```
- Make directory
```bash=1
$ mkdir [DIRECTORY NAME]
```
- Move
```bash=1
$ mv [ORIGINAL FILE] [DESTINATION FILE]
```
- Remove
```bash=1
$ rm [FILE NAME]
$ rmdir [DIRECTORY NAME]
$ rm -rf [FILE / DIRECTORY NAME]
```
- Find
```bash=1
$ find / -name [FILE NAME]
$ find ~/ -name [FILe NAME]
```
- Copy
```bash=1
$ cp [FILE to COPY] [COPY TO WHERE]
```
---
{"metaMigratedAt":"2023-06-17T19:42:34.251Z","metaMigratedFrom":"YAML","title":"Linux","breaks":true,"contributors":"[{\"id\":\"6b11ffec-88de-4f3e-adea-3f15e8ba37a3\",\"add\":2244,\"del\":180}]"}