你知道這linux幾個核心命令嗎?
找工作的時候,熟悉linux操作系統是一項不可或缺的技能。熟記幾個關鍵的linux命令,可以以不變應萬變
top命令
Linux top命令用於實時顯示進程的動態
命令參數
d : 改變顯示的更新速度
n : 更新的次數,完成後將會退出 top
p : 指定查看的進程號
實例
#顯示進程信息
top
#設置信息更新次數,表示更新兩次後終止更新顯示
top -n 2
設置信息更新時間, 表示更新週期爲3秒
top -d 3
顯示指定的進程信息,顯示進程號爲139的進程信息,CPU、內存佔用率等
top -p 139
執行一次簡單的top
命令後,linux的輸出
PID | 進程的ID |
---|---|
USER | 進程所有者 |
PR | 進程的優先級別,越小越優先被執行 |
NI | 進程Nice值,代表這個進程的優先值 |
VIRT | 進程佔用的虛擬內存 |
RES | 進程佔用的物理內存 |
SHR | 進程使用的共享內存 |
S | 進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態 |
%CPU | 進程佔用CPU的使用 |
%MEM | 進程使用的物理內存和總內存的百分 |
TIME+ | 該進程啓動後佔用的總的CPU時間,即佔用CPU使用時間的累加值 |
COMMAND | 啓動該進程的命令名稱 |
PS命令
-a 顯示所有進程
-e 顯示所有進程
-f 顯示UID,PPIP,C與STIME欄位。
-p <進程識別碼> 指定進程識別碼,並列出該進程的狀況。
-t <終端機編號> 指定終端機編號,並列出屬於該終端機的進程的狀況。
-u <用戶識別碼> 顯示該用戶下所有進程
-u 不加參數的-u,以用戶爲主的格式來顯示進程狀況。
ps -ef以標準格式輸出進程詳細信息
UID | 用戶ID |
---|---|
PID | 進程 |
PPID | 父進程ID |
C | CPU用於計算執行優先級的因子。數值越大,表明進程是CPU密集型運算,執行優先級會降低;數值越小,表明進程是I/O密集型運算,執行優先級會提高 |
STIME | 進程啓動時間 |
TTY | 完整的終端名稱 |
TIME | 佔用CPU時間 |
CMD | 完整的啓動進程所用的命令和參數 |
ps -aux 以BSD格式顯示進程詳細信息
表中未列出的參數,與上表意義相同。
%CPU | 進程佔用CPU百分比 |
---|---|
%MEM | 進程佔用內存 |
NI | 進程的NICE值,數值大,表示較少佔用CPU時間 |
VSZ | 進程使用的虛擬內存量(KB) |
RSS | 進程佔用的固定內存量(KB)(駐留中頁的數量) |
STAT | 進程狀態 |
START | 進程開始時間 |
netstat命令
netstat命令用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。
命令參數
-a或–all 顯示所有連線中的Socket。。
-l或–listening 顯示監控中的服務器的Socket。
-n或–numeric 直接使用IP地址,而不通過域名服務器。
-t或–tcp 顯示TCP傳輸協議的連線狀況。
-u或–udp 顯示UDP傳輸協議的連線狀況。
-p或–programs 顯示正在使用Socket的程序識別碼和程序名稱。
實例一:無參數使用
netstat輸出結果可以分爲兩部分
-
Active Internet connections, 有源TCP連接, Recv-Q和Send-Q一般爲零,如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。
Proto Recv-Q Send-Q 連接協議 接收隊列 發送隊列 -
Active UNIX domain socket,有源Unix域套接口
Proto RefCnt Types State path 連接協議 連接到本套接口上的進程號 套接口 套接口當前狀態 連接到套接口進程使用的路徑
實例二:列出所有端口
顯示一個所有的有效連接信息列表,包括已建立連接、監聽連接
命令:netstat -a
實例三: 顯示當前UDP連接情況
命令:netstat -nu
實例四: 顯示UDP端口號使用情況
命令:netstat -apu