接納你電腦上最有用的工具。
你應該在電影中見到過,盡管從沒在自己電腦上調出來:一個空白屏幕,帶有一些簡單文字提示和一個光标,等着你去輸入幾個神秘的命令,就會聽你的吩咐。
這就是命令行。它是基于字符的接口,它比現在人們都熟悉的主流操作系統(包括Windows到Mac OS X和Linux)上的窗口,圖标和瓦片 tiles都要早。
命令行是一個使用你電腦基本功能的超級強大的工具。對于大多數人來說,它也是一個讓人困惑的,難以理解的,看上去無關緊要的東西。但是其實不是這樣的。
在你的命令控制下的電腦
輸入字符指令再敲下回車來讓電腦做點事情,和在移動設備的觸摸界面上滑動點擊比較,聽起來像是退了一大步。即使是剛學走路的小孩都可以用iPad,對吧?不過,如果你知道怎麼用的話,命令可以節省你的時間,減少煩惱。
如果你很認真想學習編程-或者想理解計算機技術-你完全有必要掌握命令行。
深入到命令行裡,将教會你很多關于電腦如何工作以及管理信息的。你也許會發現有些平常使用鼠标操作的功能,當改為敲一兩個命令後,實際上會更快。
更重要的是,你會更容易理解像Python那樣的編程語言和像Git那樣的軟件,需要有一點命令行基礎。在熟悉了命令行以後,你就可以打破過去阻止你學習編程的障礙了。
所以在這裡介紹一點關于命令行的快速的、基礎的指導。它主要專注于Mac OS X的類Unix環境,隻是因為這是我比較熟悉的。Linux用戶應該已經很熟悉命令行了,不過新手也許還是會覺得這些小竅門有點用。如果你用的是Chromebook,Google對如何打開它自帶的命令行工具已經給出了有用的指導,它和Mac或Linux系統有點類似。對于Windows用戶,很不幸,受限于從MS-DOS衍生出的命令語言,它和Unix隻有一點點交集,所以這篇指導對你沒什麼用;不過可以去看下dosprompt.info網站裡的資料。
如何開始
你需要做的第一件事是搞清楚如何進入命令行,通常這是通過一個叫“shell”的軟件來做的。在任意一台運行OS X的Mac上,需要啟動終端應用。你可以通過Finder來打開(它是在應用程序下的實用工具目錄裡),或者點擊屏幕右上角的放大鏡然後輸入“terminal”,然後在下拉列表裡選擇。
你進來了,但是所有你看到的隻是一個有輸入空間的空白盒子。這就是命令行!讓我們來更好地了解一下這個窗口。
輸入pwd,它的意思是打印當前工作目錄。在計算機語言裡,“打印”什麼和紙沒一點關系。它實際上隻是意味着吐點東西到屏幕上。這個命令運行的結果是讓計算機返回你當前正處在的目錄路徑。(LCTT 譯注,“打印”源于早期計算機的輸出設備不是顯示器,而是行式打印機,所以輸出就是“打印”;在後期,有了顯示器之後,在啞終端上操作遠程主機時,輸出才是“回顯 echo”)
實際上,/Users/laurenorsini是我的主目錄。高級提示:你可以使用波浪符(~)作為自己主目錄的簡寫 - 它和/Users/你的用戶名是一樣的。比如,你可以像~/Downloads這樣引用你的下載目錄。(如果你仔細看前面的命令提示,你會發現那裡有一個波浪符。這說明我當前正在自己的主目錄下。)
我們肯定不希望我們的命令行試驗把自己的主目錄弄的一團糟,所以讓我通過mkdir命令來創建一個新目錄。這和在桌面操作系統裡創建一個新目錄是一樣的。讓我們把它叫做“experiments”:
現在我們有一個新目錄了。如果使用圖形界面的話,我們可以用自己的眼睛判斷我們已經創建了一個新目錄。當然,如果我打開Finder然後進入我的主目錄(用一個小房子圖标标記的)就會看到一個叫“experiments”的目錄。我通過命令行實現的!(反過來:你可以在桌面系統裡建立一個文件夾,然後在命令行下去查看。這隻是同一套系統的兩種不同表現方式。)
現在我需要通過cd(改變路徑)命令改變路徑進入到~/experiments目錄中
我的命令提示是系統默認設定,所以它自動顯示我當前的工作目錄。但是如果你的看起來不一樣的話,這樣可以讓你确定“experiments”是當前工作目錄:再一次輸入pwd。它應該會告訴你當前工作目錄是“experiments”。
建立存檔
在寫代碼的每一天裡我都通過命令行創建和編輯文件。它比使用圖形用戶界面更快是因為我可以在編輯完後馬上就在命令行裡測試我的程序。如果我正好同時需要推送到GitHub的話,好吧,那就更方便了。
現在你有一個新目錄(也可以叫做倉庫或文件夾)在你電腦上用來折騰。讓我們從創建一個包含“你好世界”這句話的文件開始吧。有很多種方式,在這裡我用了echo命令。
哦不!我拼錯“newfile”了。這經常會碰到。讓我們用兩個步驟來改正它。首先,我将創建一個拼寫正确的文件...(LCTT 譯注:完全不必創建新文件,直接 mv 即可,相當于改名。)
然後,我講使用mv(移動)命令把拼寫錯誤的就文件替換成我的新文件。通常都是這樣,“mv 舊文件 新文件”。
關于mv要注意的:跟大多數命令一樣,它是一個容易誤導的強大命令。當我們“移動”newfil.txt到newfile.txt的時候,實際上會把第一個文件完全覆蓋到第二個文件上。這樣我寫到newfile.txt裡的内容将徹底消失,替換成我寫到newfil.txt裡的内容。
為了證明我的目錄下隻有一個文件,可以使用ls,清單命令,來獲得目錄下的所有文件清單。
看到了沒?隻有一個。然後如果我在圖形界面下看下這個目錄的話,也可以看到這個文件。
但是,它隻是個空白文本文件(LCTT 譯注,不是空白的,其内容是“Hello World”)。讓我們用文本編輯器來輸入點内容進去。在命令行下,我喜歡用nano編輯器,因為它很簡單而且幾乎在所有類型電腦上都可以使用。(LCTT 譯注,作為 Linux 黨,那肯定是要用 vi 的,不過 vi 對于初學者來說有一點點難。)
這會在你的命令行窗口中馬上打開編輯屏幕。一些基本的命令都為你列出來了。
寫下你想說的話,然後通過CTRL X退出。在它問你是否保存的時候,當然鍵入"Y"。
你也許已經猜到了,也可以在操作系統中用鼠标找到newfile.txt文件看到這些改動。這裡你可以用任意喜歡的文本編輯器打開編輯這個你創建的文件。
如果你想永遠删除這個文件,可以用rm(移除)命令:
注意一下,rm命令非常強大!在黑客論壇裡有個常用伎倆就是說服一個命令行新手輸入rm -rf /,然後他就把自己整個電腦上的所有文件都删掉了。命令裡的“/”意思是電腦的最高級根目錄-所有一切都在它之下。千萬不要輸入那行命令!(LCTT 譯注:希望你在看完這句話之前沒有真的輸入了 rm -rf / !!!)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!