天天看點

linux常用指令top各輸出參數含義

Linux 常用指令。

Linux的指令有幾百個,下面我将總結我常用到幾個指令。如果大家在學習和工作中遇到了陌生的且高頻的Linux指令,多查資料,掌握它,日積月累,知識面就會寬廣。

1、關機:init 0

2、重新開機:init 6

3、清屏:clear

4、檢視伺服器的ip位址:ip addr

5、檢視時間:date

6、設定時區為中國上海時間:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

7、設定時間:date -s “yyyy-mm-dd hh:mi:ss”

8、檢視目前目錄:pwd

9、改變目前工作目錄:cd 目錄名

示例:

(1)、cd /user(進入/user目錄)

(2)、cd …(進入上一級目錄)

(3)、cd (進入使用者主目錄)】

10、列出目錄和檔案資訊:ls [-lt] 目錄或檔案名

選項-l列出目錄和檔案的詳細資訊。

選項-lt列出目錄和檔案的詳細資訊,按時間降序顯示。

示例:

(1)、ls:列出目前工作目錄下全部的目錄和檔案名資訊

(2)、ls -l:列出目前工作目錄下全部的目錄和檔案名詳細的資訊。

(3)、ls /tmp:列出/tmp目錄下全部的目錄和檔案。

11、正規表達式【星号“*”:比對任意數量的字元。問号“?”:比對一個字元。】

示例:

(1)、ls /tmp/.cpp:列出/dmp目錄下以比對.dmp的目錄和檔案。

(2)、ls /tmp/.log列出/tmp目錄下比對.log的目錄和檔案,按時間降序顯示

12、建立目錄:mkdir 目錄名

13、删除目錄和檔案:rm [-rf] 目錄或檔案清單

選項-r可以删除目錄,如果沒有-r隻能删除檔案。

選項-f表示強制删除,不需要确認。

目錄和檔案清單中間用空格分隔。

示例:rm .*.swp:删除目前目錄下所有的.swp交換檔案

14、移動目錄和檔案:mv 舊目錄或檔案名 新目錄或檔案名

如果第二個參數是已經存在的目錄,則把第一個參數(舊目錄或檔案名)移動到該目錄中。

示例:

1)mv test.c test1.c:把目前工作目錄中的test.c檔案重命名為test1.c

2)mv test.c /tmp/test2:如果/tmp/test2是一個已經存在的目錄,以下指令将把目前工作目錄下的test.c檔案移動到/tmp/test3目錄中。

3)mv test.c /tmp/test3:如果/tmp/test3目錄不存在,以下指令将把目前工作目錄下的test.c檔案改名為/tmp/test3。

15、複制目錄和檔案:cp [-r] 舊目錄或檔案名 新目錄或檔案名

選項-r可以複制目錄,如果沒有選項-r隻能複制檔案。

示例:

1)把目前工作目錄下的book1.c檔案複制為book2.c

cp book1.c book2.c

2)把目前工作目錄下的aaa目錄複制為bbb

cp -r aaa bbb

3)把目前工作目錄下的book1.c檔案複制為/tmp/book1.c

cp book1.c /tmp/book1.c

cp book1.c /tmp/.

以上兩個指令的效果相同。

4)把目前工作目錄下的aaa目錄複制為/tmp/aaa

cp -r aaa /tmp/aaa

cp -r aaa /tmp/.

以上兩個指令的效果相同。

16、打包壓縮和解包解壓:tar指令

打包壓縮的文法:

tar zcvf 壓縮封包件名 目錄或檔案名清單

示例:

1)把目前工作目錄下的aaa目錄打包壓縮放到/tmp目錄下重命名為123.tgz檔案。

tar zcvf /tmp/123.tgz aaa

2)把/home/oracle/aaa、/home/oracle/bbb和/home/oracle/ccc目錄打包壓縮成/tmp/123.tgz檔案。

tar zcvf /tmp/123.tgz /home/oracle/aaa /home/oracle/bbb /home/oracle/ccc

解包解壓的文法:

tar zxvf壓縮封包件名

示例:

1)把/tmp/123.tgz壓縮封包件在目前工作目錄下解壓。

tar zxvf /tmp/123.tgz

2)把/tmp/123.tgz壓縮封包件在/tmp/aaa目錄下解壓。

cd /tmp/aaa

tar zxvf /tmp/123.tgz

注意:

1)用tar指令打包和解包的目錄和檔案沒有絕對路徑的說法,都成了相對的,在包中相對的。

2)用tar指令打包的檔案,用winrar可以解開。

3)在Linux系統中,還有其它的打包壓縮和解包解壓指令,例如zip/unzip和gzip/gunzip。

17、判斷網絡是否連通:ping -c 包的個數 ip位址或域名

ping用于确定本地主機是否能與另一台主機成功交換資料包,判斷網絡是否通暢。

18、顯示文本檔案的内容:顯示文本檔案的内容有三個指令:cat、more和tail。

more 檔案名:more指令分頁顯示檔案的内容,按空格鍵顯示下一頁,按b鍵顯上一頁,按q鍵退出。

tail -f 檔案名:tail -f用于顯示文本檔案的最後幾行,如果檔案的内容有增加,就實時的重新整理。tail -f極其重要,可以動态顯示背景服務程式的日志,用于調試和跟蹤程式的運作。

19、 統計文本檔案的行數、單詞數和位元組數 :wc 檔案名

20、搜尋檔案:find 目錄名 -name 檔案名 -print

從目前工作目錄開始搜尋,把全部的*.c檔案顯示出來。

find . -name *.c -print

21、搜尋檔案中的内容:grep “内容” 檔案名

22、增加/删除使用者組:groupadd 組名 groupdel 組名

23、增加/删除使用者:useradd -n 使用者名 -g 組名 -d 使用者的主目錄 ------ userdel 使用者名

示例:useradd -n lyp -g dba -d /home/lyp :增加一個使用者,使用者名為lyp,屬于dba組,使用者的主目錄是/home/lyp

userdel lyp:删除lyp使用者。

24、修改使用者的密碼:passwd [使用者名]

25、切換使用者:在指令提示符下輸入:su - root ,然後按提示輸入root的密碼後将切換到root使用者。

從root使用者切換到其它普通使用者不需要輸入密碼,從普通使用者切換到任何使用者都需要輸入密碼。

26、修改目錄和檔案的主人群組:chown [-R] 使用者名:組名 目錄或檔案名清單

-R 選項表示處理各及子目錄。

示例:

1)把/oracle/home和/oracle/base及其子目錄的主人改為oracle,組改為dba。

chown -R oracle:dba /oracle/home /oracle/base

27、檢視系統磁盤空間:df [-h] [-T]

28、檢視檔案編碼:file filename

29、檢視記憶體資訊: free -m(TX)

cached主要負責緩存檔案, 日志檔案過大造成cached區記憶體增大把記憶體占用完 .

linux下如何釋放cache記憶體

1、執行

sync

指令,将緩存中未被寫入磁盤的内容寫入磁盤。

2、通過調整/proc/sys/vm/drop_caches來釋放記憶體:

echo 1 > /proc/sys/vm/drop_caches

目的:清空緩存,騰出更多可用記憶體

30、檢視程式執行時間:time ./book

31、檢視網絡系統的狀态資訊:netstat(TX)

用于顯示與IP、TCP、UDP和ICMP協定相關的統計資料,一般用于檢驗本機各端口的網絡連接配接情況。

linux常用指令top各輸出參數含義

netstat的輸出結果可以分為兩個部分

1、Active Internet connections 有源TCP連接配接,其中"Recv-Q"和"Send-Q"指接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟體包正在隊列中堆積。這種情況隻能在非常少的情況見到。

2、Active UNIX domain sockets 有源Unix域套接口(和網絡套接字一樣,但是隻能用于本機通信,性能可以提高一倍)。

列名解釋:

Proto:顯示連接配接使用的協定。

RefCnt:表示連接配接到本套接口上的程序号。

Types:顯示套接口的類型。

State:顯示套接口目前的狀态。

Path:表示連接配接到套接口的其它程序使用的路徑名。

netstat常見參數

-a (all) 顯示所有選項,預設不顯示LISTEN相關。

-t (tcp) 僅顯示tcp相關選項。

-u (udp) 僅顯示udp相關選項。

-n 拒絕顯示别名,能顯示數字的全部轉化成數字。

-l 僅列出有在 Listen (監聽) 的服務狀态。

-p 顯示建立相關連結的程式名

-r 顯示路由資訊,路由表

-e 顯示擴充資訊,例如uid等

-s 按各個協定進行統計

-c 每隔一個固定時間,執行該netstat指令。

LISTEN和LISTENING的狀态隻有用-a或者-l才能看到。

32、監控linux的系統狀況:top(TX)

是常用的性能分析工具,能夠實時顯示系統中各個程序的資源占用情況。

top各輸出參數含義

linux常用指令top各輸出參數含義

一、top前5行統計資訊

第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30 

第1行是任務隊列資訊,其參數如下:

内容 含義
05:43:27 表示目前時間
up 4:52 系統運作時間 格式為時:分
2 users 目前登入使用者數
load average: 0.58, 0.41, 0.30 系統負載,即任務隊列的平均長度。 三個數值分别為 1分鐘、5分鐘、15分鐘前到現在的平均值。

load average: 如果這個數除以邏輯CPU的數量,結果高于5的時候就表明系統在超負荷運轉了。 

第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie 

第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st 

第2、3行為程序和CPU的資訊 

當有多個CPU時,這些内容可能會超過兩行,其參數如下:

内容 含義
159 total 程序總數
1 running 正在運作的程序數
158 sleeping 睡眠的程序數
0 stopped 停止的程序數
0 zombie 僵屍程序數
37.0 us 使用者空間占用CPU百分比
3.7 sy 核心空間占用CPU百分比
0.0 ni 使用者程序空間内改變過優先級的程序占用CPU百分比
59.3 id 空閑CPU百分比
0.0 wa 等待輸入輸出的CPU時間百分比
0.0 hi 硬中斷(Hardware IRQ)占用CPU的百分比
0.0 si 軟中斷(Software Interrupts)占用CPU的百分比
0.0 st

第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers 

第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem 

第4、5行為記憶體資訊 

其參數如下:

内容 含義
KiB Mem: 1530752 total 實體記憶體總量
1481968 used 使用的實體記憶體總量
48784 free 空閑記憶體總量
70988 buffers(buff/cache) 用作核心緩存的記憶體量
KiB Swap: 3905532 total 交換區總量
267544 used 使用的交換區總量
3637988 free 空閑交換區總量
617312 cached Mem 緩沖的交換區總量。
3156100 avail Mem 代表可用于程序下一次配置設定的實體記憶體數量

上述最後提到的緩沖的交換區總量,這裡解釋一下,所謂緩沖的交換區總量,即記憶體中的内容被換出到交換區,而後又被換入到記憶體,但使用過的交換區尚未被覆寫,該數值即為這些内容已存在于記憶體中的交換區的大小。相應的記憶體再次被換出時可不必再對交換區寫入。 

計算可用記憶體數有一個近似的公式: 

第四行的free + 第四行的buffers + 第五行的cached

二、程序資訊

列名 含義
PID 程序id
PPID 父程序id
RUSER Real user name
UID 程序所有者的使用者id
USER 程序所有者的使用者名
GROUP 程序所有者的組名
TTY 啟動程序的終端名。不是從終端啟動的程序則顯示為 ?
PR 優先級
NI nice值。負值表示高優先級,正值表示低優先級
P 最後使用的CPU,僅在多CPU環境下有意義
%CPU 上次更新到現在的CPU時間占用百分比
TIME 程序使用的CPU時間總計,機關秒
TIME+ 程序使用的CPU時間總計,機關1/100秒
%MEM 程序使用的實體記憶體百分比
VIRT 程序使用的虛拟記憶體總量,機關kb。VIRT=SWAP+RES
SWAP 程序使用的虛拟記憶體中,被換出的大小,機關kb
RES 程序使用的、未被換出的實體記憶體大小,機關kb。RES=CODE+DATA
CODE 可執行代碼占用的實體記憶體大小,機關kb
DATA 可執行代碼以外的部分(資料段+棧)占用的實體記憶體大小,機關kb
SHR 共享記憶體大小,機關kb
nFLT 頁面錯誤次數
nDRT 最後一次寫入到現在,被修改過的頁面數。
S 程序狀态。D=不可中斷的睡眠狀态 R=運作 S=睡眠 T=跟蹤/停止 Z=僵屍程序
COMMAND 指令名/指令行
WCHAN 若該程序在睡眠,則顯示睡眠中的系統函數名
Flags 任務标志

33、檢視程序

ps [-au]檢視目前終端的程序。

ps -ef 檢視系統全部的程序。

ps -ef |more 檢視系統全部的程序,結果分頁顯示。

linux常用指令top各輸出參數含義

UID :啟動程序的作業系統使用者。

PID :程序編号。

PPID :程序的父程序的編号。

C :CPU使用的資源百分比。

STIME :程序啟動時間。

TTY :程序所屬的終端。

TIME :使用掉的CPU時間。

CMD :執行的是什麼指令。

ps -ef |grep book 檢視系統全部的程序,然後從結果集中過濾出包含“book”單詞的記錄。

34、檢視目前運作的程序:ps aux | grep test

35、檢視目前運作的輕量級程序:ps -aL | grep test

36、檢視主線程和子線程的關系:pstree -p 主線程id

37、檢視線程

在top指令中,如果加上-H參數,top中的每一行顯示的不是程序,而是一個線程。

top -H
           

2)在ps指令中加-xH參數也可以顯示線程,加grep可以過濾内容。

ps -xH
ps -xH|grep book261
           

繼續閱讀