關於 Ubnutu Linux 終端的必知必會的 19 件超簡單的事情
你看到的「 終端 」只是 各種終端應用程序 中的一個。畢竟終端只是一個 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 中你聽到最多的兩個術語是目錄和文件。
你可能知道什麼是文件,但你可能會對「 目錄 」這個術語感到困惑。目錄就是「 文件夾 」。它把文件和文件夾放在裡面。
你可以進入目錄,但你不能進入文件。當然,你可以讀取文件。
你可以用「文件夾」這個詞來表示目錄,應該沒有問題。然而,最好使用「目錄」,因為你會在各種教程、文件等中看到引用這個詞。你甚至會發現像 rmdir
、mkdir
這樣的命令,暗示它們是處理目錄的。
補充說明:在 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
,表明你想看行數,而不是行號。
在命令文檔中,如果你看到方括弧([]
)之間有什麼東西,它表示括弧中的內容是可選的。
同樣地,「參數」也沒有標準化。有些命令希望用文件名作為參數,有些則希望用目錄名或正則表達式。
8、獲得幫助
當你開始使用命令時,你可能會記住一些經常使用的命令的選項,但你根本不可能記住所有命令的所有選項。
為什麼呢?因為一條命令可能有十多個或二十多個選項。
那麼,當你無法記住所有的選項時,你該怎麼辦呢?你需要「幫助」。我所說的幫助,並不是指在 Linux 論壇 上提問。我指的是使用命令的幫助選項。
每個標準的 Linux 命令都有一個快速幫助頁面,可以用 -h
或 —help
來訪問。
命令名 -h
它可以讓你快速了解命令的語法、常用選項及其含義,在某些情況下還有命令的例子。
如果你需要更多的幫助,你可以參考 手冊頁,即命令的手冊。
man 命令名
它涉及到所有的細節,閱讀和理解起來可能會讓人難以承受。另外,你也可以在網上搜索 「Linux 中 xyz 命令的例子」。
9、Linux 是區分大小寫的
Linux 是區分大小寫的。你在終端中輸入的所有東西都是區分大小寫的。如果你不考慮這一點,你會經常遇到 「bash: command not found」 或 「file not found」 的錯誤。
在主目錄中,你的所有文件夾名稱以大寫字母開頭的。如果你要切換到 Documents
目錄,你必須把第一個字母保持為 D
,而不是 d
。
你可以有兩個分別名為 file.txt
和 File.txt
的文件,因為對於 Linux 來說,file
和 File
是不一樣的。
10、運行 Shell 腳本
你可以通過指定 Shell 來 運行一個 Shell 腳本:
bash script.sh
或者你可以像這樣執行 Shell 腳本。
./script.sh
第二種方法只有在文件有執行許可權時才會起作用。更多關於 Linux 文件許可權參考這裡。
11、使用製表符補完而不是全部輸入
Ubuntu 的終端已經預先配置了製表符補完功能。這意味著如果你開始在終端上輸入,然後點擊 tab
,它會嘗試自動完成它,或者在有多個可能的匹配時提供選項。
它既適用於命令,也適用於參數和文件名。
這可以節省大量的時間,因為你不需要把所有的東西都寫完整。
12、Ctrl+C 和 Ctrl+V 不是用來在終端複製粘貼的。
Ctrl+C
、Ctrl+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 的傳統計算時代。
所以,下次你看到像 top
或 ping
這樣的命令在持續運行,而你想恢復終端控制,只需使用這兩個鍵: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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive