了解你的系統
本實驗主要介紹了了解你的Linux系統,通過本實驗的學習,你能夠了解自己在系統中的角色,掌握如何查看系統基本資訊,學會查看系統運行的行程有哪些,
實驗簡介
實驗所屬系列:Linux作業系統
實驗物件: 本科/專科資訊安全專業
相關課程及專業:計算機基礎,計算機網路
實驗時數(學分):2學時
實驗類別:實踐類
預備知識
當你登陸到系統,也許你不知道干嘛好?黑乎乎的的界面,你也不知道這臺電腦到底有啥子東西,你是否很好奇配置咋樣之類的,它都運行了哪些程式?等等的東西,那么我們就來了解一下我們使用的系統吧,
關于Linux系統運行級別:
在Linux中共有7個運行級別,它們分別是:
運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
運行級別1:單用戶作業狀態,root權限,用于系統維護,禁止遠程登陸
運行級別2:多用戶狀態(沒有NFS)
運行級別3:完全的多用戶狀態(有NFS),登陸后進入字符模式(就是黑乎乎的界面)
運行級別4:系統未使用,保留
運行級別5:圖形界面模式
運行級別6:系統正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動
系統啟動默認級別設定檔案是 : /etc/inittab ,修改里面的 id:3:initdefault:這一行 ,就能改變啟動默認啟動級別,比如id:3 ,就是默認啟動到字符界面,
實驗目的
-
掌握如何查看系統基本資訊
-
了解自己在系統中的角色
-
系統運行的行程有哪些
實驗環境
網路拓撲見下圖:

CentOS6.5 試驗臺
實驗步驟一
查看Linux中硬體資訊
1、查看CPU資訊
命令:cat /proc/cpuinfo
如圖:

這么多是不是感覺有點亂,那來選取一些我們想要的資訊吧(至于為啥命令是這樣寫,以后會知道的)
查看邏輯CPU個數:
cat /proc/cpuinfo | grep “processor” | wc -l

查看物理CPU個數:
cat /proc/cpuinfo | grep “physical id” | sort -u | wc -l

查看core id的數量,如果有兩個邏輯CPU具有相同的 core id ,意味這,CPU啟用的超執行緒
cat /proc/cpuinfo | grep “core id” | uniq | wc -l

2、查看linux的記憶體資訊
命令:cat /proc/meminfo
如圖:

顯示的資訊較多,我們可以用另外一個命令 :free 來查看記憶體的資訊:

Total:代表總大小 ; used :已經使用的大小;free:剩余的大小;Shared:多個行程共享的記憶體總額;Buffers/cached:磁盤快取的大小,
第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別,這兩個的區別在于使用的角度來看,第一行是從OS的角度來看,因為對于OS,buffers/cached 都是屬于被使用,所以他的可用記憶體是887016KB,已用記憶體是133280KB,其中包括,內核(OS)使用+Application(X, oracle,etc等)使用的+buffers+cached,
第三行所指的是從應用程式角度來看,對于應用程式來說,buffers/cached 是等于可用的,因為buffer/cached是為了提高檔案讀取的性能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被回收,
所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached,
如上圖:
931612=887016+6888+37708
3、磁盤使用情況查看
磁盤磁區資訊查看之fdisk -l
如圖:

以后我們會詳細講解linux下如何用fdisk進行磁區,這里稍做了解就好了,
磁盤使用情況查看之 df -Th命令

實驗步驟二
身份資訊查看
我是誰?
命令:whoami 如圖:

可以看到,我們當前的用戶身份是root,
還有誰?
命令:who
Linux作為一個多用戶的系統,常常是很多人同時使用的,如果你作為管理員,當然希望都有哪些人在用系統,

當前的話,只有我們自己登陸到這臺系統,
系統在干嘛?
系統都在運行哪些程式?
命令:top
作用:相當與windows里面的任務管理器

里面會顯示cpu,記憶體,swap的使用情況等,會列出具體行程所占用的資源
top 是動態顯示的,如果要退出,按 q 鍵就好了,
行程查看之二 ps 命令
ps 是顯示瞬間的狀態,而 top是實時動態顯示的
最常用命令:ps -aux
解釋: 顯示所有包含其他使用者的行程

欄位說明:
USER:該 process 屬于哪個使用者賬號的
PID :該 process 的號碼
%CPU:該 process 使用掉的 CPU 資源百分比
%MEM:該 process 所占用的物理記憶體百分比
VSZ :該 process 使用掉的虛擬記憶體量 (Kbytes)
RSS :該 process 占用的固定的記憶體量 (Kbytes)
TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程式,若為 pts/0 等等的,則表示為由網路連接進主機的程式,
STAT:該程式目前的狀態,主要的狀態有:
D 不可中斷
R 運行中
S 休眠的行程,可以被某些信號喚醒
T 停止的行程
Z 僵死的行程,就像windows里面程式無回應差不多
系統都開啟了哪些服務?
命令:chkconfig --list
解釋:查詢系統服務在系統各個運行級別上的資訊

最左邊的一列,是表示服務名,右邊是指各個服務在各個系統啟動級別上是否開啟的狀態,
查看服務命令之二:service
它就像我們windows里面的服務管理,可以開啟和關閉服務,
要注意的是這個命令不是在所有的linux發行版本中都有,主要是在redhat、fedora、和centos中,
用法:service [服務名] status :查看某個服務的狀態,比如查看 sshd這個服務的狀態

查看所有服務的狀態:

實驗步驟三
系統網路鏈接狀況
系統網卡鏈接狀態?
命令:ifconfig

默認使用ifconfig 會顯示已經啟用的所有網卡的狀態
如果只想看一其中一個的話,用 ifconfig [網卡名] 就行了,如 :ifconfig eth0

Inet addr :就是IP地址 ;Bcast:廣播地址;Mask:是子網掩碼;inet6 addr:這是ipv6的ip地址,RX:指接收 ;TX:指發送,
系統都建立了哪些鏈接?
命令:netstat
這條命令類似與windows里面的netstat

如果要看更加詳細的,可以使用 netstat -atunp

會顯示所有udp和tcp鏈接并顯示行程號
實驗結果
實驗步驟一








實驗步驟二







實驗步驟三



分析與思考
1、自行查閱資料,如何進入centos6.5的單用戶模式?
- 重啟服務器,一直按“E”鍵,進入grub引導選單的內核界面,
- 在內核界面選擇使用上下箭頭移動并選擇內核,
- 內核選定之后再次按下“E”鍵進行編輯,
- 在最后一行后面加上數字1(是單用戶模式的運行級別)或者single然后回車(補充:好像加數字1比較有效)
- 然后根據提示按下boot進行重新引導;
- 現在可以查看一下系統剛剛是從哪個運行級別進來的;
- 現在即可修改root用戶的密碼然后再重啟,
實驗環境無法自行操作 待補充
2、自行查閱資料,如何使用ps 命令找出某個行程的pid?
命令ps aux | grep xxx
xxx為行程名
例如:先用top命令找到有一個行程 ,行程init的PID為1

執行ps aux | grep init的結果如下:

3、自行查閱資料,如何找到httpd的行程號?
命令ps aux | grep httpd

補充 Linux用ps命令查找行程PID再用kill命令終止行程的方法
使用linux作業系統,難免遇到一些軟體"卡殼"的問題,這時就需要使用linux下強大的kill命令來結束相關行程,這在linux系統下是極其容易的事情,你只需要kill xxx即可,這里xxx代表與此軟體運行相關的行程PID號,
首先,我們需要使用linux下另外一個ps命令查找與行程相關的PID號:ps aux | grep program_filter_word
ps a 顯示現行終端機下的所有程式,包括其他用戶的程式,
ps -A 顯示所有程式,
ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示,
ps -e 此引數的效果和指定"A"引數相同,
ps e 列出程式時,顯示每個程式所使用的環境變數,
ps f 用ASCII字符顯示樹狀結構,表達程式間的相互關系,
ps -H 顯示樹狀結構,表示程式間的相互關系,
ps -N 顯示所有的程式,除了執行ps指令終端機下的程式之外,
ps s 采用程式信號的格式顯示程式狀況,
ps S 列出程式時,包括已中斷的子程式資料,
ps -t<終端機編號> 指定終端機編號,并列出屬于該終端機的程式的狀況,
ps u 以用戶為主的格式來顯示程式狀況,
ps x 顯示所有程式,不以終端機來區分,
最常用的方法是ps aux,然后再通過管道使用grep命令過濾查找特定的行程,然后再對特定的行程進行操作,
其次,使用kill命令結束行程:kill xxx
1)作用
kill命令用來中止一個行程,
2)格式
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
3)引數
-s:指定發送的信號,
-p:模擬發送信號,
-l:指定信號的名稱串列,
pid:要中止行程的ID號,
Signal:表示信號,
4)說明
行程是Linux系統中一個非常重要的概念,Linux是一個多任務的作業系統,系統上經常同時運行著多個行程,我們不關心這些行程究竟是如何分配的,或者是內核如何管理分配時間片的,所關心的是如何去控制這些行程,讓它們能夠很好地為用戶服務,
Linux作業系統包括三種不同型別的行程,每種行程都有自己的特點和屬性,互動行程是由一個Shell啟動的行程,互動行程既可以在前臺運行,也可以在后臺運行,批處理行程和終端沒有聯系,是一個行程式列,監控行程(也稱系統守護行程)是Linux系統啟動時啟動的行程,并在后臺運行,例如,httpd 是著名的Apache服務器的監控行程,
kill命令的作業原理是,向Linux系統的內核發送一個系統操作信號和某個程式的行程標識號,然后系統內核就可以對行程標識號指定的行程進行操作,比如在top命令中,我們看到系統運行許多行程,有時就需要使用kill中止某些行程來提高系統資源,在講解安裝和登陸命令時,曾提到系統多個虛擬控制臺的作用是當一個程式出錯造成系統死鎖時,可以切換到其它虛擬控制臺作業關閉這個程式,此時使用的命令就是kill,因為kill是大多數Shell內部命令可以直接呼叫的,
5)應用實體
(1)強行中止(經常使用殺掉)一個行程標識號為324的行程:
#kill -9 324
(2)解除Linux系統的死鎖
在 Linux中有時會發生這樣一種情況:一個程式崩潰,并且處于死鎖的狀態,此時一般不用重新啟動計算機,只需要中止(或者說是關閉)這個有問題的程式即可,當kill處于X-Window界面時,主要的程式(除了崩潰的程式之外)一般都已經正常啟動了,此時打開一個終端,在那里中止有問題的程式,比如,如果Mozilla瀏覽器程式出現了鎖死的情況,可以使用kill命令來中止所有包含有Mozolla瀏覽器的程式,首先用ps命令查找該程式的 PID,然后使用kill命令停止這個程式:
#kill -SIGKILL XXX
其中,XXX是包含有Mozolla瀏覽器的程式的行程標識號,
(3)使用命令回收記憶體
我們知道記憶體對于系統是非常重要的,回收記憶體可以提高系統資源,kill命令可以及時地中止一些"越軌"的程式或很長時間沒有相應的程式,例如,使用top命令發現一個無用 (Zombie) 的行程,此時可以使用下面命令:
#kill -9 XXX
其中,XXX是無用的行程標識號,
然后使用下面命令:
#free
此時會發現可用記憶體容量增加了,
(4)killall命令
Linux下還提供了一個killall命令,可以直接使用行程的名字而不是行程標識號,例如:
# killall -HUP inetd
其他文章傳送處
檔案管理基礎命令一
檔案管理基礎命令二
獲取幫助命令
Linux檔案權限篇之一
Linux命令進階篇之一
Linux命令進階篇之二
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/297541.html
標籤:其他
