天天看點

深入了解Linux作業系統,這些知識點必須掌握

本文介紹的Linux作業系統是Ubuntu的服務版(也就是Server版)。該版本的作業系統沒有圖形界面,是以作業系統啟動後的界面和登陸後的界面隻有一行行的文字,我們隻能看到黑色的螢幕,具體如下。

深入了解Linux作業系統,這些知識點必須掌握

圖1 Ubuntu登陸界面

可以看到,這裡隻能看到一個一閃一閃的光标。作為使用者,我們隻能通過鍵盤輸入一些指令來控制電腦。

下面是本号專注Linux作業系統使用和原理的圈子,很多文章會收集在圈子中,大家可以加入圈子,友善學習。

登陸系統

Linux是多使用者的作業系統,這個概念有兩層含義,一方面是在作業系統中可以有多個使用者,另外一方面是可以同時有多個使用者登陸使用。這就好像我們使用的購物網站(某寶或者某東)似的,每個人都有一個賬号,而且需要我們登入到系統,才可以使用。

登入的方法也很簡單,我們隻需要輸入使用者名和密碼,然後回車即可。下面登入系統的界面:

深入了解Linux作業系統,這些知識點必須掌握

圖2 使用者名和密碼界面

如果使用者名和密碼都正确的話,那麼就成功登陸系統了。此時,作業系統會列印一些系統摘要資訊。在最下面是可以與作業系統互動的地方,這個可以互動的地方通常稱為指令提示符。本例中指令提示符主要由兩部分構成,也就是使用者名和主機名,本文都是itworld123。當然,這個與我們開始安裝的設定及登陸的具體使用者有關。

深入了解Linux作業系統,這些知識點必須掌握

圖3 登陸成果後界面

如果我們安裝系統時設定的主機名不是itworld123,那麼對應的主機名部分就會有變化。同樣,如果我們登陸的是其它使用者,那麼使用者名字元串也會有相應的變化。這個主要用于提示我們登陸作業系統資訊。

為什麼要有這些資訊?因為在一個資料中心中可能有成千上萬台伺服器,而每個伺服器有會有多個使用者。如果沒有這些必要的資訊,我們在操作的時候就不清楚自己登入在哪台伺服器上,也不清楚使用的哪個使用者,這樣會給操作帶來非常大的不便。

另外,除了直接登入系統外,還可以借助軟體實作作業系統的登入。比如SecureCRT、XShell和Putty等等,還有最近國内的一個免費工具FinalShell。下面是XShell的界面,初次登陸後的内容如下,與直接登陸内容一緻。

深入了解Linux作業系統,這些知識點必須掌握

圖4 通過XShell登陸界面

關于相關軟體的介紹本文暫時不做介紹,後續專門介紹相關的内容及原理。

大家想學習Linux的可以去qun832218493免費領取一下視訊資料(各類安裝視訊以及環境安裝都有)

深入了解Linux作業系統,這些知識點必須掌握
深入了解Linux作業系統,這些知識點必須掌握

對于自學的朋友,耗時比較久,技術棧不完善,架構不成體系,自律性差。這裡給大家分享一個免費學習視訊連結,訂閱後免費試聽點選:https://ke.qq.com/course/417774?flowToken=1017067

什麼是作業系統及Linux

雖然我們已經登入的Linux作業系統,但是我們仍然不會使用這個作業系統,基本上是一頭懵逼的狀态。

在具體使用作業系統之前,我們有必要了解一下作業系統的概念,這将有助于我們了解作業系統,并且有助于我們學習使用Linux作業系統。

作業系統是指控制和管理整個計算機系統的硬體和軟體資源,并合理地組織排程計算機工作和資源配置設定,以提供給使用者和其他軟體友善的接口和環境,它是計算機系統的最基本的系統軟體。

從對作業系統的定義中我們可以得出三點關鍵的資訊,具體如下:

1. 控制和管理計算機系統的硬體和軟體資源

作業系統實作了對硬體資源的控制和管理,這裡面主要的硬體資源是CPU(計算資源)和硬碟(存儲資源)。當然,除了上述硬體之外,還有輸入輸出硬體,比如傳統PC的滑鼠、鍵盤和顯示器,或者手機的觸摸屏。

作業系統對CPU和磁盤的管理是比較核心的内容。計算機的工作本質就是計算,而計算的輸入資料、中間資料和最終輸出資料通常需要存儲在某個地方,而這通常是硬碟。以PC機為例,如果我們想播放一個電影,那麼需要應用軟體(播放器)從硬碟讀取視訊檔案資料,經過計算後在顯示器進行呈現。而對于伺服器來說,計算仍然是核心,比如我們浏覽某電商的網站,出現在我們面前的商品資訊就是在伺服器計算後的結果。

2. 組織和排程計算機工作和資源配置設定

随着硬體技術的發展,硬體可以承擔更多的任務。比如目前很多CPU可以多大幾十個核心,也就是可以同時有幾十個程序處于運作狀态。作業系統需要實作對計算資源的排程和管理,進而實作資源的最大化利用。

3. 提供給使用者和其他軟體友善的接口和環境

這個特性對我們普通使用者最為明顯。以儲存設備為例,儲存設備是一個非常大的空間,比如1TB的硬碟有1萬億位元組,如果沒有作業系統很難對這麼大的空間進行使用。而作業系統通過其中的檔案系統簡化了對儲存設備使用的接口,使得普通使用者看到的是分級的檔案目錄樹結構。

有了對作業系統的整體性了解,下面我們介紹一下Linux作業系統中最終要的一個概念,也就是檔案系統。

Linux作業系統的檔案系統及目錄樹

在Linux作業系統中有一句名言,稱為“everything is a file.”,也就是一切皆檔案。在Linux作業系統中除了存儲資料采用檔案外,實體裝置、程序和配置等等都是以檔案的形态呈現。在Linux作業系統中所有這些内容構成一個目錄樹,而這個目錄樹的根為“/”。

如圖是一個簡化的Linux作業系統目錄樹,這裡面有目錄和檔案,其中bin、dev和home等等都是目錄。home目錄是一個比較特别的目錄,其下每個子目錄通常是以使用者名命名的,裡面存儲使用者專有的資料,比如itworld123就是該使用者的目錄。在itworld123下面有兩個檔案,xxx和yyy。這兩個檔案則是具體的檔案,該檔案假設為使用者建立的檔案,沒有具體的意義。

深入了解Linux作業系統,這些知識點必須掌握

圖5 Ubuntu目錄樹

上圖是一個虛拟的目錄樹結構,我們可以通過Linux中的tree指令顯示作業系統的整個目錄樹結構。由于Linux作業系統目錄樹非常龐大,是以我們為了便于顯示,這裡隻顯示一級目錄(通過選項-L 1進行控制)的情況。

深入了解Linux作業系統,這些知識點必須掌握

圖6 目錄樹執行個體

上面是Ubuntu Server版的情況,由于沒有安裝GUI界面,是以隻能通過指令的方式進行檢視。如果我們有桌面版的Ubuntu系統,那麼可以通過圖形界面的方式檢視檔案系統内容。這個跟Windows的“資料總管”非常像。

深入了解Linux作業系統,這些知識點必須掌握

圖7 圖形界面(GUI)檔案目錄

通過前面的執行個體我們可以看出,在根目錄下面有很多子目錄。這些子目錄都是有具體的用途的,并非随意名命的。前面我們大緻介紹了一下home目錄,接下來我們介紹一下其它目錄。比如bin目錄是使用者存儲系統指令(程式)的目錄,很多系統内部指令都在該目錄下面。例如顯示目前目錄内容的ls指令,顯示系統程序的ps指令等等。boot目錄是存儲作業系統核心相關内容的目錄。dev目錄則是裝置相關的目錄,比如硬碟等裝置的資訊都以檔案的形式存儲在該目錄中。

關于Ubuntu目錄含義的詳細解釋我們後面專門寫一篇文章介紹,本文暫時不再詳細介紹。

Linux作業系統使用入門

廢話一籮筐,我們前面鋪墊了很多知識,但是仍然不知道如何使用Linux作業系統。現在,我們開始介紹如何使用作業系統。

前面我們了解了Linux作業系統的概念和檔案系統的概念,今天我們就介紹一下基本的檔案系統操作。在檔案系統中有2種資源類型,一種稱為目錄(檔案夾),另一種稱為檔案。目錄是用來組織檔案的,本身并不存儲使用者的資料;檔案則是存儲使用者資料的實體,比如音頻檔案、視訊檔案、文本檔案或者圖檔檔案等等。下面,我們就介紹一下跟目錄和檔案操作相關的指令(本文介紹pwd、ls、vi和cat)。

pwd指令

當我們通過某個使用者登陸Ubuntu系統時,我們會自動位于某個目錄下面。這個目錄就是使用者的主目錄。以itworld123為例,當我們登陸時就處于/home/itworld123目錄下。那麼怎麼确定我們目前時處于哪個目錄下呢?這個時候pwd指令就派上用場了。pwd的是print working directory的簡稱,也就是列印目前的工作目錄。如下圖是是執行該指令(輸入pwd,并回車)的結果。

深入了解Linux作業系統,這些知識點必須掌握

圖8 pwd指令

ls指令

所謂工作目錄就是我們目前工作所處的目錄。此時所有的操作都是一個該目錄為基準的。比如如果我們想檢視目錄中的内容,此時可以用ls指令。ls指令是list的簡寫,用于顯示目錄中的内容,也就是某個目錄中的檔案和子目錄。

我們可以在目前目錄輸入ls,并回車,此時系統會執行ls指令。此時我們可能不會得到任何輸出,具體如下:

深入了解Linux作業系統,這些知識點必須掌握

圖9 ls指令

這是因為這個目錄中隻有隐藏的檔案,沒有普通檔案。我們可以通過-a選項(a是all的縮寫)讓所有檔案顯示出來。具體結果如下:

深入了解Linux作業系統,這些知識點必須掌握

圖10 ls指令顯示所有檔案

可以看到裡面的檔案和目錄了。這些檔案有一個特點,就是以點(.)開頭的,是以通常是隐藏狀态的。上述檔案都是系統檔案,主要是一些系統配置檔案。

ls指令的功能還要強大的多,比如我們想顯示每個檔案的詳細資訊,檔案大小,所屬使用者和權限等等,那麼我們可以通過-l選項(list的縮寫,表示以清單的方式呈現)。可以看到此時的執行結果就好像一個表格一樣:

深入了解Linux作業系統,這些知識點必須掌握

圖11 ls指令顯示詳細資訊

這裡我們介紹了如何檢視目錄和檔案。那我們可以用Linux做哪些具體的工作呢?我們舉一個簡單的例子,比如我們基于Linux寫作,是的比如寫小說。此時我們就可以使用到另外一個指令,或者說工具了,那就是vi指令。

vi指令

vi指令是Linux中最常用的檔案編輯工具,它跟Windows的文本編輯器類似。比如我們要開始寫小說了,小說起名為mystory.txt。此時我們輸入vi mystory.txt,然後回車。

深入了解Linux作業系統,這些知識點必須掌握

圖12 vi指令

此時我們進入了vi軟體内了,這裡沒有任何内容,隻有一個光标在不停的閃爍。此時,如果你試着輸入一些内容,可能會發現沒有任何反應。如果運氣好可能會有你輸入的字元。不得不承認使用vi作為例子可能略顯複雜,因為vi有很多種模式,不是每種模式都可以輸入文字的。vi複雜到可以單獨寫一本書,不過沒關系,我們可以先簡單的操作一下。

其實在初次進入是我們隻需要輸入小寫字母i(insert的縮寫)即可,此時vi進入插入模式,也就是可以編輯的模式。這是我們就可以正常輸入字元了。同時,我們可以看到最下面有一個提示内容(-- INSERT --),這表示目前vi處于插入模式,并且輸入了一些内容。

深入了解Linux作業系統,這些知識點必須掌握

圖13 vi編輯模式

當我們寫完後如何儲存推出呢?這時就需要切換到指令模式了。在目前模式下按Esc鍵就可以進入指令模式了。

深入了解Linux作業系統,這些知識點必須掌握

圖14 vi指令模式

在指令模式下輸入:wq并回車,即可将資料寫入檔案,并推出vi。如下是輸入:wq後,但是沒有回車時的狀态。此時表示該指令還沒有執行。

深入了解Linux作業系統,這些知識點必須掌握

圖15 儲存退出

按Enter鍵後,vi推出。此時可以看到有一行提示資訊,其中包括檔案名,操作和摘要資訊(行數,字元數等)。

深入了解Linux作業系統,這些知識點必須掌握

圖16 vi儲存退出

如果此時我們再執行一下ls指令,就可以看到新建立的檔案。

深入了解Linux作業系統,這些知識點必須掌握

圖17 顯示檔案清單

cat指令

如何檢視一個文本檔案的内容呢?當然可以通過vi指令了。但是還有一個簡潔的指令,這就是cat指令。cat指令的使用很簡單,在這個指令的後面跟着檔案名即可。如下是執行結果。

深入了解Linux作業系統,這些知識點必須掌握

圖18 顯示檔案内容

本文主要介紹了作業系統和檔案系統的基本概念,然後介紹了目錄和檔案的基本操作。通過今天的學習大家對于Ubuntu應該是一隻腳邁進了門了。至于在屋子裡面還有哪些東西,還請大家關注本号。

參考文獻

《鳥哥的Linux私房菜》

《作業系統概念 (第9版)》