linux——基本操作
1.Linux 桌面環境介紹
相對於現在的 Windows 系統,UNIX/Linux 本身是沒有圖形界面的,我們通常在 UNIX/Linux 發行版上看到的圖形界面實際都只是運行在 Linux 系統之上的一套軟件,類似 Windows95 之前的 Windows 的圖形界面實則也只是運行在 DOS 環境的一套軟件。而 Linux 上的這套軟件以前是 XFree86,現在則是 xorg(X.Org),而這套軟件又是通過 X 窗口系統(X Window System,也常被稱為 X11 或 X)實現的,X 本身只是工具包及架構協議,而 xorg 便是 X 架構規範的一個實現體,也就是說它是實現了 X 協議規範的一個提供圖形界面服務的服務器,就像實現了 http 協議提供 web 服務的 Apache 。如果只有服務器也是不能實現一個完整的桌面環境的,當然還需要一個客戶端,我們稱為 X Client,像如下幾個大家熟知也最流行的實現了客戶端功能的桌面環境 KDE,GNOME,XFCE,LXDE 。
這裏講這麽多,主要是為了幫助你更好地理解 Linux 的桌面環境是一個怎樣的概念,以及它跟 Windows 操作系統桌面的差異,實際它們之間是有著本質的差別的,希望清楚這些內容之後可以讓你忽略那些體驗上的差異,專心把精力放到 Linux 系統本身或者你正準備學習的某一門技術之上,這門實驗課後面的內容和實驗樓的其它課程便是為了幫助你實現以上兩個目標。
終端本質上是對應著 Linux 上的 /dev/tty 設備,Linux 的多用戶登陸就是通過不同的 /dev/tty 設備完成的,Linux 默認提供了 6 個純命令行界面的 “terminal”(準確的說這裏應該是 6 個 virtual consoles)來讓用戶登錄。在物理機系統上你可以通過使用[Ctrl]
[Alt]
+[F1]~[F6]
進行切換
通常在圖形界面中對實際體驗帶來差異的不是上述的不同發行版的各種終端模擬器,而是這個 Shell(殼)。有殼就有核,這裏的核就是指 UNIX/Linux 內核,Shell 是指“提供給使用者使用界面”的軟件(命令解析器),類似於 DOS 下的 command(命令行)和後來的 cmd.exe 。普通意義上的 Shell 就是可以接受用戶輸入命令的程序。它之所以被稱作 Shell 是因為它隱藏了操作系統底層的細節。同樣的 UNIX/Linux 下的圖形用戶界面 GNOME 和 KDE,有時也被叫做“虛擬 shell”或“圖形 shell”。
UNIX/Linux 操作系統下的 Shell 既是用戶交互的界面,也是控制系統的腳本語言。當然這一點也有別於 Windows 下的命令行,雖然該命令行也提供了很簡單的控制語句。在 Windows 操作系統下,有些用戶從來都不會直接使用 Shell,然而在 UNIX 系列操作系統下,Shell 仍然是控制系統啟動、X11 啟動和很多其它實用工具的腳本解釋程序。
在 UNIX/Linux 中比較流行的常見的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 終端默認使用的是 bash,默認的桌面環境是 GNOME 或者 Unity(基於 GNOME),但我們的環境中使用的分別是 zsh 和 xfce。
在linux中,最最重要的就是命令,這就包含了2個過程,輸入和輸出
輸入
輸入當然就是打開終端,然後按鍵盤輸入,然後按回車,輸入格式一般就是這類的
#創建一個名為 file 的文件,touch是一個命令 touch file #進入一個目錄,cd是一個命令 cd /etc/ #查看當前所在目錄 pwd
- 輸出
輸出會返回你想要的結果,比如你要看什麽文件,就會返回文件的內容。如果只是執行,執行失敗會告訴你哪裏錯了,如果施行成功那麽會沒有輸出,因為linux的哲學就是:沒有結果就是最好的結果
1) 重要快捷鍵:
真正學習命令行之前,你先要掌握幾個十分有用、必需掌握的小技巧:
[Tab]
使用Tab
鍵來進行命令補全,Tab
鍵一般是在字母Q
旁邊,這個技巧給你帶來的最大的好處就是當你忘記某個命令的全稱時可以只輸入它的開頭的一部分,然後按下Tab
鍵就可以得到提示或者幫助完成
[Ctrl+c]
想想你有沒有遇到過這種情況,當你在 Linux 命令行中無意輸入了一個不知道的命令,或者錯誤地使用了一個命令,導致在終端裏出現了你無法預料的情況,比如,屏幕上只有光標在閃爍卻無法繼續輸入命令,或者不停地輸出一大堆你不想要的結果。你想要立即停止並恢復到你可控的狀態,那該怎麽辦呢?這時候你就可以使用Ctrl+c
鍵來強行終止當前程序(你可以放心它並不會使終端退出)。
雖然這個按著很方便,但不要隨便按,因為有時候,當你看到終端沒有任何反應或提示,也不能接受你的輸入時,可能只是運行的程序需要你耐心等一下,就不要急著按Ctrl+c
了。
其他一些常用快捷鍵
按鍵 | 作用 |
---|---|
Ctrl+d |
鍵盤輸入結束或退出終端 |
Ctrl+s |
暫停當前程序,暫停後按下任意鍵恢復運行 |
Ctrl+z |
將當前程序放到後臺運行,恢復到前臺為命令fg |
Ctrl+a |
將光標移至輸入行頭,相當於Home 鍵 |
Ctrl+e |
將光標移至輸入行末,相當於End 鍵 |
Ctrl+k |
刪除從光標所在位置到行末 |
Alt+Backspace |
向前刪除一個單詞 |
Shift+PgUp |
將終端顯示向上滾動 |
Shift+PgDn |
將終端顯示向下滾動 |
2) 學會利用歷史輸入命令
很簡單,你可以使用鍵盤上的方向上鍵↑
,恢復你之前輸入過的命令,你一試便知。
3) 學會使用通配符
通配符是一種特殊語句,主要有星號(*)和問號(?),用來對字符串進行模糊匹配(比如文件名、參數名)。當查找文件夾時,可以使用它來代替一個或多個真正字符;當不知道真正字符或者懶得輸入完整名字時,常常使用通配符代替一個或多個真正字符。
終端裏面輸入的通配符是由 Shell 處理的,不是由所涉及的命令語句處理的,它只會出現在命令的“參數值”裏(它不能出現在命令名稱裏, 命令不記得,那就用Tab
補全)。當 Shell 在“參數值”中遇到了通配符時,Shell 會將其當作路徑或文件名在磁盤上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴展);否則就將該通配符作為一個普通字符傳遞給“命令”,然後再由命令進行處理。總之,通配符實際上就是一種 Shell 實現的路徑擴展功能。在通配符被處理後, Shell 會先完成該命令的重組,然後繼續處理重組後的命令,直至執行該命令。
Shell 常用通配符:
字符 | 含義 |
---|---|
* |
匹配 0 或多個字符 |
? |
匹配任意一個字符 |
[list] |
匹配 list 中的任意單一字符 |
[!list] |
匹配 除list 中的任意單一字符以外的字符 |
[c1-c2] |
匹配 c1-c2 中的任意單一字符 如:[0-9] [a-z] |
{string1,string2,...} |
匹配 string1 或 string2 (或更多)其一字符串 |
{c1..c2} |
匹配 c1-c2 中全部字符 如{1..10} |
4) 學會在命令行中獲取幫助
在 Linux 環境中,如果你遇到困難,可以使用man
命令,它是Manual pages
的縮寫。
Manual pages 是 UNIX 或類 UNIX 操作系統中在線軟件文檔的一種普遍的形式, 內容包括計算機程序(包括庫和系統調用)、正式的標準和慣例,甚至是抽象的概念。用戶可以通過執行man
命令調用手冊頁。
你可以使用如下方式來獲得某個命令的說明和使用方式的詳細介紹:
$ man <command_name>
比如你想查看 man 命令本身的使用方式,你可以輸入:
man man
通常情況下,man 手冊裏面的內容都是英文的,這就要求你有一定的英文基礎。man 手冊的內容很多,涉及了 Linux 使用過程中的方方面面。為了便於查找,man 手冊被進行了分冊(分區段)處理,在 Research UNIX、BSD、OS X 和 Linux 中,手冊通常被分為8個區段,安排如下:
區段 | 說明 |
---|---|
1 | 一般命令 |
2 | 系統調用 |
3 | 庫函數,涵蓋了C標準函數庫 |
4 | 特殊文件(通常是/dev中的設備)和驅動程序 |
5 | 文件格式和約定 |
6 | 遊戲和屏保 |
7 | 雜項 |
8 | 系統管理命令和守護進程 |
要查看相應區段的內容,就在 man 後面加上相應區段的數字即可,如:
$ man 1 ls
會顯示第一區段中的ls
命令 man 頁面。
所有的手冊頁遵循一個常見的布局,為了通過簡單的 ASCII 文本展示而被優化,而這種情況下可能沒有任何形式的高亮或字體控制。一般包括以下部分內容:
NAME(名稱)
該命令或函數的名稱,接著是一行簡介。
SYNOPSIS(概要)
對於命令,正式的描述它如何運行,以及需要什麽樣的命令行參數。對於函數,介紹函數所需的參數,以及哪個頭文件包含該函數的定義。
DESCRIPTION(說明)
命令或函數功能的文本描述。
EXAMPLES(示例)
常用的一些示例。
SEE ALSO(參見)
相關命令或函數的列表。
也可能存在其它部分內容,但這些部分沒有得到跨手冊頁的標準化。常見的例子包括:OPTIONS(選項),EXIT STATUS(退出狀態),ENVIRONMENT(環境),BUGS(程序漏洞),FILES(文件),AUTHOR(作者),REPORTING BUGS(已知漏洞),HISTORY(歷史)和 COPYRIGHT(版權)。
通常 man 手冊中的內容很多,你可能不太容易找到你想要的結果,不過幸運的是你可以在 man 中使用搜索/<你要搜索的關鍵字>
,查找完畢後你可以使用n
鍵切換到下一個關鍵字所在處,shift+n
為上一個關鍵字所在處。使用Space
(空格鍵)翻頁,Enter
(回車鍵)向下滾動一行,或者使用j
,k
(vim 編輯器的移動鍵)進行向前向後滾動一行。按下h
鍵為顯示使用幫助(因為 man 使用 less 作為閱讀器,實為less
工具的幫助),按下q
退出。
想要獲得更詳細的幫助,你還可以使用info
命令,不過通常使用man
就足夠了。如果你知道某個命令的作用,只是想快速查看一些它的某個具體參數的作用,那麽你可以使用--help
參數,大部分命令都會帶有這個參數,如:
$ ls --help
linux——基本操作