---
tags: 教學, 教學1, AUV
---
:::info
https://hackmd.io/@NCTU-auv/rkxC_VHj8
:::
# Ubuntu基礎指令
## 開啟terminal
1. 所有app
2. 搜尋```terminal```
3. 執行
4. 可以嵌入到快捷
## 基本指令
```
$ <指令明稱> -<簡寫參數> --<全稱參數>
```
### ls : list,查看檔案及子目錄
- ```$ ls [參數] [路徑]```
- 常用參數
- ```a``` : all, 顯示所有檔案集目錄,包括隱藏檔案目錄
- ```l``` : long, 顯示檔案的完整資訊
### cd : change directory,移動進入資料夾
- ```$ cd 路徑```
### pwd : print work directory,印出目前工作目錄
- ```$ pwd```
### mkdir : make directory,創建新資料夾
- ```$ mkdir <資料夾路徑>```
### rmdir : remove directory,刪除資料夾
- ```$ rmdir <資料夾路徑>```
- 注意:此資料夾必需是空的資料夾
### cp : copy,複製檔案或是資料夾
- ```$ cp [參數] <要複製的檔案路徑>... <目標資料夾路徑>```
- 常用參數
- ```r``` : 遞迴,複製整個資料夾的時候需要用
- ```v``` : 顯示已複製的檔案
- ```i``` : 若目標檔已經存在時,在覆蓋時會先詢問
- ```f``` : 強制執行
- 其他詳細說明: [鳥哥](http://linux.vbird.org/linux_basic/0220filemanager.php#cp)
### mv : move,移動檔案或是重新命名檔案
- 移動 : ```$ mv [參數] <要複製的檔案路徑>... <目標資料夾路徑>```
- 重新命名 : ```$ mv [參數] <原檔名> <新檔名>```
- 常用參數
- ```v``` : 顯示已複製的檔案
- ```i``` : 若目標檔已經存在時,在覆蓋時會先詢問
- 其他詳細說明: [鳥哥](http://linux.vbird.org/linux_basic/0220filemanager.php#mv)
### rm : remove,刪除檔案
- ```$ cp [參數] <要複製的檔案路徑>... <目標資料夾路徑>```
- 注意! **一但用rm刪除的檔案,就幾乎無法復原,垃圾桶也不會有**
- 常用參數
- ```r``` : 遞迴,刪除整個資料夾的時候需要用
- ```v``` : 顯示已移除的檔案
- ```i``` : 準備刪除時先詢問
- ```f``` : 強制執行
- 其他詳細說明: [鳥哥](http://linux.vbird.org/linux_basic/0220filemanager.php#rm)
### man : manual,說明書
- ```$ man <指令名稱>```
- 按```q```離開
### cat : 將文件內容印在終端機上
- ```$ cat <文件名稱>...```
### more : 一次只顯示一個螢幕輸出的資料
- ```$ more <文件名稱>...```
### sudo : 以系統管理員權限執行後面的指令,第一次使用會需要打密碼
- ```$ sudo ...```
### apt-get : 套件管理工具
- 更新套件資料庫列表 :```sudo apt-get update```
- 升級套件並下載安裝套件 : ```sudo apt-get upgrade```
- 安裝套件 : ```$ sudo apt-get install <套件名>```
- 移除套件 : ```$ sudo apt-get remove <套件名>```
#### 參考資料: [TechBridge 技術共筆部落格](https://blog.techbridge.cc/2017/12/23/linux-commnd-line-tutorial/)
## 路徑
#### 相對路徑 : 以執行指令當下的目錄為出發點
```catkin/bin```
```../../pidcal/bin```
#### 絕對路徑 : 以```/```開頭
```/dev/vedio0```
```~/work```
## 萬用字符
- ```*``` : 代表0到無窮多個任意字元
- ```*.jpg``` : 所有的.jpg檔```cat.jpg```, ```.jpg```
- ```*pic*``` : 所有包含pic的檔案
- ```?``` : 代表1個任意字元
- ```???``` : 檔名有三個字的檔案 ```123```
- ```*```和```?```可以混合使用,而且可以用於資料夾上
## 檔案權限
- 參考 : [鳥哥](http://linux.vbird.org/linux_basic/0210filepermission.php)

### ```chmod```指令 : 用來改變檔案權限
- 用3個2進位數字表示
- ```$ chmod 744 test.py```
- 用```+```, ```-```配上```r```, ```w```, ```x```
- ```$ chmod +x test.py```
## 練習
#### 準備
1. 看看有無```git```指令,如果沒有,用```apt```安裝git
2. 用```$ git clone https://github.com/EricPwg/LinuxEx```下載練習文件
#### 練習一
- 把資料夾```2```中的文件,依照```a, b, c```分成三個資料夾
#### 練習二
- 將```sample```改成可執行檔,並執行