1. 程式人生 > >linux基礎知識-2

linux基礎知識-2

提示 命令 ron 了解 同進程 顏色顯示 顯示器 clas 安全

一、內核

??操作系統是程序運行的環境,而內核是操作系統的核心,負責與硬件進行交互。如按下鍵盤,移動鼠標,網絡傳輸,訪問內存,磁盤等。

??技術分享圖片

二、程序

??程序是存儲在計算機硬盤裏的文件。是一系列基本指令,用於告訴操作系統做什麽,何時去做,比如各種命令就是程序。

三、進程

??當用戶指示內核運行一個程序時,內核會從程序文件上讀取指令,並將這些指令裝入內存,然後開始執行這些指令。在內存中運行的這個程序的副本叫做進程。

??同一個程序可以裝入內存多次,所以任何時候內核可能在運行同一個程序的不同進程。

四、shell

??shell是特殊程序,與內核進行交互。shell在終端運行時,會打印一個提示符並等待用戶指示。

??shell通常被叫做命令行界面。

??如:

??技術分享圖片

五、ps命令

??ps命令通常列出在系統上運行的進程。老陌剛了解進程,就有命令可以顯示進程了。

??ps顯示了在這個終端運行的所有進程,通過查看得知shell在運行,ps命令在運行。

??技術分享圖片

??其中:

??PID是進程的id號,每個進程都有一個唯一的id號。

??第二列顯示了是哪個終端,pts/2表示圖形環境下第二個終端。

??TIME表示這個進程消耗了CPU多少時間。

??最後一列表示進程對應的命令。

六、如何查看所有進程呢?

ps aux

??如圖:

??技術分享圖片

??這麽多,一下子全出現了,看來linux是多任務的操作系統果然不虛。不過老陌怎麽看怎麽像深度系統監視器裏顯示的,對比一下果然差不多。

七、文件和目錄

??老陌學過DOS命令,對於文件和目錄的概念還是清楚的。

??在linux中信息和程序存儲在文件中,文件歸類到目錄中,目錄中包括文件和其它目錄(目錄也叫文件夾),這種多層次的目錄結構稱為目錄樹。

??目錄樹的根部叫做根目錄,名為:“/”

??從windows轉過來的人都不陌生,文件夾1裏面有文件夾2,文件夾2裏面有文件夾3,文件夾3裏有1.mp3,只要我們不斷的雙擊就可以了。在linux下怎麽表示這種目錄結構呢?

??/文件夾1/文件夾2/文件夾3/1.mp3

??也就是從根開始書寫,一層一層往裏寫,用斜線分隔。對於這種路徑我們稱為絕對路徑,也叫絕對引用。

??如果我們目前已經在文件夾3中了,那麽引用1.mp3就不用寫那麽長的路徑了,直接寫1.mp3就可以了,當前的目錄“文件夾3”就叫做當前工作目錄。

??linux中的每個進程,包括用戶的shell,都用當前工作目錄作為環境。位於進程當前工作目錄的文件可以被直接引用文件名,這種引用叫做相對引用。

(一)絕對引用:

??技術分享圖片

(二)相對引用:

??技術分享圖片

八、用ls命令列出目錄內容

??ls 是list的縮寫,可以顯示目錄中的內容

??技術分享圖片

??ls 後面根上要查看的目錄,此時會顯示出目錄中的文件夾和文件。根據文件屬性不同,ls還會以不同的顏色顯示文件。

??如果ls後面啥也不跟,則顯示當前工作目錄中的內容。

九、用cat查看文件的內容

??cat命令會把文件中的內容,輸出到終端。

??如圖:

??技術分享圖片

??這和用記事本打開類似,如果我們不修改只查看,用cat效率很高。

十、將命令輸出重定向到文件中

??老陌學習DOS的時候就學過這個,所以小菜一碟。

??當我們用cat或ls命令的時候,他把程序運行的結果送到了stdout中,也就是標準輸出,對應的就是顯示器。這裏面我們認為輸出到終端裏了,所以用戶就看到了結果。那麽重定向就是本來要送到stdout的,但被我們轉向其它地方了,比如一個文件中。

??格式: 命令輸出 > 文件

??技術分享圖片

??通過運行命令發現:cat命令的輸出,送到了 info.txt中,打印一下info.txt證實了這一點。

十一、權限和用戶主目錄

??我們再次重定向一下,這回換個地方。

??技術分享圖片

??怎麽樣,傻了吧,提示權限不夠。 很多人說linux很安全果然不假,別人的地盤你別動。如果你是一個普通用戶,估計你沒有能力把系統文件刪除,也就是說你破壞不了系統,無非是把自己的家弄個亂七八糟。

??linux給用戶分配了一個專用目錄,這個目錄是用戶主目錄,這裏你可以隨意踐踏,因為這是你自己的家。我們愛自己的家園,幸運的是linux登錄之後就自動跳到轉自己的家目錄中。

??那麽家目錄在哪兒呢?

??/home/你的用戶名/

??這就是你的家目錄,離開了你的目錄,想要破壞別人,linux堅持說不!

??好了,今天就到這裏,老陌要洗澡睡了,晚安。

linux基礎知識-2