---
# System prepended metadata

title: Terminal Commands
tags: [觀念重點區]

---

# Terminal Commands
https://blog.techbridge.cc/2017/12/23/linux-commnd-line-tutorial/

https://www.youtube.com/watch?v=42iQKuQodW4
widos記得要開bush


kyle的影片
https://www.youtube.com/watch?v=CV-ven_rxhw

## start 打開
用 start d:\檔名就可以了也就是用start 命令開啟，後面是路徑例如：start d:\boot 就可以開啟在盤的boot檔案

## /bin
二進位檔案，可以查看所有命令，ls cd之類的
這是放在/lib裡面

## user下面有個local
local裡面有放環境變數


## 查看檔案路徑
which
![](https://i.imgur.com/D4wcfEt.png)

## 特殊符號
| 管道 (pipeline)
pipeline 是 UNIX 系统，基础且重要的观念。连结上个指令的标准输出，做为下个指令的标准输入。
who | wc -l
善用这个观念，对精简 script 有相当的帮助。


< > 大於小於

* cmd > file
把cmd命令的输出重定向到文件file中。如果file已经存在，则清空原有文件，使用bash的noclobber选项可以防止复盖原有文件。
* cmd >> file
把cmd命令的输出重定向到文件file中，如果file已经存在，则把信息加在原有文件後面。
* cmd < file
使cmd命令从file读入
* cmd << text
从命令行读取输入，直到一个与text相同的行结束。除非使用引号把输入括起来，此模式将对输入内容进行shell变量替换。如果使用<<- ，则会忽略接下来输入行首的tab，结束行也可以是一堆tab再加上一个与text相同的内容，可以参考後面的例子。

## ~

~代表$HOME

移動到家目錄：~：

 `$ cd ~`
 
 ![](https://i.imgur.com/WeFElNd.png)
## cd
進入

cd -
回到上個

## ls
https://blog.gtwang.org/linux/linux-ls-command-tutorial/
查看文件內容 檔案

**不加任何參數**
直接執行 ls 帶任何參數的話，會列出目前目錄中的檔案與目錄列表。

`ls`

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

**檔案詳細資訊**
-l 參數可以顯示檔案與目錄的詳細資訊。

`ls -l`
![](https://i.imgur.com/CcgQSnQ.png)


**顯示隱藏檔案**
-a 參數可以顯示隱藏的檔案與目錄。

`ls -a`
![](https://i.imgur.com/1Dndyco.png)

**列出部分檔案**：

 // 列出為 .js 的檔案
` $ ls *.js`

**-al 是會出現詳細資訊**
最前面是顯示權限
![](https://i.imgur.com/SVWwwDg.png)
第一個

-代表text 一般檔案
d開頭代表他是 目錄

接下來代表 讀寫 執行 訪問
![](https://i.imgur.com/HUZkHPE.png)
寫縮寫就可以
-不行

## pwd：print work directory，印出目前工作目錄
 ```
$ pwd
 // /Users/happycoder/Desktop/projects/HappyCoder
```

## mkdir：make directory，創建新資料夾

 `$ mkdir examples`
## touch 創建檔案 mkdir是資料夾
 
 
## cp 複製
![](https://i.imgur.com/0kTjz1x.png)
cp 檔案 然後相對位置
## 剩下的指令
看文章

## 系統管理 權限方面
https://blog.gtwang.org/linux/sudo-su-command-tutorial-examples/

sudo：使用最高權限（superuser）執行指令，會要求輸入自己密碼，使用上必須非常小心
`$ sudo git clone xxx.py`


su：su 指令可以讓一般的 Linux 使用者輸入 root 密碼取得 root 權限，暫時取得 root 權限的使用者就如同 root 一樣可以對系統進行各種變更動作
`$ su`

kill：根據 Process ID 指定要終止程式
 `$ kill PID`
 
立即強制執行：
 `$ kill -9 PID`
 
 
killall：直接使用程式的名稱來指定要終止的程式
 `$ killall hello.py`

##  編輯文字檔案

**nano：在終端機編輯文字檔案**

編輯或是新增文字檔案：

 `$ nano README.md`
啟動編輯完後可以使用 Ctrl + X 離開，Ctrl + V 移動到上一頁，Ctrl + Y 移動到下一頁，Ctrl + W 搜尋文字內容

**vim：在終端機編輯文字檔案**

 `$ vim README.md`
啟動後，使用 i 進入編輯，esc 離開編輯模式，:q 不儲存離開，:wq 儲存離開，:q! 強制離開

## linex專屬
app-get 專屬的package 可以安裝東西
suto 權限等於root
![](https://i.imgur.com/4r9mRf8.png)


###### tags: `觀念重點區`