Linux中國

關於 Ubnutu Linux 終端的必知必會的 19 件超簡單的事情

你看到的「 終端 terminal 」只是 各種終端應用程序 中的一個。畢竟終端只是一個 GUI 工具,它可以讓你進入一個可以運行命令的 Shell 。

不同的終端應用程序(正確地應該被稱為「 終端模擬器」)看起來有些稍微不同的功能和特點(如不同的鍵盤快捷鍵、顏色組合、字體等)。

本文特別關注 Ubuntu 的默認終端,它是 「GNOME 終端」的一個實現。

1、用鍵盤快捷方式打開終端

你可以 在 Ubuntu 中打開終端,在系統菜單中尋找到它。然而,我最喜歡的方式是使用 Ubuntu 中的鍵盤快捷鍵Ctrl+Alt+T

2、終端、Shell、提示符和命令行

在你看其他內容之前,你應該知道這些不同術語之間的區別,這些術語經常被(不正確地)互換使用。

終端、提示符和命令

「終端」是圖形化的應用程序,默認情況下運行 Shell。

Shell 很難與終端分開進行可視化。終端運行著一個 Shell,在 Ubuntu 中通常默認為 Bash shell。和終端一樣,也有各種 Shell。Bash 是其中最受歡迎的,也是大多數 Linux 發行版上的默認 Shell。

你輸入的命令是由 Shell 解釋的。通常人們認為他們在終端看到的屏幕就是 Shell。這適合理解這個概念。

「提示符」是你在輸入命令的空格前看到的東西。對於提示符沒有固定的標準。在一些舊的終端中,只是在你可以輸入命令的地方有一個閃爍的游標而已。在 Ubuntu 終端中,提示符給了你一些信息,你會在本文後面的章節中看到這些信息的細節。

「命令行」不是 Linux 特有的東西。很多操作系統都有一個命令行界面。許多編程語言也都有命令行界面。它是一個術語,用來指你可以運行和執行命令的界面。

Luke Smith 的 這個視頻 用例子詳細解釋了它。言歸正傳,我在這裡就不多說了。

3、了解提示符

你現在已經知道了。你在輸入命令的空格前看到的東西叫做「提示符」。它是可配置的,在不同的發行版、終端應用程序和 Shell 中提示符看起來是不同的。

Ubuntu 終端對提示符進行了配置,讓你看到一些東西。你可以一目了然地得到以下信息:

  • 用戶名
  • 主機名(計算機的名稱)
  • 當前工作目錄

還有一些你可能想知道的慣例。

提示符中的冒號(:)是一個分隔符,常用來區分主機名和當前位置。

波浪號(~)表示當前用戶的主目錄。

對於普通用戶,提示符以美元($)符號結束。對於 root 用戶來說,它以英鎊或哈希(#)符號結束。因此有一個笑話說,英鎊比美元強。

你是否注意到,當我切換到 root 用戶時,命令提示符看起來不一樣,沒有任何顏色?這又一次提醒了我,提示符不是一個標準,是要明確配置的。對於普通用戶來說,Ubuntu 對提示符的配置與 root 用戶不同。

像這樣的簡單信息間接地幫助了我們。在一個多用戶環境中,你可以很容易地弄清楚你現在使用的是哪個用戶,以及它是否是 root 用戶。其顯示的路徑位置也是有幫助的。

4、目錄和文件

在 Linux 中你聽到最多的兩個術語是目錄和文件。

你可能知道什麼是文件,但你可能會對「 目錄 directory 」這個術語感到困惑。目錄就是「 文件夾 folder 」。它把文件和文件夾放在裡面。

你可以進入目錄,但你不能進入文件。當然,你可以讀取文件。

你可以用「文件夾」這個詞來表示目錄,應該沒有問題。然而,最好使用「目錄」,因為你會在各種教程、文件等中看到引用這個詞。你甚至會發現像 rmdirmkdir 這樣的命令,暗示它們是處理目錄的。

補充說明:在 Linux 中,所有東西都是文件。甚至目錄也是一種特殊的文件,裡面有文件和目錄的地址。我已經在我的關於 硬鏈接的文章 中解釋了這一點。如果你想了解更多關於這個主題的信息,可以參考一下。

5、路徑:絕對路徑和相對路徑

Linux 中的目錄結構 類似於一棵樹的根。所有的東西都從根部開始,並從那裡向外擴散。

如果你要訪問一個文件或目錄,你需要通過提供它的「路徑」來說明如何到達它的位置。這個路徑是由目錄名和分隔符(/)組成的。如果一個路徑以 /(即根)開頭,它就是一個絕對路徑,否則就是一個相對路徑。

路徑

絕對路徑從根開始,可以很容易地從系統的任何地方引用。相對路徑則取決於你在目錄結構中的當前位置。

絕對路徑與相對路徑

如果你在 /home/abhishek 這個位置,有一個名為 scripts 的目錄,裡面有一個文件 my_script.sh,你想知道這個文件的路徑,它的絕對路徑將是:

/home/abhishek/scripts/my_script.sh

它的相對路徑將是:

scripts/my_script.sh

如果你改變所在位置,文件的絕對路徑保持不變。但是,相對路徑會改變,因為它是相對於你當前的路徑而言的。

相對路徑隨位置變化但絕對路徑保持不變的真實例子

6、 . 和 ..

在使用 Linux 終端時,你可能經常會遇到 ... 符號。

單點(.)表示當前目錄。

雙點(..)表示父目錄(比當前位置高一個目錄)。

你經常在相對路徑中使用雙點(..),或者用於改變目錄。單點(.)也用於相對路徑中,但更重要的是,你可以在指定當前位置的命令中使用它。

 . 和 .. 的使用

7、理解命令的結構

一個典型的 Linux 命令由一個命令名和選項及參數組成。

命令名 [選項] 參數

「選項」,顧名思義,是可選的。當使用時,它們可能會根據其屬性來改變輸出。

例如,cat 命令是用來查看文件的。你可以添加選項 -n,它也會顯示行數。

選項不是標準化的。通常情況下,它們是由單字母和單破折號(-)組成的。它們也可能是兩個破折號(--)和一個單詞的形式。

同樣的選項在不同的命令中可能有不同的含義。如果你在 head 命令中使用 -n,表明你想看行數,而不是行號。

同樣的選項 -n 在 cat 和 head 命令中有不同的用途

在命令文檔中,如果你看到方括弧([])之間有什麼東西,它表示括弧中的內容是可選的

同樣地,「參數」也沒有標準化。有些命令希望用文件名作為參數,有些則希望用目錄名或正則表達式。

8、獲得幫助

當你開始使用命令時,你可能會記住一些經常使用的命令的選項,但你根本不可能記住所有命令的所有選項。

為什麼呢?因為一條命令可能有十多個或二十多個選項。

那麼,當你無法記住所有的選項時,你該怎麼辦呢?你需要「幫助」。我所說的幫助,並不是指在 Linux 論壇 上提問。我指的是使用命令的幫助選項。

每個標準的 Linux 命令都有一個快速幫助頁面,可以用 -h—help 來訪問。

命令名 -h

它可以讓你快速了解命令的語法、常用選項及其含義,在某些情況下還有命令的例子。

cat 命令的幫助頁

如果你需要更多的幫助,你可以參考 手冊頁,即命令的手冊。

man 命令名

它涉及到所有的細節,閱讀和理解起來可能會讓人難以承受。另外,你也可以在網上搜索 「Linux 中 xyz 命令的例子」。

9、Linux 是區分大小寫的

Linux 是區分大小寫的。你在終端中輸入的所有東西都是區分大小寫的。如果你不考慮這一點,你會經常遇到 「bash: command not found」 或 「file not found」 的錯誤。

在主目錄中,你的所有文件夾名稱以大寫字母開頭的。如果你要切換到 Documents 目錄,你必須把第一個字母保持為 D,而不是 d

Linux 是區分大小寫的

你可以有兩個分別名為 file.txtFile.txt 的文件,因為對於 Linux 來說,fileFile 是不一樣的。

10、運行 Shell 腳本

你可以通過指定 Shell 來 運行一個 Shell 腳本

bash script.sh

或者你可以像這樣執行 Shell 腳本。

./script.sh

第二種方法只有在文件有執行許可權時才會起作用。更多關於 Linux 文件許可權參考這裡

運行bash腳本

11、使用製表符補完而不是全部輸入

Ubuntu 的終端已經預先配置了製表符補完功能。這意味著如果你開始在終端上輸入,然後點擊 tab ,它會嘗試自動完成它,或者在有多個可能的匹配時提供選項。

它既適用於命令,也適用於參數和文件名。

Tab 完成示例

這可以節省大量的時間,因為你不需要把所有的東西都寫完整。

12、Ctrl+C 和 Ctrl+V 不是用來在終端複製粘貼的。

Ctrl+CCtrl+V 可能是複製粘貼的「通用」鍵盤快捷鍵,但它在 Linux 終端中不行。

Linux 繼承了 UNIX 的很多東西,在 UNIX 中,Ctrl+C 被用來停止一個正在運行的進程。

由於 Ctrl+C 已經被用於停止一個命令或進程,所以它不能再用於複製粘貼。

13、你當然可以在終端複製粘貼

別擔心。你仍然可以 在終端中複製粘貼。同樣,複製-粘貼的鍵盤快捷鍵沒有固定的規則,因為它取決於你使用的終端程序或你的配置。

在 Ubuntu 終端中,複製的默認鍵盤快捷鍵是 Ctrl+Shift+C,粘貼則是 Ctrl+Shift+V

你可以使用 Ctrl+C 從終端外(如網頁瀏覽器)複製文本和命令,並使用 Ctrl+Shift+V 將其粘貼。同樣,你可以高亮顯示文本,用 Ctrl+Shift+C 從終端複製文本,用 Ctrl+V 粘貼到編輯器或其他應用程序。

14、避免在終端中使用 Ctrl+S

另一個初學者常犯的錯誤是使用「通用」的 Ctrl+S 鍵盤快捷鍵來保存。如果你在終端中使用 Ctrl+S,你的終端會被「凍結」。

這來自於傳統的計算機,在那裡沒有向上滾動的滾動條。因此,如果有大量的輸出行,Ctrl+S 被用來停止屏幕,以便可以閱讀屏幕上的文字。

你可以用 Ctrl+Q 來解除終端的凍結。但還是要避免在終端中使用 Ctrl+S

15、注意命令例子中的 $ 和 <>

如果你參考一些在線教程或文檔,你會看到一些命令例子中的文本在 <> 內。這表明你需要用一個合適的值來替換與 <> 一起的內容。

例如,如果你看到一個這樣的命令:

grep -i <搜索內容> <文件名>

你應該把 <搜索內容><文件名> 換成各自的實際值。(LCTT 譯註:不要輸入 <>

這表明該命令只是一個例子,你必須用實際值來完成它。

這裡需要注意的另一件事是,有些教程顯示的命令例子是以 $ 開頭的,比如這樣:

命令開頭的美元符號

這是表明它們是命令(而不是命令輸出)的一種方式。但是,許多新的 Linux 用戶把前面的 $ 和實際的命令一起複制,當他們把它粘貼到終端時,顯然會出現錯誤。

所以,當你複製一些命令時,如果開頭有 $,就不要複製它。你也應該避免複製隨機網站的隨機命令,特別是當你不了解它的作用時。

既然你正在閱讀關於複製命令的文章,當你看到多行的命令在一起時,你應該一次複製一行,然後逐一運行。

避免將多個命令複製在一起

下一節將告訴你如何一次性運行多個命令。

16、你可以同時運行多個命令

你可以 一次運行多個命令 而不需要用戶干預。作為 Ubuntu 用戶,你可能已經在這個命令的形式中看到了它:

sudo apt update && sudo apt upgrade

在終端中,有三種不同的方法來組合命令:

; 命令 1 ; 命令 2 先運行命令 1,再運行命令 2
&& 命令 1 && 命令 2 只有命令 1 成功結束才運行命令 2
|| 命令 1 || 命令 2 只有命令 1 失敗時才運行命令 2

17、停止一個正在運行的 Linux 命令

如果一個 Linux 命令在前台運行,也就是說,它正在顯示輸出,或者說你不能輸入任何其他命令,你可以用 Ctrl+C 鍵停止它。

我以前討論過它。它來自於 UNIX 的傳統計算時代。

所以,下次你看到像 topping 這樣的命令在持續運行,而你想恢復終端控制,只需使用這兩個鍵:Ctrl+C

在 Linux 中用 Ctrl+C 停止一個正在運行的程序

18、清除終端

當我發現我的屏幕被不同類型的輸出弄得太雜亂時,我會在開始其他工作之前清除終端屏幕。這只是一種習慣,但我發現它很有幫助。

要清除終端,請使用以下命令:

clear

你也可以使用 終端快捷鍵 Ctrl+L

19、退出終端

在少數情況下,我看到有人關閉終端程序來退出會話。你可以這樣做,但退出終端的正確方法是使用退出命令:

exit

你也可以使用 Ubuntu 終端的鍵盤快捷鍵 Ctrl+D

總結

即使你對終端完全陌生,你也可以在終端中做很多額外的事情。你可以:

如果你想了解更多,看看這些 Linux 命令技巧,可以像專家一樣使用終端

說實話,要談的東西太多了。很難確定哪些應該被認為是絕對的基礎知識,哪些應該被排除在外。例如,我想避免包括關於路徑的信息,因為它需要詳細的解釋,但在一個地方講得太詳細可能會讓人不知所措。

我已經過了在終端中的小東西曾經讓我困惑的階段。如果你是 Linux 終端的新手,或者你還記得你最初使用 Linux 時的掙扎,請隨時提出建議對列表進行補充。我可能會根據你的意見更新這個列表。

如果你學到了新的東西,請在評論中提及。我想看看這篇文章是否值得一讀 ?

via: https://itsfoss.com/basic-terminal-tips-ubuntu/

作者:Abhishek Prakash 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國