一個超簡單的命令行趣味教程(上)

一个超简单的命令行趣味教程(上)

本文介紹MacOS上命令行的用法,Linux和Windows版即將上線。

簡介

大家好,我是特蕾西•奧斯本,《Hello Web Books》的作者,我的網站https://hellowebbooks.com為大家提供了輕鬆學習入門級網絡知識的視頻和書籍。

2010年我自學了編程,從此我的世界打開了另一扇門。我經歷了從使用別人的工具到自己編寫一些小程序,再到創建一個公司的歷程。我喜歡編程,感覺像是我能與電腦對話,告訴電腦去執行任務。

在學習編程的過程中,學習“命令行”是第一步。這是非常可怕的一步——沒有圖形或按鈕,只是一個空白的區域,你可以輸入命令,但誰知道後臺發生了什麼呢?

但是,當你學到一定程度並使用命令行時,你就可以使用像Python這樣的編程語言,請相信我:它並不像看起來那麼可怕。

什麼是命令行?

在計算機上我們已經習慣了用程序來做所有的事情。例如,用Finder窗口瀏覽硬盤,創建新文件和文件夾,刪除文件以及瀏覽存儲在系統中的每個文件。

一个超简单的命令行趣味教程(上)

Finder窗口,用來瀏覽硬盤上文件的用戶界面。

我們可以在命令行中做同樣的事情 —— 瀏覽系統、查看文件,更新或更改文件——只是沒有圖形界面而已(包括按鈕和下拉列表),不能點擊鼠標,必須輸入命令才能得到想要的結果。

一个超简单的命令行趣味教程(上)

Mac上的命令行,只有一個等待輸入的空白區域。

是的,有點煩人,我們必須要記住各種命令。其實不用擔心,你無需記住一切!這本小冊子會教你一些簡單的知識(最後有一個備忘單),你可以在編程過程中慢慢記住其它命令。

Unix是什麼?

你可能會注意到其它教程經常會提到“Unix”。 Unix本質上是一類操作系統,Mac和Linux是其中的一部分。很多教程都把命令行稱為“Unix命令行”,因為Mac和Linux等計算機使用同一組命令與計算機交互(所以,嘿,你在這裡學到的一切都可以在Linux上使用!)

Windows與其它操作系統稍有不同。值得慶幸的是,對於Windows用戶,有很多使用Unix命令的程序。總的來說,編程教程和工具都默認使用Unix命令,因此Windows用戶需要另外安裝程序來使用命令行。

我不打算從Unix開始講起,因為怕你被其它教程迷惑,所以在這裡給你一點點提示!

本教程有什麼不同?

我將跳過大部分技術細節,將理論概括為簡單的解釋。並不是覺得你笨才這樣做!其它許多的教程都是這麼想的:“好吧,讓我們解釋一切正在發生的事情!完整、完整、詳細、確切的工作原理!”

如果你像我一樣,當一個解釋變得過於冗長時,你就開始茫然。在這個教程裡我不想這樣做。有些閱讀本教程的人會說,“嗯,這在技術上並不完全正確......”—— 我不想在技術上完全正確。我只是為了讓你(親愛的讀者)感覺舒服。

讓我們開始吧!

可怕的空白命令行

一个超简单的命令行趣味教程(上)

你的用戶名和計算機名,然後$是你開始輸入命令的位置。

回到這個有各種功能的空白頁面!

在上面的示例中,我的用戶名是“limedaring”,計算機名為“Orion”,因此你看到的內容會有所不同,顯示的是你自己的用戶名和計算機名。

$是提示符。在大部分編程教程中你都會看到如下格式的命令:

$ 你輸入的命令

這些教程使用$符號來提醒這是你要鍵入的位置,省略了用戶名和計算機名。

列出我們當前目錄中的文件

ls

我們學習的第一個命令是ls,它是“list”(列表)的縮寫。你會注意到命令是儘可能地縮短的,在你習慣並反覆輸入這些命令時會很有用。輸入很少的字符!

鍵入ls並按Enter鍵,看看會發生什麼:

一个超简单的命令行趣味教程(上)

嘿,看起來很熟悉!打開一個新的Finder窗口,然後單擊左側邊欄中的用戶名。有相同的文件/文件夾!

命令行始終在用戶目錄中運行。就像你可以在Finder中單擊文件夾以查看文件夾中的內容一樣,你可以使用命令行瀏覽文件夾(在此我們稱為“目錄”)中的內容。

更改目錄

cd

在Finder中,我可以點擊“Music”,看看該文件夾的內容。在命令行中,我可以使用命令cd(“changedirectory”)來“打開”該目錄。

一个超简单的命令行趣味教程(上)

點擊“Music”,你可以看到文件夾中的內容。

一个超简单的命令行趣味教程(上)

我用cd命令進入了Music目錄,與Finder窗口相比,看起來有點單調。

在命令行截圖中,我進入了Music。想象一下,你進入了這個目錄。命令行會顯示當前位於Music目錄中。現在,可以使用ls查看目錄中的內容,與在Finder中看到的一樣。

看看Music文件夾中有什麼?

就是那個iTunes文件夾!

在Finder窗口中,你可以點擊並查看這些文件夾的內容。 Finder本質上是在幕後執行了cd和ls命令,並以漂亮的圖形顯示結果,而不僅僅是用文本顯示。

我們可以再次使用cd和ls命令查看iTunes文件夾中的內容:

一个超简单的命令行趣味教程(上)

等等,我們不斷進入下一級目錄,怎樣才能回到之前的位置呢?

更改目錄返回到原來的目錄

cd ..

在命令行中,我們不能通過點擊鼠標的方式去到某個地方。如何回到用戶主目錄並不是很直觀!為此,使用命令cd ..返回:

一个超简单的命令行趣味教程(上)

我們甚至可以用點和斜線組合的方式一次返回多層目錄:

一个超简单的命令行趣味教程(上)

已經返回主目錄!我習慣用ls再次查看目錄中的內容以確定當前位置。

返回太多? 用ls查看當前目錄中的內容,再用cd命令去到我們想去的位置:

一个超简单的命令行趣味教程(上)

“返回”過頭了,當前目錄包含了用戶主目錄。

一个超简单的命令行趣味教程(上)

通過cd 進入你的用戶目錄(你自己的用戶名)。

還有更好玩的!你可以將文件夾拖到命令行裡面以到達任何你想去的目錄!因為沒有gif動態圖,這個有點難以說明。你只需在你的命令行輸入cd(不要忘記cd之後的空格),然後點擊Finder中的文件夾不要鬆開,並將其拖動到命令行窗口上。計算機會將該文件夾的路徑放入命令行,很便捷!

一个超简单的命令行趣味教程(上)

將文件夾拖到命令行中需要輸入的位置,就會自動鍵入路徑!

新建、移動和刪除文件

從這開始你會覺得有趣了。我們可以使用命令行在硬盤上創建,移動和刪除文件!

創建文件

touch

用touch命令可以創建文件。在touch 命令後加上文件名及後綴就行。

讓我們創建一個新文件hello.txt。無論在哪個位置(可能在你的主目錄中),請鍵入touch hello.txt。沒有任何創建成功的消息或其它提示,因此用ls命令查看你所在目錄的內容以確認該文件已創建。

一个超简单的命令行趣味教程(上)

你可以在Finder中看到這個文件:

一个超简单的命令行趣味教程(上)

也許我們不希望這個文件出現在主目錄中。不用在Finder中單擊/拖動它,可以用命令行將其移動到另一個目錄。

移動文件

mv

移動文件的命令是mv("move"的縮寫),看起來很直觀。我們還需要在命令行添加一些其它內容,以便讓計算機知道要移動的文件以及目標位置。

要將文件移動到主文件夾中的Music文件夾,我會輸入“mv 文件名 目標文件夾”—— 所以,執行mv hello.txt Music 會將hello.txt文件移動到Music文件夾中:

請注意,仍然不會有移動成功的消息或任何確認信息,因此你可以在當前目錄用ls命令確認它已消失,然後用cd命令進入目標目錄並再次使用ls確認該文件出現在這個新目錄中:

一个超简单的命令行趣味教程(上)

我們之前學過../符號用於返回目錄,也可以用於移動文件到上一級目錄:

一个超简单的命令行趣味教程(上)

下面我們學習如何通過命令行復制文件。

複製文件

cp

cp是“copy”的縮寫,這也是一個很直觀的命令!複製文件的格式為 “cp 文件名 文件副本的新名稱”。因此要複製hello.txt這個文件並命名為goodbye.txt, 需要在命令行執行以下命令:cp hello.txt goodbye.txt

一个超简单的命令行趣味教程(上)

記住,通常情況下沒有任何提示表示運行成功! 運行ls命令檢查新文件是否出現。

(僅供參考:如果你想複製目錄而不是個別文件,請耐心一點,稍後就會講到這個問題!)

新建兩個空文件是不是有點傻?我們來學習如何刪除文件。

刪除文件

rm

rm是"remove"的縮寫,執行這個命令要相當小心。當你使用命令行刪除文件時,沒有相應的垃圾箱或回收站,你不能還原意外的刪除。文件消失了。

(像git這樣能跟蹤文件變化的版本控制系統很好用。強烈建議你在所有編程項目中使用git,以便保存更新並在需要時從備份中恢復。敬請期待git使用指南!)

因為goodbye.txt只是一個副本(而且還是空的),沒有什麼用處,我們現在要把它刪除,格式為”rm 文件名”(這裡是rm goodbye.txt):

一个超简单的命令行趣味教程(上)

同樣沒有刪除成功的提示,所以要檢查文件goodbye.txt是否消失。

但是敲命令好累啊!

之前我一直讓你從鍵盤輸入所有內容(對不起)。輸入命令時,你可以用命令自動補全方法及其它工具來節省時間(更重要的是能防止輸入錯誤。)

按Tab鍵自動補全命令

當你輸入的命令是對文件進行操作時(例如將文件從當前目錄移動到另一個目錄中),命令行可以自動補全文件名。

嘗試使用mv移動文件。記住,完整命令是“mv 文件名 目標目錄”,mv之後的這兩串字符都可以自動補全。

如果它沒有自動補全(如果計算機的揚聲器打開就會發出令人沮喪的“嘟嘟”音),這意味著自動補全功能沒有發現以你輸入字母開頭的文件名或目錄,所以不能找到你指定的文件或位置。

當你處理長文件名時,這非常方便!輸入一個字符,按Tab鍵自動補全命令將成為你的第二個習慣。

(注意:當你輸入一個字符並按下Tab鍵自動補全時,你只聽到了“嘟”一聲而沒有自動補全。這通常意味著有多個文件與你輸入的字符匹配,所以你需要多鍵入一些字符,直到你有足夠的字符匹配你正在尋找的確切文件!)

按向上方向鍵獲取之前用過的命令

如果你發現在重複輸入同樣的命令(或者重複運行你編寫的腳本),按向上方向鍵就會獲得之前輸入過的命令!在找到要重新運行的命令後按下“Enter”鍵就開始運行。非常方便。

未完,請接下篇。

英文原文:https://hellowebbooks.com/learn-command-line/#hey-friends
譯者:錢利鵬


分享到:


相關文章: