征服命令行

命令行(command line),也稱爲 CLI, Terminal, bash, shell……咱們中有不少人很怕使用它,但其實只要你知道一些基本的命令和概念,就沒什麼好怕的了。(文中接下來的內容,命令行統一用 CLI 稱呼)git

help.png

何時須要用到 CLI?

80 年代那種只能用命令行來控制電腦運行的時代早已成爲歷史,如今的操做系統基本都已圖形界面化,雖然有些地方仍是不可避免的要用到它。那咱們今天就來看一下,有哪些地方須要用到命令行呢?shell

  • 遠程服務(不止於 FTP 文件上傳下載)
  • 現代編程框架(如 Ruby on Rails)
  • 像 Git/Subversion 一類的版本控制系統(在沒有一個優秀的 GUI 解決方案的狀況下)

這些是最經常使用到的。不過今天的重點是初步學習。編程

開始

Mac 下可使用 Terminal.appsegmentfault

clipboard.png

Windows 下能夠按 win + R,輸入 cmd 打開命令行工具,或者使用 Git Bash瀏覽器

clipboard.png

基本的認知

CLI 無非幾個步驟:bash

  1. 輸入一個命令
  2. 添加一些參數
  3. 按回車鍵確認

大多數命令只對你當前的目錄(location)有效,所以,第一個要知道的命令就是幫助咱們找到「如今在哪裏」:app

clipboard.png

pwd 表明 __p__rint __w__orking __d__irectory:返回結果爲「顯示當前正在進行工做的目錄」。框架

cd 表明 __c__hange __d__irectory:返回結果爲「改變當前工做目錄」。下圖是進入當前目錄下的一個子目錄:less

clipboard.png

..:返回上一級目錄(當前目錄的父目錄)編輯器

clipboard.png

~ 是一種特殊的路徑符號,表明着當前用戶的「home」文件夾,故此有兩種方法能夠到你的 home 文件夾:

  1. 提供完整的路徑:

    $ cd /Users/<your-username>/projects/

    或用:

    $ cd ~/projects/
    1. 另外一個重要的命令 ls,用於列出當前目錄或指定目錄的內容:

      $ ls path/to/folder

    這個命令的兩個重要的可選參數:

    • -l:輸出一個附加信息的列表。
    • -a 標誌:把隱藏的文件(夾)也顯示出來,這個在如使用版本控制等不少狀況下都頗有用。

結合一下,你能夠在當前目錄下這樣使用:

clipboard.png

或者在別的路徑下調用:

$ ls -la path/to/folder

文件(夾)相關的命令

刪除

刪除文件:

$ rm path/to/file.ext

刪除文件夾要加上-r(recursive),這樣就會把目錄裏的全部內容都刪除:

$ rm -r path/to/folder

移動

例子:

$ mv path/to/file.ext different/path/file.ext

這個命令也能用來給文件重命名:

$ mv old-filename.ext new-filename.ext

複製

使用 cp 命令,用法同 mv

新建

使用 mkdir(make directory):

$ mkdir new-folder

輸出

命令行還能夠用來顯示文件的內容。雖然使用編輯器來執行這一任務會更優雅,但有在有些狀況下使用命令行反倒會方便一些。好比,當你只是想快速瀏覽一下,或由於是遠程服務(這樣圖形界面操做的方式行不通),使用命令行就會變得很便捷:

使用 cat 命令會輸出一個完整的文件內容

clipboard.png

headtail 命令很是類似,分別是隻顯示前 10 行、後 10 行內容。

須要注意的是,less 命令有所不一樣:它雖然也用於顯示輸出,但它能夠控制頁面流程自己,也就是它只顯示一個頁面的內容,而後只能等待下一步指示。屏幕的最後一行顯示的是當前文件名或只是一個等待接收命令的冒號 :,這時候按空格鍵將向前翻一頁,按 b 鍵將後退一頁,按 q 將退出 less 命令。

CTRL 鍵的使用

  • CTRL + A:光標移到行首
  • CTRL + E:光標移到行末
  • CTRL + C:終止當前運行的命令

TAB 鍵完成內容自動補充

輸入文件名和路徑的時候很容易出錯,這時候就須要 TAB 鍵來幫你自動完成所寫的內容。

例如當你想切換到一個別的目錄,你能夠手動輸入每個部分的路徑:

$ cd ~/design/favorite-customer/mockups/

或者使用 TAB 鍵快速完成:

clipboard.png

你輸入的字符不是每次都是明確的——由於「de」也能夠是文件夾中「development」或「dentist」,在這種狀況下 TAB 鍵不能自動補充你的輸入,但它會有一個可能選項的列表,而後自動補全一些文字讓你輸入地更明確些。

用方向鍵查看歷史命令

CLI 會像瀏覽器同樣記錄你最近的命令歷史,因此:

  • 向上鍵 翻向更早的記錄
  • 向下鍵 翻向更近期的記錄

clipboard.png

CLI 的替代品

如今有不少圖形界面工具可讓你脫離 CLI,如 FTP 的客戶端 Transmit ,版本控制器客戶端 Tower。但不能否認,CLI 在某些狀況下仍然是最好的選擇。

原文 Lose Fear of the Command Line
編譯 SegmentFault

相關文章
相關標籤/搜索