命令行基礎及基本VIM編輯器操作

Roy Kwok
8 min readMar 2, 2018

--

本文章簡單介紹命令行的基礎及基本VIM操作:

  • 相關名詞
  • 切換目錄命令
  • 查看當前目錄內的檔案命令
  • 創建及刪除檔案/檔案夾及重新命名命令
  • 基本VIM編輯器操作
  • VIM編輯器常用的文本操作

相關名詞

圖形介面(GUI)

你手上的智能電話,電腦操作系統就是使用圖形介面。八十年代由蘋果在Macintosh上率先引入。目的是讓用户使用更直觀友善的操作界面,取代命令行介面對一般用户使用不直觀,需要記憶及輸入繁瑣的命令。

命令行(CLI)

在命令行介面上,只能輸入命令,讓電腦執行。

終端(Terminal)

人與電腦交互的接口,從電腦操作系統上的終端機輸入命令,讓電腦執行。

Shell

是命令與操作系統之間的解析器,就是用户輸入命令通過 Shell 解析至操作系統,讓操作系統執行。

Bash

是Shell其中一種,有可編輯的命令行,支持上下鍵回查歷史命令,[Tab]鍵補齊以方便用户節省輸入長的命令或檔案名稱等特性。

命令行基礎(在終端機執行 run on Therminal)

注意以下事項,避免命令執行出錯或無效:

  1. 注意命令之間的空格是否漏掉
  2. 注意命令及路徑的大小寫
  3. 留意會否將多個命令寫在同一條命令中,導致無效

切換目錄

cd /

是打開路徑的命令,即按指定路徑跳到該處
e.g. cd c/Downloads/ 跳到 C 硬盤內的 Downloads 檔案夾內

cd path/ 

是在當前路徑,跳到指定的path 路徑
e.g. 當前路徑是在 KOOKDA-MacBook-Pro:desktop stevechung$ 桌面,桌面內有 'test' 檔案夾便輸入 cd test/ ,便會跳到 'test' 檔案夾內

cd ~ 

是打開作業系統用户帳號的檔案夾
e.g. 輸入 cd ~ 終端機上跳到作業系統用户帳號的檔案夾 KOOKDA-MacBook-Pro:~ stevechung$

cd ../ 

是跳到當前路徑的上一層
e.g. 當前路徑是在 /users/stevechung/desktop/test ,輸入 cd ../ 便會跳到該路徑上一層 /users/stevechung/desktop

pwd 

顯示當前位置的完整路徑
e.g. 在終端機當前位置會顯示成 KOOKDA-MacBook-Pro:desktop stevechung$ pwd ,輸入 pwd 後便會顯示當前位置的完整路徑 /users/stevechung/desktop

查看當前目錄內的檔案

ls

是查看當前路徑下所包含的檔案,但不包含隱藏檔案e.g.

KOOKDA-MacBook-Pro:~ stevechung$ ls
1060_201802 (1).pdf Safari 書籤.html
1060_201802-_1_ (1).html Typora.dmg
ls -a

是查看當前路徑下所包含的檔案,並包含隱藏檔案。e.g.

KOOKDA-MacBook-Pro:~ stevechung$ ls
1060_201802 (1).pdf Safari 書籤.html
1060_201802-_1_ (1).html Typora.dmg
.localized(隱藏檔案)
ls -al

是查看當前路徑下所包含的檔案及詳細訊息,並包含隱藏檔案。e.g.

KOOKDA-MacBook-Pro:~ stevechung$ ls
total 34952
drwx------+ 15 stevechung staff 480 2 27 09:07 .
drwxr-xr-x+ 23 stevechung staff 736 2 27 09:42 ..
-rw-r--r--@ 1 stevechung staff 10244 2 27 07:49 .DS_Store
-rw------- 1 stevechung staff 0 1 20 11:30 .localized
-rw-r--r--@ 1 stevechung staff 197731 2 23 18:59 1060_201802 (1).pdf
-rw-r--r--@ 1 stevechung staff 1360100 2 23 19:15 1060_201802-_1_ (1).html
-rw-r--r--@ 1 stevechung staff 117694 2 23 19:12 1060_201802-_1_.html
-rw-r--r--@ 1 stevechung staff 2 2 26 20:05 20180226_test.html
-rw-r--r--@ 1 stevechung staff 47575 2 23 21:48 31oU-fxutfpk4692311.png

drwx------+ 15 stevechung staff 480 2 27 09:07 . 為例子

-rw-r--r—@ 是檔案的屬性

15 是這個目錄內的檔案數目

stevechung 目錄的擁有人

staff 擁有人的羣組

480 檔案的大小,以kb作單位

2 27 09:07 檔案的創建日期及時間,分別為月,日,時間

. 檔案的名稱,如檔案名稱附有 . 是代表隱藏檔案

創建及刪除檔案/檔案夾及重新命名

創建檔案/檔案夾

touch filename.format

在當前路徑創建檔案的命令,輸入命令及檔案名稱及格式。

mkdir filename

在當前路徑創建檔案夾的命令,輸入命令及檔案夾名稱。

刪除檔案/檔案夾

rm

刪除當前路徑檔案,但如果輸入刪除包含其他檔案夾的檔案夾,會出現報錯。e.g.

KOOKDA-MacBook-Pro:ab.html stevechung$ ls
a b

如上例 檔案夾 Ab.html 包含 檔案夾 a 及 b ,直接輸入刪除 Ab.html 的話,會出現以下報錯。

KOOKDA-MacBook-Pro:downloads stevechung$ rm ab.html
rm: ab.html: is a directory
rm -rf filename

加上 -rf,便會把檔案夾內所有東西一同強制刪除而不會有警告。使用時必須小心!

rm -r filename

加上 -r,便會按檔案夾內所有東西逐一詢問你是否確認刪除

重新命名

mv oldfilename(.format) newfilename(.format)

輸入 mv 及指定原有和新檔案/檔案夾名稱及格式(如有),便可重新命名。

複製

cp example.txt example2.txt

輸入 cp 原檔案 新檔案:即將原檔案內的內容複製到新檔案 或是

輸入 cp 原檔案 原檔案:即將原檔案內的內容覆寫到另一原檔案

cp -r example example2

輸入 cp -r 原案夾a 原檔夾b:即將原檔夾a及內的所有檔案複製到原檔夾b

移動節點

mv example.txt example2.txt /mv example.txt file

輸入 mv 原檔案 新檔案:即將原檔案變成新檔案 或是

輸入 mv 原檔案 原目錄:即將原檔案搬到指定原目錄

基本VIM編輯器操作

  1. vim file.format 輸入 vim 及指定檔案,進入VIM編輯器命令模式。
  2. 進入VIM編輯器命令行模式後,會預設為一般指令模式,只能使用[上下左右鍵]去選定目標或刪除、複製、貼上內容。
  3. 如要編輯文件內容,可輸入 [i, I, o, O, a, A, r, R]其中一個字母便進入編輯模式。編輯器左下方會顯示 INSERT ,代表可以編輯。
  4. [Esc] 可退出編輯模式,回到一般指令模式。
  5. 最後可輸入 [:wq] 儲存退出或 [:q!] 不儲存強制退出VIM編輯器命令模式

VIM編輯器常用的文本操作

鍵盤輸入鍵(一般指令模式)

gg 或 H (必須大寫) :快速定位到當前段落開頭

G 或 L (皆必須大寫) :快速定位到當前段落結尾

Nyy:n 是數字。複製遊標所在的以下 n 列,如 5yy 是複製 5列

p, P:p 是把已複製的內容在遊標下一行貼上,P 是貼在遊標上一行

ndd:n 為數字。刪除遊標所在以下 n 列,如 5dd 是刪除 5 列

[Ctrl] + [f]:螢幕向下移動一頁

[Ctrl] + [b]:螢幕向上移動一頁

/查找的字串:/是查找遊標之下某個字串

?查找的字串:?是查找遊標之上某個字串

總結

這裏只顯示了一部分基本及常見的命令行基礎及VIM編輯器的基本操作,讀者想了解更多,可到谷歌大神搜索更多相關的資料。本文是小弟第一次寫有關於技術的博文,請大家多多指教。如有任何意見及交流,可在下方留言,謝謝!

如果覺得這篇文章是可以的話,請給我clap,讓我這個小白在前端學習路上給予鼓勵!

--

--

No responses yet