# Linux常用指令 Windows下安裝git時會另外安裝**bash**(預設選項會是打勾安裝), 這個bash小黑窗是讓你可以在Windows環境下也能使用linux基本指令, 另外bash內有附**vim**這個指令版的文字編輯器。 ## 快捷鍵 * `ctrl + c` - 中斷目前畫面上的操作(中斷前景程序process) * `ctrl + l` - 清畫面 * `ctrl + d` - 離開(等同輸入exit+enter) * `ctrl + z` - 將目前畫面上的操作切換到背景(不中斷操作) * 用法: [Linux 切換 process 至背景或前景作業 – Ctrl + z](https://dinos80152.wordpress.com/2015/03/04/linux-%E5%88%87%E6%8F%9B-process-%E8%87%B3%E8%83%8C%E6%99%AF%E6%88%96%E5%89%8D%E6%99%AF%E4%BD%9C%E6%A5%AD-ctrl-z/) * [Linux中ctrl-c, ctrl-z, ctrl-d 區別](https://blog.csdn.net/mylizh/article/details/38385739) ## 基本指令 | Windows | MacOS / Linux | 說明 | | -------- | -------- | -------- | | cd | cd | 切換目錄 | | cd | pwd | 取得目前所在的位置 | | dir | ls | 列出目前的檔案列表 | | mkdir | mkdir | 建立新的目錄 | | 無 | touch | 建立檔案 | | copy | cp | 複製檔案 | | move | mv | 移動檔案(也可以用來更換檔名) | | del | rm | 刪除檔案 | | cls | clear | 清除畫面上的內容 | | ipconfig | ifconfig | 查ip | * `ls` * `ls -a` - 顯示`.`開頭的檔案或資料夾,例如`.git/` * `ls -l` - 顯示檔案權限 * `ll` 是 `ls -l` 的別名 * `ls -al` - 指令可以混用 * `mv` * `mv a.htm b.htm` - mv可以這種方式來更換檔名 * `rm` * `rm -r mydir` - 刪除底下有檔案的資料夾 * `-r` - recursive 遞迴處理 * `rm -rf mydir` - 直接刪不跳訊息(-f要小心使用) * `cd` * `cd /` - 切換到系統根目錄 * `cd ~` - 切換到使用者根目錄 ## find 搜尋檔案 在`/home`目錄搜尋`gtwang.txt`,且不分大小寫 ```shell= find /home -iname gtwang.txt ``` * [Unix/Linux 的 find 指令使用教學、技巧與範例整理](https://blog.gtwang.org/linux/unix-linux-find-command-examples/) ## vi / vim : 指令介面的文字編輯器 **vi**是所有 UNIX, Linux 系列的系統都會預設安裝的指令介面的文字編輯器 **vim**是他的強化版,但不一定是系統預設安裝,另外vim有出視窗版的文字編輯器(windows也可用) 這邊主要是講指令介面模式 * 模式切換 * `ESC` - Command mode * `Insert` - Insert mode * insert mode - 插入模式 (通常是用這個) * replace mode - 取代模式 ### Command mode * 基本 * `:wq` - 寫入/存檔並離開 * `:q` - 離開 * `:q!` - 強制離開不存檔 * `:w` - 寫入/存檔 * `/` - 搜尋 * `:set` * `:set fileencoding=utf-8` - 強制使用utf-8碼格式 * `:set number` - 顯示行數 * `:set number!` - 關閉行數 ## Service 列出運行中的服務 ```shell= service --status-all ``` 狀態 ```shell= service nginx status ``` 啟動/停止/重啟 ```shell= service mysql start service mysql stop service mysql restart ``` * [How to start, stop, and restart MySQL database server?](https://tableplus.io/blog/2018/10/how-to-start-stop-restart-mysql-server.html) * [Red Hat / CentOS Check and List Running Services Linux Command](https://www.cyberciti.biz/faq/check-running-services-in-rhel-redhat-fedora-centoslinux/) ## 參考資料 * [Git 教學:終端機及常用指令介紹](https://gitbook.tw/chapters/command-line/command-line.html) * [VI (VIM) FOR WINDOWS USERS](https://cognitivewaves.wordpress.com/vi-editor/) * [Linux 的 touch 指令用法教學與範例](https://blog.gtwang.org/linux/linux-touch-command-tutorial-examples/) * [Linux ls和ll命令](https://blog.csdn.net/cgzhello1/article/details/7839534) ###### tags: `linux`