運維平常1

1、使用w查看系統負載

w命令用於顯示目前登入系統的用戶信息。執行這項指令可得知目前登入系統的用戶有哪些人,以及他們正在執行的程序。單獨執行 w 指令會顯示全部的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息ios

一、w命令格式:w [選項] [用戶名稱]

選項
-f  開啓或關閉顯示用戶從何處登入系統
-h  不顯示各欄位的標題信息列
-l  使用詳細格式列表,此爲預設值
-s  使用簡潔格式列表,不顯示用戶登入時間,終端機階段做業和程序所耗費的CPU時間
-u  忽略執行程序的名稱,以及該程序耗費CPU時間的信息
-V  顯示版本信息

具體操做

[root@localhost ~]# w (查看系統負載)
 14:03:33 up  3:01,  2 users,  load average: 0.00, 0.01, 0.05  (系統時間和登錄時間,登陸用戶的個數,後邊的內容爲最重要的,表示1分鐘,5分鐘,15分鐘內的使用cpu活動進程有多少個)
USER TTY    FROM         LOGIN@   IDLE    JCPU   PCPU  WHAT
root tty1                11:0     33:00m  0.03s  0.03s -bash
root pts/0  192.168.1.1  11:0     35.00s  0.12s  0.03s w
[root@localhost ~]# date (可使用此命令查看時間)
2018年 06月 03日 星期日 14:04:16 CST
[root@localhost ~]# cat /proc/cpuinfo  (查看系統CPU個數,看第一行數字,0表示1顆cpu,一次類推,表示邏輯CPU)
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 58
......(中間省略)
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: 
[root@localhost ~]# uptime (uptime與w命令效果同樣)
 14:21:35 up  3:19,  2 users,  load average: 0.00, 0.01, 0.05

字段說明:

User:  登陸用戶名    
TTY:   登陸後系統分配的終端號   
From:  遠程主機名,即從哪登陸的   
login@:什麼時候登陸   
IDLE:  用戶空閒時間。這是個計時器,一旦用戶執行任何操做,改計時器就會被重置   
JCPU:  和終端鏈接的全部進程佔用時間。包括當前正在運行的後臺做業佔用時間   
PCPU:  當前進程所佔用時間   
WHAT:  當前正在運行進程的命令行

2、vmstat命令

vmstat命令的含義爲顯示虛擬內存狀態(「Viryual Memor Statics」),可是它能夠報告關於進程、內存、I/O等系統總體運行狀態nginx

一、vmstat命令格式:vmstat [選項] [參數]

選項
-a:顯示活動內頁
-f:顯示啓動後建立的進程總數
-m:顯示slab信息
-n:頭信息僅顯示一次
-s:以表格方式顯示事件計數器和內存狀態
-d:報告磁盤狀態
-p:顯示指定的硬盤分區狀態
-S:輸出信息的單位

具體操做(1)

[root@localhost ~]# vmstat  (顯示系統進程)
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy id wa st
 0  0  0 742892   2076 14373600 8 1   30   27  0  0 100  0  0
[root@localhost ~]# vmstat 1  (加1表示每一秒顯示一次,按Ctrl+c結束)
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy id wa st
 1  0  0 742736   2076 14376800 8 1   30   27  0  0 100  0  0
 0  0  0 742736   2076 14376800 016   66   56  0  0 100  0  0
 0  0  0 742736   2076 14376800 0 0   58   47  0  0 100  0  0
 0  0  0 742736   2076 14376800 0 0   72   54  0  0 100  0  0
 0  0  0 742736   2076 14376800 0 0   46   37  0  0 100  0  0
 0  0  0 742736   2076 14376800 0 0   63   52  0  0 100  0  0
 0  0  0 742736   2076 14376800 0 0   62   45  0  1 100  0  0
 0  0  0 742736   2076 14376800 0 0   50   46  0  0 100  0  0
 0  0  0 742736   2076 14376800 0 0   53   42  0  0 100  0  0
^C
[root@localhost ~]# vmstat 1 5  (表示每一秒顯示一次,只顯示五次)
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy id wa st
 1  0  0 743108   2076 14376800 8 1   30   27  0  0 100  0  0
 0  0  0 743108   2076 14376800 0 0   65   49  0  0 100  0  0
 0  0  0 743108   2076 14376800 0 0   46   40  0  0 100  0  0
 0  0  0 743108   2076 14376800 0 0   53   43  0  0 100  0  0
 0  0  0 743108   2076 14376800 0 0   42   38  0  0 100  0  0

字段說明:

1)Procs(進程)

r: 運行隊列中進程數量,這個值也能夠判斷是否須要增長CPU。(長期大於1)
b: 等待IO的進程數量
git

2)Memory(內存)

swpd: 使用虛擬內存大小,若是swpd的值不爲0,可是SI,SO的值長期爲0,這種狀況不會影響系統性能
free: 空閒物理內存大小
buff: 用做緩衝的內存大小
cache: 用做緩存的內存大小,若是cache的值大的時候,說明cache處的文件數多,若是頻繁訪問到的文件都能被cache處,那麼磁盤的讀IO bi會很是小
github

3)Swap

si: 每秒從交換區寫到內存的大小,由磁盤調入內存
so: 每秒寫入交換區的內存大小,由內存調入磁盤
web

注意:內存夠用的時候,這2個值都是0,若是這2個值長期大於0時,系統性能會受到影響,磁盤IO和CPU資源都會被消耗。有些朋友看到空閒內存(free)不多的或接近於0時,就認爲內存不夠用了,不能光看這一點,還要結合si和so,若是free不多,可是si和so也不多(大多時候是0),那麼不用擔憂,系統性能這時不會受到影響的。

4)IO

bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
算法

注意:隨機磁盤讀寫的時候,這2個值越大(如超出1024k),能看到CPU在IO等待的值也會越大。

5)system(系統)

in: 每秒中斷數,包括時鐘中斷 cs: 每秒上下文切換數shell

注意:上面2個值越大,會看到由內核消耗的CPU時間會越大。

6)CPU(以百分比表示)

us: 用戶進程執行時間百分比(user time)
sy: 內核系統進程執行時間百分比(system time)
wa: IO等待時間百分比
id: 空閒時間百分比
vim

wa的值高時,說明IO等待比較嚴重,這可能因爲磁盤大量做隨機訪問形成,也有可能磁盤出現瓶頸(塊操做)。
sy的值高時,說明系統內核消耗的CPU資源多,這並非良性表現,咱們應該檢查緣由。
us的值比較高時,說明用戶進程消耗的CPU時間多,可是若是長期超50%的使用,那麼咱們就該考慮優化程序算法或者進行加速。

3、top命令

top命令能夠實時動態地查看系統的總體運行狀況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。經過top命令所提供的互動式界面,用熱鍵能夠管理緩存

一、top命令格式:top [選項]

選項
-b:以批處理模式操做
-c:顯示完整的治命令
-d:屏幕刷新間隔時間
-I:忽略失效過程
-s:保密模式
-S:累積模式
-i:設置間隔時間
-u:指定用戶名
-p:指定進程
-n:循環顯示的次數

具體操做(1)

[root@localhost ~]# top  (查看系統進程)
top - 14:48:42 up  3:46,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  93 total,   1 running,  92 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1008176 total,   742008 free,   119936 used,   146232 buff/cache
KiB Swap:  2047996 total,  2047996 free,0 used.   724776 avail Mem

14:48:42(當前系統時間);3:46(系統已經運行了16天);2 users(個用戶當前登陸);load average: 0.00, 0.01, 0.05(系統負載,即任務隊列的平均長度)
Tasks: 93 total(總進程數);1 running(正在運行的進程數);92 sleeping(睡眠的進程數);0 stopped(中止的進程數);0 zombie(凍結進程數)
Cpu(s): 0.0%us(用戶空間佔用CPU百分比);0.2%sy(內核空間佔用CPU百分比);0.0%ni(用戶進程空間內改變過優先級的進程佔用CPU百分比);99.8%id(空閒CPU百分比);0.0%wa(等待輸入輸出的CPU時間百分比)
Mem: 1008176k total(物理內存總量);742008k used(使用的物理內存總量);119936k free(空閒內存總量);146232k buffers(用做內核緩存的內存量)
Swap:  2047996K total(交換區總量);0 used(使用的交換區總量);2047996k free(空閒交換區總量);724776k cached(緩衝的交換區總量) 

  PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
  544 root  20   0  305408   6380   4924 S   0.3  0.6   0:21.80 vmtoolsd   
 1268 root  20   0  157624   2160   1536 R   0.3  0.2   0:00.02 top
1 root  20   0  128208   6844   4080 S   0.0  0.7   0:01.57 systemd
2 root  20   0   0  0  0 S   0.0  0.0   0:00.02 kthreadd   
3 root  20   0   0  0  0 S   0.0  0.0   0:00.04 ksoftirqd/0
5 root   0 -20   0  0  0 S   0.0  0.0   0:00.00 kworker/0:0H   
7 root  rt   0   0  0  0 S   0.0  0.0   0:00.02 migration/0
8 root  20   0   0  0  0 S   0.0  0.0   0:00.00 rcu_bh 
9 root  20   0   0  0  0 S   0.0  0.0   0:02.35 rcu_sched  
   10 root  rt   0   0  0  0 S   0.0  0.0   0:00.10 watchdog/0 

按M會根據內存大小排序
  PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
  577 root  20   0  334276  29016   6896 S   0.0  2.9   0:02.79 firewalld  
  900 root  20   0  562432  16596   5916 S   0.0  1.6   0:02.66 tuned  
  538 polkitd   20   0  534936  11824   4868 S   0.0  1.2   0:00.11 polkitd
  592 root  20   0  548048   9236   6904 S   0.0  0.9   0:01.02 NetworkManager 
1 root  20   0  128208   6844   4080 S   0.0  0.7   0:01.57 systemd
  544 root  20   0  305408   6380   4924 S   0.0  0.6   0:21.83 vmtoolsd
按1會列出全部CPU的使用狀況
Tasks:  93 total,   1 running,  92 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1008176 total,   742016 free,   119936 used,   146224 buff/cache
[root@localhost ~]# top -c  (能夠查看命令的全局狀態)
top - 14:57:07 up  3:54,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  92 total,   1 running,  91 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1008176 total,   742024 free,   119920 used,   146232 buff/cache
KiB Swap:  2047996 total,  2047996 free,0 used.   724792 avail Mem 

  PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
  542 root  20   0   21664   1284972 S   0.3  0.1   0:05.52 /usr/sbin/irqbalance --foreground  
1 root  20   0  128208   6844   4080 S   0.0  0.7   0:01.57 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 
2 root  20   0   0  0  0 S   0.0  0.0   0:00.03 [kthreadd] 
3 root  20   0   0  0  0 S   0.0  0.0   0:00.05 [ksoftirqd/0]  
5 root   0 -20   0  0  0 S   0.0  0.0   0:00.00 [kworker/0:0H] 
7 root  rt   0   0  0  0 S   0.0  0.0   0:00.02 [migration/0]  
8 root  20   0   0  0  0 S   0.0  0.0   0:00.00 [rcu_bh]   
9 root  20   0   0  0  0 S   0.0  0.0   0:02.99 [rcu_sched]
   10 root  rt   0   0  0  0 S   0.0  0.0   0:00.10 [watchdog/0]   
   11 root  rt   0   0  0  0 S   0.0  0.0   0:00.10 [watchdog/1]
[root@localhost ~]# top -bn1  (靜態顯示,一次性顯示所有,可用於shell腳本)
top - 14:58:20 up  3:56,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  92 total,   1 running,  91 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1008176 total,   742404 free,   119544 used,   146228 buff/cache
KiB Swap:  2047996 total,  2047996 free,0 used.   725172 avail Mem 

  PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND
 1273 root  20   0  157624   2048   1504 R   6.7  0.2   0:00.01 top
1 root  20   0  128208   6844   4080 S   0.0  0.7   0:01.57 systemd
2 root  20   0   0  0  0 S   0.0  0.0   0:00.03 kthreadd
3 root  20   0   0  0  0 S   0.0  0.0   0:00.05 ksoftirqd/0
......(中間省略)
 1269 root  20   0   0  0  0 S   0.0  0.0   0:00.01 kworker/0:1
 1272 root  20   0   0  0  0 S   0.0  0.0   0:00.00 kworker/0:2

4、sar命令

sar命令是Linux下系統運行狀態統計工具,它將指定的操做系統狀態計數器顯示到標準輸出設備,被戲稱爲Linux的「瑞士×××」,可見其有強大的功能bash

一、sar命令格式:sar [選項] [參數]

選項
-A:顯示全部的報告信息
-b:顯示I/O速率
-B:顯示換頁狀態
-c:顯示進程建立活動
-d:顯示每一個塊設備的狀態
-e:設置顯示報告的結束時間
-f:從指定文件提取報告
-i:設狀態信息刷新的間隔時間
-P:報告每一個CPU的狀態
-R:顯示內存狀態
-u:顯示CPU利用率
-v:顯示索引節點,文件和其餘內核表的狀態
-w:顯示交換分區狀態
-x:顯示給定進程的狀態

具體操做(1)

[root@localhost ~]# sar
-bash: sar: 未找到命令
[root@localhost ~]# yum install -y sysstat  (首先須要安裝sar命令)
已加載插件:fastestmirror
base 
......(中間省略)
[root@localhost ~]# sar (sar不加任何選項,會默認調用歷史系統軟件)
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     2018年06月03日     _x86_64_    (2 CPU)
[root@localhost ~]# sar -n DEV 1 5  (查看系統流量使用,每一秒顯示一次,顯示5次)
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     2018年06月03日     _x86_64_    (2 CPU)

15時22分06秒 IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s
15時22分07秒lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
15時22分07秒 ens33  0.00  0.00  0.00  0.00  0.00  0.00  0.00

15時22分07秒 IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s
15時22分08秒lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
15時22分08秒 ens33  1.00  1.00  0.06  0.38  0.00  0.00  0.00

15時22分08秒 IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s
15時22分09秒lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
15時22分09秒 ens33  1.00  1.00  0.06  0.38  0.00  0.00  0.00

15時22分09秒 IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s
15時22分10秒lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
15時22分10秒 ens33  1.00  1.00  0.06  0.38  0.00  0.00  0.00

15時22分10秒 IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s
15時22分11秒lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
15時22分11秒 ens33  1.00  1.00  0.06  0.38  0.00  0.00  0.00

平均時間: IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均時間:lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
平均時間: ens33  0.80  0.80  0.05  0.31  0.00  0.00  0.00

字段介紹
第一列:系統時間
第二列:網卡名稱
第三列:接收的數據包數量 (幾千爲一個合適值)
第四列:發送的數據包數量
第五列:接收的數據量
第六列:發送的數據量
後邊的不會對系統運行有很大影響
[root@localhost ~]# sar -q  (查看系統負載)
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     2018年06月03日     _x86_64_    (2 CPU)

15時10分02秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
15時20分01秒 0   111  0.00  0.01  0.05 0
平均時間: 0   111  0.00  0.01  0.05 0
[root@localhost ~]# sar -q -f /var/log/sa/sa03 (查看系統負載以及系統歷史文件)
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     2018年06月03日     _x86_64_    (2 CPU)

15時10分02秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
15時20分01秒 0   111  0.00  0.01  0.05 0
平均時間: 0   111  0.00  0.01  0.05 0
[root@localhost ~]# sar -n DEV  -f /var/log/sa/sa03
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     2018年06月03日     _x86_64_    (2 CPU)

15時10分02秒 IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s
15時20分01秒lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
15時20分01秒 ens33  0.06  0.06  0.00  0.00  0.00  0.00  0.00
平均時間:lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00
平均時間: ens33  0.06  0.06  0.00  0.00  0.00  0.00  0.00
[root@localhost ~]# sar -b  (產看磁盤負載)
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     2018年06月03日     _x86_64_    (2 CPU)

15時10分02秒   tps  rtps  wtps   bread/s   bwrtn/s
15時20分01秒  0.04  0.00  0.04  0.00  0.56
平均時間:  0.04  0.00  0.04  0.00  0.56
[root@localhost ~]# ls /var/log/sa
sa03  (sa03不是一個二進制文件,不能夠用cat查看)
[root@localhost ~]# ls /var/log/sa/sar18 (還會有sar18文件,會在明年生成)

5、nload命令

nload命令用來即時監看網路狀態和各ip所使用的頻寬

一、nload命令格式:nload [選項]

nload默認的是eth0網卡,若是你想監測eth1網卡的流量,須要輸入:nload eth1

選項
-a:這個好像是所有數據的刷新時間週期,單位是秒,默認是300
-i:進入網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s
-m:不顯示流量圖,只顯示統計數據
-o:出去網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s
-t:顯示數據的刷新時間間隔,單位是毫秒,默認500
-u:設置右邊Curr、Avg、Min、Max的數據單位,默認是自動變的.注意大小寫單位不一樣
-U:設置右邊Ttl的數據單位,默認是自動變的.注意大小寫單位不一樣(與-u相同)

具體操做

[root@localhost ~]# nload (能夠查看,第一行顯示網卡名稱,括號內顯示說明有兩個網卡,能夠按左右的方向鍵控制查看)
Device ens33 [192.168.1.131] (1/2):
============================================================================================================================================================================================
Incoming:


   Curr: 944.00 Bit/s
   Avg: 968.00 Bit/s
   Min: 880.00 Bit/s
   Max: 1.84 kBit/s
   Ttl: 7.50 MByte
Outgoing:


   Curr: 9.54 kBit/s
   Avg: 9.52 kBit/s
   Min: 3.75 kBit/s
   Max: 10.23 kBit/s
   Ttl: 2.12 MByte

6、監控io性能

iosatat和iotop命令:監控磁盤

一、iostat -x使用方法

使用iostat命令,首先要進行安裝,安裝sar命令的時候的安裝包也是iostat命令的安裝包
[root@localhost ~]# iostat -x
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     2018年06月03日     _x86_64_    (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
   0.040.000.090.050.00   99.81

Device: rrqm/s   wrqm/s r/s w/srkB/swkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda   0.00  0.02  0.32  0.21 10.93 5.65   61.56   0.01  17.9  57.54   33.78   3.04   0.16
sdb   0.00  0.00  0.00  0.00 0.12  0.00   47.27   0.00  0.17  0.17  0.00   0.15   0.00
scd0  0.00  0.00  0.00  0.00 0.06  0.00   114.22  0.00  0.56  0.56  0.00   0.33   0.00
主要關注:%util列,這一列表示磁盤有多少時間使用CPU的百分比,若是數字很大磁盤很忙

二、iotop使用方法

[root@localhost ~]# iotop 
-bash: iotop: 未找到命令
[root@localhost ~]# yum install -y iotop  (首先要安裝該命令)
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.sohu.com
 * epel: mirrors.ustc.edu.cn
......(中間省略)
已安裝:
  iotop.noarch 0:0.6-2.el7  

完畢!
[root@localhost ~]# iotop  (會動態顯示磁盤使用狀況,io會按照大小排序)
Total DISK READ :   0.00 B/s | Total DISK WRITE :   0.00 B/s
Actual DISK READ:   0.00 B/s | Actual DISK WRITE:   0.00 B/s
  TID  PRIO  USER DISK READ  DISK WRITE  SWAPIN IO>COMMAND  
 1024 be/4 root0.00 B/s0.00 B/s  0.00 %  0.00 % -bash
1 be/4 root0.00 B/s0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
2 be/4 root0.00 B/s0.00 B/s  0.00 %  0.00 % [kthreadd]

7、free命令

free命令能夠顯示當前系統未使用的和已使用的內存數目,還能夠顯示被內核使用的內存緩衝區

一、free命令格式:free [選項]

選項
-b  以Byte爲單位顯示內存使用狀況
-k  以KB爲單位顯示內存使用狀況
-m  以MB爲單位顯示內存使用狀況
-o  不顯示緩衝區調節列
-s  持續觀察內存使用情況
-t  顯示內存總和列
-V  顯示版本信息

二、具體操做

[root@localhost ~]# free  (查看內存狀況)
        total    used    free     shared  buff/cache   available
Mem:    1008176  121420  562760   6892    323996       702944
Swap:   2047996  0       2047996
[root@localhost ~]# free -m  (以MB爲單位顯示內存使用狀況)
        total    used    free     shared  buff/cache   available
Mem:    984      118     549       6      316          686
Swap:   1999     0       1999
[root@localhost ~]# free -h  (自動計算以合適的單位顯示內存大小)
        total    used    free     shared  buff/cache   available
Mem:    984M     118M    549M     6.7M    316M         686M
Swap:   2.0G     0B      2.0G

字段解釋

total:         內存總數
used:          已經使用的內存數
free:          空閒的內存數
shared:        當前已經廢棄不用
buffers Buffer:緩存內存數
cached Page:   緩存內存數

知識點

1)數據(磁盤)-->內存(cache)-->cpu (CPU從磁盤中讀取數據,會很浪費時間,因此會首先將磁盤中的數據放入到內存中,此內存爲:cache稱之爲:緩存)

2)cpu-->內存(buffer)-->磁盤 (將CPU已經運行完成的數據存放磁盤,也會一樣通過內存在進入磁盤,此內存爲:buffer,稱之爲:緩衝)

3)

total=used+free+buff/cache
available包含free和buff/cache剩餘的空間

8、ps命令

ps命令用於報告當前系統的進程狀態。能夠搭配kill指令隨時中斷、刪除沒必要要的程序

一、命令格式:ps [選項]

選項
-a :顯示全部的容器,包括未運行的
-f :根據條件過濾顯示的內容
-l :顯示最近建立的容器
-n :列出最近建立的n個容器
-q :靜默模式,只顯示容器編號
-s :顯示總的文件大小
--format :   指定返回值的模板文件
--no-trunc : 不截斷輸出

具體操做

[root@localhost ~]# ps aux (能夠查看全部進程)
USER   PID %CPU %MEMVSZ   RSS TTY  STAT START   TIME COMMAND
root 1  0.0  0.6 128208  6856 ?Ss   11:02   0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
......(中間省略)
root  1557  4.0  0.1 151104  1844 pts/0R+   17:53   0:00 ps aux
[root@localhost ~]# ps aux |grep nginx  (查看某個進程是否正在運行)
root  1559  0.0  0.0 112720   980 pts/0S+   17:53   0:00 grep --color=auto nginx
[root@localhost ~]# ps -elf  (與ps aux的效果同樣,均可以查看所有進程)
F S UIDPID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY  TIME CMD
4 S root 1 0  0  80   0 - 32052 ep_pol 11:02 ?00:00:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
......(中間省略)
1 R root  1556 2  0  80   0 - 0 -  17:50 ?00:00:00 [kworker/1:2]
0 R root  1561  1045  0  80   0 - 37776 -  17:53 pts/000:00:00 ps -elf

ps aux命令下的字段介紹

USER:該進程屬於哪一個使用者帳號的  
PID :該進程的號碼  (此號碼能夠用於殺死一個進程:kill 進程PID或者查看一個非法進程的目錄:ls -l /proc/進程PID)
%CPU:該進程使用掉的 CPU 資源百分比  
%MEM:該進程所佔用的物理內存百分比  
VSZ :該進程使用掉的虛擬內存量 (Kbytes)  
RSS :該進程佔用的固定的內存量 (Kbytes)  
TTY :該進程是在哪一個終端機上面運做,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若爲 pts/0 的,則表示爲由網絡鏈接進主機的程序。  
STAT:該程序目前的狀態,主要的狀態有
START:該進程被觸發啓動的時間  
TIME :該進程實際使用 CPU 運做的時間  
COMMAND:該程序的實際指令

知識點:一、STAT的主要的狀態有

1)D :不能中斷的進程,該進程會影響cpu負載

2)R :該程序目前正在運做,或者是可被運做

3)T :該程序目前正在偵測或者是中止了

[root@localhost ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy id wa st
 2  0  0 562792   2076 32206400 4 2   27   23  0  0 100  0  0
 0  0  0 562668   2076 32206400 0 0   54   44  0  0 100  0  0
 0  0  0 562652   2076 32206400 0 0   51   42  0  1 100  0  0
^Z
[1]+  已中止   vmstat 1 
[root@localhost ~]# ps aux |grep vmstat  (此種進程不會耗費過多的CPU資源)
root  1585  0.2  0.1 148356  1356 pts/0T18:05   0:00 vmstat 1
root  1587  0.0  0.0 112720   984 pts/0S+   18:05   0:00 grep --color=auto vmstat

4)S :sleep狀態的進程

5)Z :殭屍進程 (殭屍進程過多會增長過多的負載,應該殺死)

6)< :高優先級進程

7)N :低優先級進程

8)L :內存中被鎖的內存分頁

9)l :多線程進程

10)s :主進程

11)+ :前臺進程

二、-C和--no-heading的用法

[root@ma-1 ~]# ps -C sshd  (-C後跟進程名稱)
  PID TTY  TIME CMD
  904 ?00:00:00 sshd
 1047 ?00:00:00 sshd
[root@ma-1 ~]# ps --no-heading -C  sshd (--no-heading能夠去除表頭信息)
  904 ?00:00:00 sshd
 1047 ?00:00:00 sshd
[root@ma-1 ~]# ps --no-heading -C  sshd | wc -l (在shell腳本中可使用)
2

9、查看網絡狀態

netstat命令是用來查看網絡狀態的

一、命令格式:netstat [選項]

選項
-a或--all:顯示全部連線中的Socket
-A<網絡類型>或--<網絡類型>:列出該網絡類型連線中的相關地址
-c或--continuous:持續列出網絡狀態
-C或--cache:顯示路由器配置的快取信息
-e或--extend:顯示網絡其餘相關信息
-F或--fib:顯示FIB
-g或--groups:顯示多重廣播功能羣組組員名單
-h或--help:在線幫助
-i或--interfaces:顯示網絡界面信息表單
-l或--listening:顯示監控中的服務器的Socket
-M或--masquerade:顯示假裝的網絡連線
-n或--numeric:直接使用ip地址,而不經過域名服務器
-N或--netlink或--symbolic:顯示網絡硬件外圍設備的符號鏈接名稱
-o或--timers:顯示計時器
-p或--programs:顯示正在使用Socket的程序識別碼和程序名稱
-r或--route:顯示Routing Table
-s或--statistice:顯示網絡工做信息統計表
-t或--tcp:顯示TCP傳輸協議的連線情況
-u或--udp:顯示UDP傳輸協議的連線情況
-v或--verbose:顯示指令執行過程
-V或--version:顯示版本信息
-w或--raw:顯示RAW傳輸協議的連線情況
-x或--unix:此參數的效果和指定"-A unix"參數相同
--ip或--inet:此參數的效果和指定"-A inet"參數相同

具體操做

[root@localhost ~]# netstat -lnp  (查看監聽端口)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address State   PID/Program name
tcp0  0 0.0.0.0:22  0.0.0.0:*   LISTEN  901/sshd
tcp0  0 127.0.0.1:250.0.0.0:*   LISTEN  1008/master 
tcp6   0  0 :::22   :::*LISTEN  901/sshd
tcp6   0  0 ::1:25  :::*LISTEN  1008/master 
udp0  0 127.0.0.1:323   0.0.0.0:*   552/chronyd 
udp6   0  0 ::1:323 :::*552/chronyd 
raw6   0  0 :::58   :::*7   592/NetworkManager  
......(中間省略)
unix  2  [ ACC ] STREAM LISTENING 171051008/master  public/pickup
unix  2  [ ACC ] STREAM LISTENING 171091008/master  public/cleanup
[root@localhost ~]# netstat -an   (查看系統的網絡鏈接情況)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address State  
tcp0  0 0.0.0.0:22  0.0.0.0:*   LISTEN 
tcp0  0 127.0.0.1:250.0.0.0:*   LISTEN 
......(中間省略)
unix  3  [ ] DGRAM12251
unix  3  [ ] STREAM CONNECTED 17132
[root@localhost ~]# netstat -ltunp  (只查看tcp和udp的監聽端口)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address State   PID/Program name
tcp0  0 0.0.0.0:22  0.0.0.0:*   LISTEN  901/sshd
tcp0  0 127.0.0.1:250.0.0.0:*   LISTEN  1008/master 
tcp6   0  0 :::22   :::*LISTEN  901/sshd
tcp6   0  0 ::1:25  :::*LISTEN  1008/master 
udp0  0 127.0.0.1:323   0.0.0.0:*   552/chronyd 
udp6   0  0 ::1:323 :::*552/chronyd 
[root@localhost ~]# ss -an  (此命令和netstat -lnp命令效果相差很少,能夠相互使用)
Netid  State  Recv-Q Send-Q  Local Address:Port Peer Address:Port  
nl UNCONN 0  0   0:0*   
nl UNCONN 0  0   0:-662699440   *   
......(中間省略)  
tcpLISTEN 0  128:::22 :::*  
tcpLISTEN 0  100   ::1:25 :::*  
[root@localhost ~]# netstat -lnp |grep -i lis  (此命令能夠查看以lis開頭的文件。-i是爲了區分大小寫)
tcp0  0 0.0.0.0:22  0.0.0.0:*   LISTEN  901/sshd
tcp0  0 127.0.0.1:250.0.0.0:*   LISTEN  1008/master 
tcp6   0  0 :::22   :::*LISTEN  901/sshd
tcp6   0  0 ::1:25  :::*LISTEN  1008/master 
unix  2  [ ACC ] STREAM LISTENING 8233 1/systemd/run/systemd/journal/stdout
......(中間省略)
unix  2  [ ACC ] STREAM LISTENING 171051008/master  public/pickup
unix  2  [ ACC ] STREAM LISTENING 171091008/master  public/cleanup
[root@localhost ~]# netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}' (查看各類文件的數量)
LISTEN   4
ESTABLISHED      1  (該文件表示有多少客戶端在於服務端通訊,該數值越大代表服務器越繁忙)

知識點

1)若是在沒有監聽端口的狀況下,是沒有辦法和其餘機器通訊的

2)tcp中ip的三次握手和四次揮手

https://blog.csdn.net/qq_34022469/article/details/52728304
https://blog.csdn.net/a987073381/article/details/52206215

3)socket文件能夠是進程之間通訊,但必須是同一臺服務器

4)其餘一些經常使用命令

列出全部端口 (包括監聽和未監聽的)

netstat -a   列出全部端口
netstat -at  列出全部tcp端口
netstat -au  列出全部udp端口

列出全部處於監聽狀態的 Sockets

netstat -l     只顯示監聽端口
netstat -lt    只列出全部監聽 tcp 端口
netstat -lu    只列出全部監聽 udp 端口
netstat -lx    只列出全部監聽 UNIX 端口

顯示每一個協議的統計信息

netstat -s    顯示全部端口的統計信息
netstat -st   顯示TCP端口的統計信息
netstat -su   顯示UDP端口的統計信息

在netstat輸出中顯示 PID 和進程名稱

netstat -pt

4)ip命令使用

1. 設置和刪除IP

ip  addr add 192.168.10.10/24  dev eth0
ip  addr show eth0
ip addr del 192.168.10.10/24  dev eth0

2. 路由相關設置

ip route show
ip route add default  via 192.168.10.1
ip route add 192.168.5.0/24 dev eth0
ip route del 192.168.10.1

另外用route命令來管理路由

(a)、網絡路由
# route add -net 192.168.1.0/24 gw 172.16.1.106
(b)、主機路由
# route add -host 192.168.1.110 gw 172.16.1.106
(c)、默認路由
# route add default gw 172.16.1.106
或
# route add -net 0.0.0.0 gw 172.16.1.106
(d)、刪除路由
# route del -host 192.168.1.110
# route del -net 192.168.1.0/24

3. 顯示網絡統計數據

ip -s link
ip -s -s link ls eth0

4. 中止開啓網卡

ip link set eth0 down
ip linke set eth0 up

5.更改網卡名字

ip link set ens37 name eth1

10、Linux下抓包

抓包工具:tcpdump

一、tcpdump命令格式:tcpdump [選項]

選項
-a:           嘗試將網絡和廣播地址轉換成名稱
-c<數據包數目>:收到指定的數據包數目後,就中止進行傾倒操做
-d:           把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標準輸出
-dd:          把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標準輸出
-ddd:         把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標準輸出
-e:           在每列傾倒資料上顯示鏈接層級的文件頭
-f:           用數字顯示網際網絡地址
-F<表達文件>:  指定內含表達方式的文件
-i<網絡界面>:  使用指定的網絡截面送出數據包
-l:           使用標準輸出列的緩衝區
-n:           不把主機的網絡地址轉換成名字
-N:           不列出域名
-O:           不將數據包編碼最佳化
-p:           不讓網絡界面進入混雜模式
-q:           快速輸出,僅列出少數的傳輸協議信息
-r<數據包文件>:從指定的文件讀取數據包數據
-s<數據包大小>:設置每一個數據包的大小
-S:           用絕對而非相對數值列出TCP關聯數
-t:           在每列傾倒資料上不顯示時間戳記
-tt:          在每列傾倒資料上顯示未經格式化的時間戳記
-T<數據包類型>:強制將表達方式所指定的數據包轉譯成設置的數據包類型
-v:           詳細顯示指令執行過程
-vv:          更詳細顯示指令執行過程
-x:           用十六進制字碼列出數據包資料
-w<數據包文件>:把數據包數據寫入指定的文件

具體操做

[root@localhost ~]# yum install -y tcpdump (安裝tcpdump命令)
[root@localhost ~]# tcpdump -nn -i ens33  (對網卡名爲:ens33的網卡進行抓包)
20:25:22.943507 IP 192.168.1.1.49289 > 192.168.1.131.22: Flags [.], ack 2039140, win 7720, length 0
......(中間省略)
20:25:22.944119 IP 192.168.1.131.22 > 192.168.1.1.49289: Flags [P.], seq 2039728:2039988, ack 365, win 291, length 260
第一列:系統時間
第二列:IP
第三列:原IP和原端口,後跟指定方向
第四列:進入的IP和端口
第五列:數據包信息
[root@localhost ~]# tcpdump -i ens33  (在不加-nn的狀況下顯示的再也不是IP而是主機名)
20:31:20.246608 IP 192.168.1.1.49289 > localhost.localdomain.ssh: Flags [.], ack 1795676, win 11338, length 0
......(中間省略)
20:31:20.246769 IP 192.168.1.1.49289 > localhost.localdomain.ssh: Flags [P.], seq 313:365, ack 1795676, win 11338, length 52
[root@localhost ~]# tcpdump -nn -i ens33 port 80  (指定只須要抓該網卡下的80端口數據包)
[root@localhost ~]# tcpdump -nn -i ens33 not port 22 (指定不須要抓該網卡下的22端口數據包)
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
[root@localhost ~]# tcpdump -nn -i ens33 not port 22 and host 192.168.1.1  (指定不須要抓該網卡下的22端口數據包而且抓該192.168.1.1的數據包)
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
^[[Aqu20:34:04.806349 ARP, Request who-has 192.168.1.131 (00:0c:29:ec:44:82) tell 192.168.1.1, length 46
20:34:04.806377 ARP, Reply 192.168.1.131 is-at 00:0c:29:ec:44:82, length 28
iqqqquia^H^Z
[2]+  已中止   tcpdump -nn -i ens33 not port 22 and host 192.168.1.1
[root@localhost ~]# tcpdump -i ens33 -c 100 -w /tmp/1.cap  (-c指定抓包的數量,-w指定抓包的路徑)
[root@localhost ~]# yum install -y wireshark  (安裝tshark命令)
[root@localhost ~]# tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e

知識點

1)存放數據包的文件不能用cat查看,會出現亂碼,應該用:tcpdump -r 路徑 查看

2)tshark相關知識點

https://blog.csdn.net/github_39069288/article/details/75670401

11、Linux網絡相關

一、ifconfig查看網關

[root@localhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.1.131  netmask 255.255.255.0  broadcast 192.168.1.255
inet6 fe80::6aac:3e4d:6b3:73ee  prefixlen 64  scopeid 0x20<link>
ether 00:0c:29:ec:44:82  txqueuelen 1000  (Ethernet)
RX packets 33800  bytes 27620379 (26.3 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 29772  bytes 7768190 (7.4 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10<host>
loop  txqueuelen 1  (Local Loopback)
RX packets 72  bytes 6256 (6.1 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 72  bytes 6256 (6.1 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

當網卡無IP時不顯示,用下邊命令

[root@localhost ~]# ifconfig  -a

ifdown ens33爲斷開網卡,ifup ens33從新鏈接網卡

[root@localhost ~]# ifdown ens33 && ifup ens33 
成功斷開設備 'ens33'。
鏈接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/3)

二、設定虛擬網卡

[root@localhost ~]# cd /etc/sysconfig/network-scripts/  (進入網卡配置文件目錄下)
[root@localhost network-scripts]# ls
ifcfg-ens33  ifdown-bnep  ifdown-ipv6  ifdown-ppp ifdown-Team  ifup  ifup-eth   ifup-isdn   ifup-postifup-sit   ifup-tunnel   network-functions
ifcfg-lo ifdown-eth   ifdown-isdn  ifdown-routes  ifdown-TeamPort  ifup-aliases  ifup-ippp  ifup-plip   ifup-ppp ifup-Team  ifup-wireless network-functions-ipv6
ifdown   ifdown-ippp  ifdown-post  ifdown-sit ifdown-tunnelifup-bnep ifup-ipv6  ifup-plusb  ifup-routes  ifup-TeamPort  init.ipv6-global
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1  (拷貝一份配置文件,命名爲:1,加\是爲了脫義:)
[root@localhost network-scripts]# vi !$  (修改配置文件)
vi ifcfg-ens33\:1

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33:1  (修改NAME、DEVICE字段值,分別加上:1)
UUID=84285fdd-1036-410d-94b7-01c5a5b909a3
DEVICE=ens33:1
IPADDR=192.168.1.145
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
[root@localhost network-scripts]# ifdown ens33 && ifup ens33  (斷開並從新鏈接網卡)
成功斷開設備 'ens33'。
鏈接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/8)
[root@localhost network-scripts]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.1.131  netmask 255.255.255.0  broadcast 192.168.1.255
inet6 fe80::6aac:3e4d:6b3:73ee  prefixlen 64  scopeid 0x20<link>
ether 00:0c:29:ec:44:82  txqueuelen 1000  (Ethernet)
RX packets 34586  bytes 27689389 (26.4 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 30389  bytes 7863035 (7.4 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  (會發現多了一個虛擬網卡ens33:1)
inet 192.168.1.145  netmask 255.255.255.0  broadcast 192.168.1.255 (此虛擬網卡能夠在Windowsping通)
ether 00:0c:29:ec:44:82  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet 127.0.0.1  netmask 255.0.0.0
inet6 ::1  prefixlen 128  scopeid 0x10<host>
loop  txqueuelen 1  (Local Loopback)
RX packets 96  bytes 8320 (8.1 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 96  bytes 8320 (8.1 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

三、查看網卡是否鏈接網絡

[root@localhost network-scripts]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok (當不顯示link ok時,用ethtool命令)
[root@localhost network-scripts]# ethtool ens33
Settings for ens33:
Supported ports: [ TP ]
Supported link modes:   10baseT/Half 10baseT/Full 
100baseT/Half 100baseT/Full 
1000baseT/Full 
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full 
100baseT/Half 100baseT/Full 
1000baseT/Full 
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
           drv probe link
Link detected: yes  (顯示爲yes)

四、更改主機名

[root@localhost network-scripts]# hostnamectl set-hostname ma-1  (更改主機名命令)
[root@localhost network-scripts]# cd ~
[root@localhost ~]# bash  (更改完成在當前終端不會顯示,斷開或者才進入子shell發現變動)
[root@ma-1 ~]# cat /etc/hostname   (主機名配置文件)
ma-1

五、dns配置文件

[root@ma-1 ~]# cat /etc/resolv.conf   (dns配置文件)
# Generated by NetworkManager
nameserver 119.29.29.29
[root@ma-1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33  (更改網卡配置文件)

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=84285fdd-1036-410d-94b7-01c5a5b909a3
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.131
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=119.29.29.29
DNS2=8.8.8.8   (添加一個新的dns)
[root@ma-1 ~]# ifdown ens33 && ifup ens33  (從新啓動網卡)
成功斷開設備 'ens33'。
鏈接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/9)
[root@ma-1 ~]# cat /etc/resolv.conf   (查看已添加一個新的dns)
# Generated by NetworkManager
nameserver 119.29.29.29
nameserver 8.8.8.8
[root@ma-1 ~]# vim /etc/resolv.conf(臨時更改dns文件配置)

# Generated by NetworkManager
nameserver 119.29.29.29
nameserver 8.8.8.8

6、配置文件 /etc/hosts

[root@ma-1 ~]# cat /etc/hosts  (查看該配置文件))
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@ma-1 ~]# vi !$
vi /etc/hosts
[root@ma-1 ~]# ping www.qq123.com   (ping該網址,IP是202.91.250.93)
PING www.qq123.com (202.91.250.93) 56(84) bytes of data.
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=1 ttl=128 time=50.9 ms
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=3 ttl=128 time=50.8 ms
^C
--- www.qq123.com ping statistics ---
3 packets transmitted, 2 received, 33% packet loss, time 2004ms
rtt min/avg/max/mdev = 50.880/50.890/50.901/0.225 ms
[root@ma-1 ~]# vi /etc/hosts  (修改該網址的訪問IP)
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.131 www.qq123.com www.qq.com www.baidu.com  (一個IP支持多個域名)
127.0.0.1  www.qq.com
[root@ma-1 ~]# ping www.qq123.com  (IP已被更改)
PING www.qq123.com (192.168.1.131) 56(84) bytes of data.
64 bytes from www.qq123.com (192.168.1.131): icmp_seq=1 ttl=64 time=0.067 ms
64 bytes from www.qq123.com (192.168.1.131): icmp_seq=2 ttl=64 time=0.083 ms
64 bytes from www.qq123.com (192.168.1.131): icmp_seq=3 ttl=64 time=0.379 ms
^C
--- www.qq123.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.067/0.176/0.379/0.143 ms
[root@ma-1 ~]# ping www.baidu.com   (次訪問的域名也是IP)
PING www.qq123.com (192.168.1.131) 56(84) bytes of data.
64 bytes from www.qq123.com (192.168.1.131): icmp_seq=1 ttl=64 time=0.441 ms
64 bytes from www.qq123.com (192.168.1.131): icmp_seq=2 ttl=64 time=0.086 ms
^C
--- www.qq123.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.086/0.263/0.441/0.178 ms
[root@ma-1 ~]# ping www.qq.com  (當一個IP對應多個IP以最後一個爲準)
PING www.qq123.com (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.076 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.087 ms
^C
--- www.qq123.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.076/0.081/0.087/0.010 ms![image](https://note.youdao.com/favicon.ico)
相關文章
相關標籤/搜索