---
# System prepended metadata

title: 任務四、Commandline 新新手入門
tags: [Codeshiba]

---

# 任務四、Commandline 新新手入門
###### tags: `Codeshiba`
[必讀教材-Codeshiba_Command Line 常用指令介紹](https://codeshiba.teachable.com/courses/1117625/lectures/23940105)
[必讀教材-命令列怎麼下?](https://www.youtube.com/watch?v=o3g9srDJHbI&t=3s&ab_channel=%E7%A8%8B%E5%BC%8F%E6%9F%B4CodeShiba)
[擴充教材-Command Line - Terminal、基本指令介紹_by Yakim Hsu](https://yakimhsu.com/project/project_w1_CommandLine.html)
[擴充教材-Mac OS X Terminal 終端機常用語法教學](https://www.minwt.com/mac/14653.html)
[經典教材 Linuxcommand](https://linuxcommand.org/)

## 為什麼要學習Command Line?
1. command line效果會比圖形介面還要有效率，不用上網找
2. 圖形介面會改版，原有的熟悉感就會不見；文字不會

## 環境準備
terminal | 終端機
可以透過文字見面安裝軟體、創造資料夾與其他事情
Commandline是一種Shell，用來跟系統程式做溝通的

## 常用指令介紹
Commandline Cheatsheet Example:
https://www.git-tower.com/learn/cheat-sheets/cli/
https://www.git-tower.com/blog/command-line-cheat-sheet/

![](https://i.imgur.com/6cTk6G2.png)

## 常用指令範例
cd=change direction


```常用指令
cd + 資料夾名稱或檔案 | 前往指定資料夾
```
```
cd.. | 回到上一層
```
```
dir | 跑出轄下所有路徑
```

## 工具介紹

### TL;DR | 迅速查詢不認識的指令
Too Long didn't Read | 太長了不想讀
透過Bash直接安裝即可，輸入:
```
sudo apt install tldr
```
![](https://i.imgur.com/4M3DV6W.png)

![](https://i.imgur.com/z8Io2iw.png)

透過cmder安裝，則可直接輸入:
```
npm install -g tldr
```
![](https://i.imgur.com/CMIaYUh.png)
![](https://i.imgur.com/fYofNDL.png)



### Cmder
可以讓Mac Linux和Windows指令互通的工具
**超好用der**
https://cmder.net/

### Node.js
```
npm -v
```
可以得知版本資訊為6.14.8

## hexo

https://hexo.io/zh-tw/

npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

## Commandline 的基本介紹
GUI Graphical User Interface 圖形化介面
CLI Command line Interface

### 常用指令
```
pwd
```
代表顯示現有位置
![](https://i.imgur.com/BJjtlE8.png)


```
ls
```
列出現在資料夾的東西

![](https://i.imgur.com/sGDLR0G.png)

```
touch helloworld.txt
```
新增一個檔案

![](https://i.imgur.com/hX8fspG.png)

```
ls -l
```
可以看得到檔案名稱和擁有者和建立時間
![](https://i.imgur.com/JnTKXO6.png)

```
ls -a
```
可以看到所有的隱藏檔案
![](https://i.imgur.com/glQsGV8.png)

```
ls--help
```
可以列出所有說明指令
![](https://i.imgur.com/UbHcZ9T.png)



```
help
```
看到基本的協助訊息
![](https://i.imgur.com/x5mdz5h.png)

```
q
```
退出特定頁面或程序
**好像不能用?**

```
方向鍵上下
```
可以讀取填寫過的指令

```
vim 檔案名稱
```
讀取並開始編輯檔案
![](https://i.imgur.com/6MBgfWt.png)


```
cat 檔案名稱
```
顯示檔案內容
![](https://i.imgur.com/yNETbnT.png)




## 如何離開/移動到另一個地方
![](https://i.imgur.com/78aBKne.png)

```
cd ..
```
回去上一個level
![](https://i.imgur.com/Tgu4vCT.png)

```
cd../..
```
回去上兩個level
![](https://i.imgur.com/n6FVU1z.png)


```
cd ~
```

```
cd
```

```
cd -
```
![](https://i.imgur.com/diPcwYt.png)

回到上一個路徑
**(但我不能用><!!)**

### 通常會使用user的資料夾來當作開發的資料夾，以免汙染到其他的資料夾

## 如何新增一個資料夾

![](https://i.imgur.com/tRCgyrD.png)

```
mkdir 檔案名稱
```
新增一個資料夾
![](https://i.imgur.com/7NLs0lp.png)


## 刪除一個資料夾
![](https://i.imgur.com/rPyw57L.png)

```
rmdir 資料夾名稱
```
刪除一個資料夾(名稱為-p的資料夾)
![](https://i.imgur.com/ooIF7GN.png)


## 刪除一個檔案
![](https://i.imgur.com/7wFjq9S.png)

```
rm- rf
```
強制刪除(連帶下屬所有檔案都會被刪除)
![](https://i.imgur.com/A19octv.png)


## 複製檔案
![](https://i.imgur.com/8RbPznh.png)

```
cp 欲複製的檔案名稱 創立的檔案名稱
```
複製並設定檔案名稱
![](https://i.imgur.com/AMJYqQj.png)

## 移動檔案
![](https://i.imgur.com/s2ppRhF.png)

```
mv 欲移動的檔案名稱 目的地
```
移動特定檔案至目的地
![](https://i.imgur.com/naaQq8B.png)

```
mv 欲更改名稱之檔案 改名後的檔名
```
mv還可以用來改名稱
![](https://i.imgur.com/7y2tpwV.png)

## 讀取檔案
![](https://i.imgur.com/uPM18e1.png)

```
head 檔案名稱
```
從前面讀取約十行的資料內容
```
tail 檔案名稱
```
從後面讀取約十行的資料內容

![](https://i.imgur.com/vwQ87dp.png)

```
tail -f
```
如果資料會持續更新，則可透過該指令持續追蹤最新新增的資料


## 額外指令
![](https://i.imgur.com/xIs3tlj.png)

![](https://i.imgur.com/D7nrRk9.png)

```
date
```
顯示日期
![](https://i.imgur.com/vSlrs8O.png)

```
who
```
顯示使用者名稱，但好像沒用阿!!

![](https://i.imgur.com/CeirHMZ.png)

```
whoami
```
顯示我的名字
![](https://i.imgur.com/5IixtN7.png)

```
clear
```
可以清除cmd螢幕上的所有資訊
![](https://i.imgur.com/5FHDifv.png)

```
history
```
可以看我輸入過的所有指令
![](https://i.imgur.com/yJB0a3S.png)


```
!!
```
可以再進行一次上個指令
![](https://i.imgur.com/fEXyBTg.png)

```
exit
```
終止cmd，直接跳出


