Linux基礎(2) Linux 基本概念及操作

2021-07-26 08:32:37 字數 3881 閱讀 4001

linux的桌面環境

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。

而如今的windows作業系統則把圖形介面的相關操作寫入了核心,也就是說unix/linux發行版上的圖形介面與windows的圖形介面是兩個概念。

實驗樓的乙個很好的說明了這些概念之間的關係

在圖形介面下為了實現讓我們在乙個視窗中完成接受使用者輸入和顯示輸出,linux 系統還提供了乙個叫做終端模擬器的程式(terminal),下面幾個比較常見的終端模擬器,例如gnome-terminal,kconsole,xterm,rxvt,kvt,nxterm 和 eterm。

終端本質上是對應著linux上的 /dev/tty 裝置,linux的多使用者登陸就是通過不同的 /dev/tty 裝置完成的。 linux的設計哲學其中之一就是一切都是檔案,包括硬體裝置也是檔案。可以執行 cd /dev/ 命令到dev資料夾下檢視不同的裝置檔案。

linux 預設提供了 6 個純命令列介面的 「terminal」(準確的說這裡應該是 6 個 virtual consoles)來讓使用者登入,可以通過使用[ctrl]+[alt]+[f1]~[f6]進行切換。當你切換到其中乙個終端後想要切換回圖形介面,你可以按下[ctrl]+[alt]+[f7]來完成。

shell

shell是殼的意思,有殼就有核。這裡的核就是指的 unix/linux 核心。shell的主要功能是提供使用者使用的介面,接收使用者的輸入。類似於dos下的command和現在windows系統使用的cmd.exe。

shell之所以被稱之為shell是因為它隱藏了作業系統底層的細節,規範了使用者的輸入,即shell的使用按照一定的語法規則,我們可以說shell是一種程式語言。所以,通常我們提起shell,即認為它是一種使用者互動介面,同時也是一種指令碼控制語言

在 unix/linux 中比較流行的常見的 shell 有 bash,zsh,ksh,csh 等等,ubuntu 終端預設使用的是 bash,預設的桌面環境是 gnome 或者 unity(基於 gnome)

終端,shell,「tty」和控制台(console)有什麼區別?

知乎—終端,shell,「tty」和控制台(console)有什麼區別?

在計算機發展早起,terminal對應的是實體裝置(相應的還有tty—teletypewriter),shell則是執行在terminal之上的軟體。而如今,terminal也虛擬化了。有各類terminal可供選擇,如:gnome-terminal,xfce等。同樣,也有各種shell可以選擇,如:bash,zsh,ksh,csh。

用一句話概括,就是:terminal提供了輸入和輸出的可能;shell則實現了輸入和輸出,並且告訴使用者該如何輸入和輸出。

基本的command line

用快捷鍵 [ctrl]+[alt]+[t] 開啟terminal,開啟終端後會自動執行 shell 程式,然後我們就可以輸入命令讓系統來執行了。

快捷鍵

按鍵作用

tab命令補全

ctrl+c

終止當前程式(但不會退出terminal)

ctrl+d

鍵盤輸入結束或退出終端

ctrl+s

暫停當前程式,暫停後按下任意鍵恢復執行

ctrl+z

將當前程式放到後台執行,恢復到前台為命令fg

ctrl+a

將游標移至輸入行頭,相當於home鍵

ctrl+e

將游標移至輸入行末,相當於end鍵

ctrl+方向鍵

游標移動乙個單詞

alt+backspace

向前刪除乙個單詞

shift+pgup

將終端顯示向上滾動

shift+pgdn

將終端顯示向下滾動

歷史命令

方向鍵

萬用字元

萬用字元主要用於對字串進行模糊匹配。

終端裡面輸入的萬用字元是由 shell 處理的,不是由所涉及到命令語句處理的,它只會出現在命令的「引數值」裡。當 shell 在「引數值」中遇到了萬用字元時,shell 會將其當作路徑或檔名去在磁碟上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴充套件);否則就將該萬用字元作為乙個普通字元傳遞給「命令」,然後再由命令進行處理。總之,萬用字元 實際上就是一種 shell 實現的路徑擴充套件功能。

shell 常用萬用字元:

*匹配 0 或多個字元

?匹配任意乙個字元

[list]

匹配 list 中的任意單一字元

[!list]

匹配 除list 中的任意單一字元以外的字元

[c1-c2]

匹配 c1-c2 中的任意單一字元 如:[0-9] [a-z]

匹配 sring1 或 string2 (或更多)其一字串

匹配 c1-c2 中全部字元 如

萬用字元與正規表示式息息相關。可以說,linux中的萬用字元是regularexpression的超級簡化版。

獲取幫助

在 linux 環境中,如果你遇到困難,可以使用man 命令,它是manual page的縮寫。為了便於查詢,man 手冊是做了分冊(分割槽段)處理的,在research unix、bsd、os x 和 linux 中,手冊通常被分為8個區段,安排如下:

區段說明

1一般命令

2系統呼叫

3庫函式,涵蓋了c標準函式庫

4特殊檔案(通常是/dev中的裝置)和驅動程式

5檔案格式和約定

6遊戲和屏保7雜項

8系統管理命令和守護程序

所有的手冊頁遵循乙個常見的布局,其為通過簡單的 ascii 文字展示而優化,而這種情況下可能沒有任何形式的高亮或字型控制。一般包括以下部分內容:

識別符號含義

name(名稱)

該命令或函式的名稱,接著是一行簡介。

synopsis(概要)

對於命令,正式的描述它如何執行,以及需要什麼樣的命令列引數。對於函式,介紹函式所需的引數,以及哪個標頭檔案包含該函式的定義。

description(說明)

命令或函式功能的文字描述。

examples(示例)

常用的一些示例。

see also(參見)

相關命令或函式的列表。

如果man手冊中的資訊不能滿足你的要求,可以使用info命令;如果希望快速的查詢,可以使用--help引數。有關如何查詢幫助,之後的教程會更詳細的說明。

安全2 Linux基礎

ls ls a ls l l c b d link 裝置 塊 目錄 sort size time cd cd 目錄 cd 返回上一層 cat more less cat 檔案路徑 檢視檔案,全部顯示 more 檢視檔案,顯示乙個頁面,顯示百分比 less 檢視檔案,顯示乙個頁面,不顯示百分比 tai...

Linux教程 2 Linux的基本指令

什麼是linux的指令?指在linux終端 命令列 中輸入的內容就稱之為指令 乙個完整的指令的標準格式 linux通用的格式 指令主體 空格 選項 空格 操作物件 乙個指令可以包含多個選項 操作物件也可以是多個 用法 含義引數說明 ls列出當前工作目錄下的所有檔案 資料夾的名稱 ls 路徑 列出指定...

Linux 零基礎學習 (2)Linux基礎 A

2 linux作業系統下的檔案目錄結構 核心原始碼 常見的發行版本如下 十大linux伺服器發行版排行榜 更新至2016年 多使用者作業系統 指一台計算機在同一時間可以由多個使用者使用,多個使用者共同享用系統的全部硬體和軟體資源。bin usr bin 可執行二進位制檔案的目錄,如常用的命令ls t...