歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux入門之登入系統

1. 引言

基於學習的目的,我們所安裝的Linux都是沒有安裝圖形界面的,因為圖形界形會對我們的學習造成一定的阻滯。由於失去了圖形界面的支撐,我們第一次進入Linux系統都會變得茫然,望著黑呼呼屏幕不知所措,下面我來提供一個首次登入系統的指引,希望可以帶領新手步入Linux的大門。
  通過這個指引,我們可以認識到:

Linux的程序和程序管理 Linux的用戶和用戶管理 Linux的文件和文件管理

2. 首次進入系統

Linux系統啟動結束後就會返回下圖這個界面給用戶:

login

這就是常說的登陸界面,我們輸入安裝系統時提示的用戶名和密碼。

login

上圖所示我們已經正式有登入了Linux系統,我們所看到的黑呼呼的東西是linux的一個終端(TTY),終端的意思可照字面去解釋,就是我們要接觸的Linux的最尾端,順著這條尾巴,可以一步一步深入Linux內核。通常,Linux會能夠提供TTY1-TTY6 六個終端界面給使用者,六個都和上圖所示的登陸界面一樣的,可以通過按ALT+數字(1-6)切換不同的終端。
  
  終端上看到的,我們打字能顯示出來,跟我們交互的這個程序叫SHELL,它是Linux的外殼,就像花生殼一樣,我們要吃花生,就要把殼捏碎,不過Linux的外殼不用捏碎,因為它上面有很多孔道(內核調用,系統接口)連通linux內核,我們通過這些孔道就可以到達內核。

不同的操作系統有不同的外殼,如Windows有Command.exe,大部分的Linux用Bash(Bourne-again Shell), 有些用C shell。SHELL的用途是對輸入字符進行解釋,如果是系統命令,則執行返回命令結果,否則返回找不到命令提示。
  
  lsvcP8we6hozxiciAvPg0KoaGhoTxiciAvPg0KoaGhoTxzdHJvbmc+U2hlbGzKx9T10fnV0rW9w/zB7rXExNijvzwvc3Ryb25nPjwvcD4NCjxwcmUgY2xhc3M9"brush:java;"> Shell的環境下有很多變量,稱為環境變量,其中和命令有關聯的一個變量是PATH,PATH是記錄命令所在的路徑的變量。

3. 使用Linux

3.1 第一個命令

程序的定義有很多,通常我們把放在硬盤裡,能夠執行的文件稱為稱作程序,程序一般是以完成特定的任務為目的。我們學習的第一個程序是 ‘ls’, 也可以稱為Liunx的命令。

【ls】 是list的簡寫,作用是將目錄的內容羅列出來(輸出到終端)。
【ls】 命令有很多參數, 參數是指跟在ls後面,用來規范ls輸出的選項。
我們只需要學習二個參數:

-a,–all 把當前目錄下所有項目列出來,(【ls】後面沒有指定目錄時,默認是當前目錄) -l 會列出項目的詳細信息

ls

上圖中,紅色框裡的是我們所輸入的【ls】命令,有帶參數和不帶參數的。
  當用帶參數-a的命令時, 【ls】列出了當前目錄下的所有文件,其中有兩個特殊的文件(綠色框內) :1個實心句點,2個實心句號。

1個實心句號: 代表當前目錄,例如,’ ls .’ , 這個命令的意思和直接ls是一樣的,都是對當前目錄項目進行查詢
2個實心句號: 代表包含當前目錄的父目錄,是目錄外面一層的目錄。
Linux文件系統內目錄下面都存在這兩個特殊的目錄。

帶參數-a的命令還列出了一些前面帶著小圓點的文件,見上圖黃色框

這些前面帶著小圓點的文件是Linux系統的隱藏文件 如果想把一個文件隱藏起來,只需要把文件名前面加上一個實心小圓點

帶參數-l時,ls打印了很多長長的行,那些長出來的是文件的基本屬性,包括:文件屬主,文件容量,文件創建時間等。

引起我們注意的是第一列,類似於drwxr-xr-x. 這是什麼意思呢?
drwxr-xr-x 標示了文件類型和屬性!其中,每一個字符都占一個位包括【-】,共有十個位,每個位都有其意義:

1。第一位:指出文件類型,d的意思是該文件是目錄,如果是【-】,則是普通文件。
2。第二三四,3位一起,是針對該文件擁有者的權限位,r是read(可讀),w是write(可寫),x是execute(可執行)。
3。五六七,也是三位一起,是針對文件所屬的組的權限位。
4。八九十,最後三位是針對其他人的權限位。
5。Linux的每一個文件,針對不同的用戶有不同的權限,權限就是指,是否可讀,是否可寫,是否可執行該文件。
6。執行文件是指可以將文件載入內存運行的文件,是一個程序或一個腳本,相當於windows的exe文件 。

參數除了可以單獨使用個外,大部分的參數都可以疊在一起使用,如上圖的 ls -al 。

當我們要了解一條命令怎樣使用時,可以利用【man】,男人都是可以利用的,在linux裡沒有什麼是man不懂的,盡管使喚他。【man】的用法很簡單,在終端裡輸入【man】 後面接你要詢問的命令,使用你想知道【ls】是怎樣使用,輸入:
【man ls】 , 屏幕就會列出滿滿的使用說明文檔。

ls

在man的輸出裡可以通過翻頁鍵上翻下翻,也可能通過【j】和【k】這兩個字母上下移動文本,按【q】退出。

3.2 文件目錄結構

Linux的文件路徑都帶有一個【/】,這條槓桿如果單獨表示時,叫根目錄,所有文件和目錄都存放在根目錄之下,我們用【ls】這個命令查看一下:
ls /

【ls /】這條命令顯示出來的就是系統所有處於根目錄之下的目錄

注意:/var/tmp裡面的【/】是分隔分層的意思,它意思是var是在根目錄下面,tmp則在var目錄下面,只有【/】單獨出現時才代表根目錄。

Linux的目錄結構比較簡單,一般在etc目錄下面的是配置文件,在bin下面的是二進制可執行文件,在lib裡面的是一些應用庫,在include裡面的頭文件。暫時不需要知道太多。

只需要知道的是,每一個登入系統的使用者都會有一個家目錄,默認是在/home下面以使用者名字命名的目錄。這個家目錄是屬於你的,你可以在裡面隨便搗騰,基本上不會影響系統運作。不過,如果是root用戶,家目錄默認是/root,在裡面搗騰則要小心點,因為root的權限很大,它可以忽略任何的限制,一不小心就能對系統造成破壞。

3.3 文件管理

我們可以在自己的家目錄下面可以隨意思建立目錄和文件。

1.【mkdir】這個命令可以創建目錄,例如:mkdir newdir , 在shell打入這條命令執行後,就可以在當前目錄裡創建新的目錄newdir。
2.【touch】這個命令可以建立新的可編輯文件,例如:touch newfile , 在當前目錄下創建新文件newfile。
3.【nano】是一個簡單的文本編輯器,例如:nano newfile , 打開剛建立的文件進行編輯,編輯完按CTRL+x 退出,最下列會有提示,根據提示操作就可以了。
4.【nano】後跟文件名參數,如果該文件不存在,nano就建一個新的文件。
5.【cp】 copy, 這是一個復制文件的命令,例如:copy newfile newfile_cp , newfile_cp是newfile的副本,如需要復制目錄,需要加上【-r】參數, 例 如: copy -r newdir newdir_cp .
6.【rm】是刪除文件的命令,例如:rm newfile , 刪除時有提示需要確認,輸入【y】確認刪除,如需要刪除目錄,需要加【-r】參數,例如:rm -r newdir
7.【cat】後接文件名,能把該文件的內容打印到屏幕。

掌握了上面1234567條命令可以完成基本的文件管理

3.4 用戶管理

Linux可以允許同時有很多個用戶登入,不同的用戶使用不同的終端,上面有提到的TTY1-TTY6就充許同時登入六個用戶,除了TTY外,使用者還可以通過網絡登入Linux,有一些服務提供網絡遠程登陸,比較常用的是:SSH, Telnet, Rlogin,最常用和最多用的是SSH。通過網絡登陸和在實體機登入並沒有兩樣。
  Linux有一個超級用戶叫root,在按階級或分的Linuw用戶裡,root是最高統治者,相當於皇帝,它可以突破系統的任何限制。
  在Linux裡創建用戶的命令是【useradd】, 後面跟新用戶名,創建新用戶需要用root才可以。
  更改密碼的命令是【passwd】, 後接需要改密碼的用戶名,除了更改自己的密碼外,更改其它用戶的密碼需要root。
  Linux的用戶都有一個歸屬的組,每個用戶可以屬於多個組,亦可只屬於一個組,用【usermod -g】命令可以更改用戶所屬組,例如將用戶test加入組classa: usermod -g classa test .

3.5 進程(任務)管理

大家使用過Windows應該知道它有一個程序管理器,按著ALT+CTRL+DEL就可以調出來。
Linux下很多管理程序的方法,都是通Shell打入命令去完成。
  這裡,我們所說的程序是指程序執行的實例,通常稱為進程, 有些系統稱為任務,程序被執行是指程序被Linux內核讀入內存,並使他按照程序設計的目的去運行。在Linux裡有一個唯一的數字去標識進程,是為進程ID,它總是一非負整數。
  【ps】, 是我們學習的另一個命令,這個【ps】寫法和ps照片的【ps】是一樣的,不過Linux的【ps】是用來查看當前系統所運行的進程的,同樣地,【ps】有很多參數,我們只需要學習兩個參數。

-l , 【ps】 帶-l參數時,只列出和自己相關的進程。 aux, 這是一個組合參數,可以帶‘-’,或者不帶‘-’,它會更出系統當前的所有進程。

ps

上面【ps axu】的輸出很多,只好把它截短貼圖。

我們需要理解一下綠色框裡的字段,這些字段指示了進程的相關資源和狀態。

USER: 是執行該進程的用戶
PID: 進程ID
CPU: 進程的CPU使用率(百分比)
MEM: 內存點用率(百分比)
VSZ: 虛擬內存占用(kbyte)
RSS: 占用了多少固定內存(kbyte)
TTY: 是TTY1-TTY6中的哪一個?
STAT: Status,進程的狀態
START:開始運行時間
TIME: CPU運作時間
COMMAND: 觸發這個進程的指令(具體哪個程序)

上面STAT的進程狀態有下列幾種:
R (Running):表示進程運作中;
S (Sleep):表示進程在睡覺,空閒中。
D :睡覺中,但不會醒過來的。
T :停止狀態(stop);
Z (Zombie):僵死狀態,進程已經中止,但還在內存中駐留。

另一個要學習的命令是【top】,最top的【top】,可以用來動態監控進程。【top】的命令參數也是有很多的,Linux的大部分命令,參數都是很復雜的,不過我暫時只需要學習兩個。
  

參數1: -d 後面接數字代表按數字所表示的秒數為頻率更新top的輸出
參數2: -p p是pid的意思(進程id,詳細的英文是process identifiers),參數後面接進程標識,用來指定top所監控的進程。
注意: 在top裡面可以輸入指令,具體有好幾個指令,按?(問號)會輸出指令幫助,按下字母q退出top。

top

由上圖可見,【top】的輸出很復雜,下面簡單說一說。
  

綠色框裡,第一行(top -),這一行顯示的信息分別為:
當前時間(23:51:47);
開機到目前經歷時間(up 12 min);
當前系統使用者人數(2 users);
系統在 1, 5, 15 分鐘的平均負載(load average),這幾個數值越小,代表系統越閒。

第二行(Tasks):目前的進程總量(396 total),各處於什麼狀態(running, sleeping, stopped, zombie)

第三行(%cpus): 顯示的是CPU的負載(百分比),us是user(用戶進程占比);sy是system占比;ni是nice,意思是cpu喜歡的進程(優先級比user高的);id即idle,空閒率;wa是IO-wait,一般是硬盤內存之間輸入輸出等待進程占比 ;hi(hardware interrupts)硬件中斷;si(software interrupts)軟件中斷;st代表虛擬機用掉的cpu占比。如果是多核cpu可以按下數字【1】來切換不同的核。

第四五行表示目前內存和虛擬內存的使用情況,如果虛擬內存使用過多,代表電腦內存不足。

上圖藍色框,是各進程的狀態標示欄目。

PID :進程 ID
USER:運行這個進程的用戶名;
PR : Priority 的簡寫,進程的優先執行順序,越小越早被執行;
NI : Nice 的簡寫,與 Priority 有關,也是越小越早被執行;
%CPU:CPU 的使用率;
%MEM:記憶體的使用率;
TIME+:CPU 使用時間的累加;

3.6 關機

關機有很多個指令,用【halt -p】就可以將機器關掉。

Copyright © Linux教程網 All Rights Reserved