1. 程式人生 > 實用技巧 >Linux常用命令--網路與程序管理

Linux常用命令--網路與程序管理

Linux常用命令--網路與程序管理

網路配置

關於網路的兩條指令:

  1. ifconfig: 配置和顯示Linux系統網絡卡的網路引數
  2. ping: 目的主機 測試主機之間的網路連通性

檢測主機連線
執行ping指令會使用ICMP傳輸協議,發出要求迴應的資訊,若遠端主機的網路功能沒有問題,就會迴應該資訊,因而得知該主機運作正常。
如:ping 114.114.114.114

配置網路

下面講解如何修改配置檔案,指定ip,並可以連線公網.

  1. 修改配置檔案
    這裡修改的是/etc/sysconfig/network-scripts/下的ifcfg-ens33檔案 (不同的網絡卡對應不同的檔案,格式為ifcfg-
    + 網絡卡名稱, )
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    具體配置根據個人而定,
BOOTPROTO="static"	# 是否要使用靜態地址,動態地址用 "dhcp"

############### 假如是dhcp的話,不用寫下面這幾個 ###################

IPADDR=xxx.xxx.xxx.xxx	# ip地址

GATEWAY=xxx.xxx.xxx.xxx # 閘道器

DNS1=xx.xxx.xxx.xxx		# 域名系統
  1. 重啟網路服務

使用service network restart命令重啟網路服務或者使用reboot

重啟電腦

設定主機名和hosts對映

主機名:修改/etc/hostname,這是一個只要主機名的檔案,改成自己想要的,儲存退出即可。
注意:需要重啟才能生效。

hosts:修改/etc/hosts,格式是:ip host,如111.111.111.111 www.baidu.com
DNS查詢流程
瀏覽器快取 --> DNS快取 --> hosts --> DNS

windows顯示和清理DNS
ipconfig /displaydns # 顯示
ipconfig /flushdns # 清理

監控網路狀態

netstat是用來監控網路狀態的指令。一般使用的選項有:-an

: 按一定的順序輸出、-p: 顯示哪個程序呼叫。
所以,一般用netstat -anp這個命令。

程序管理

檢視程序

程序有前臺與後臺之分,在linux中使用ps命令檢視程序。
ps 檢視程序命令;-a 顯示當前終端所有程序;-u 以使用者格式顯示 ;-x 顯示後臺程序執行引數。

常使用ps -aux命令,其輸出格式 :

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
程序所有者 程序ID 佔用的 CPU 使用率 佔用的記憶體使用率 佔用的虛擬記憶體大小 佔用的記憶體大小 終端的次要裝置號碼 程序狀態(S: 睡眠 R: 正在執行 Z: 僵死 T: 被跟蹤/停止) 啟動程序的時間 程序消耗CPU的時間 命令的名稱和引數

檢視父程序
ps -ef (-e 顯示所有程序、-f 全格式)
結果中的PID指的是本程序的ID;PPID指的是父程序的ID

檢視程序樹
pstree 檢視程序樹
-p 顯示程序ID
-u 顯示程序的所屬使用者

終止程序

kill 程序號,如:kill 9416,
-9: 表示強迫程序立即停止
killall 程序名 可以殺多個程序,支援萬用字元。如:killall gedit

服務管理

服務本身就是一個程序,它們通常執行在後臺,監聽某個埠,等待其它程式的請求,因此,又可以稱值為守護程序。

service命令

service指令是控制系統服務的工具。
用法:
service 服務名 [start | stop | restart | reload | status],如 service network status
注意:centos7之後服務一般由systemctl管理, service繼續管理的服務在/etc/init.d/下可以看到

設定服務啟動

檢視自啟動服務有哪些
輸入setup 命令,然後選擇“系統服務”。其中,*表示自啟動
開機流程:開機 -> BIOS -> /boot -> systemd程序1 -> 執行級別 -> 執行相對應的服務
上面的setup有設定自啟動的功能,linux還有一個命令可以根據系統執行級別來配置一個服務是否自啟動。

為了管理不同執行級別下的自啟動服務,Red Hat公司開發了chkconfig命令,用於檢查或設定系統的各種服務。

檢視服務:chkconfig --list
設定服務:chkconfig --level 服務級別 服務名 on/off
如:chkconfig --level 5 network on, 表示:在5執行級別下開啟network服務
注意:

  1. 和service一樣,centos7之後使用systemctl管理,chkconfig繼續管理服務的在/etc/init.d/下可以看到
  2. 設定完之後,需要重啟後才能生效。

systemctl命令

systemctl命令是一個系統服務管理器指令,它實際上將 service 和 chkconfig 這兩個命令組合到了一起。

systemctl可以管理的服務在/usr/lib/systemd/system/目錄下。

服務管理

  1. 查詢狀態 systemctl status 服務名, 如:systemctl status firewalld
  2. 關閉服務 systemctl stop 服務名, 如:systemctl stop firewalld
  3. 開啟服務 systemctl start 服務名, 如:systemctl start firewalld
    注意:啟動或關閉服務只是臨時的,要儲存的話,需要設定開機啟動狀態(enable/disable),如下

自啟動管理(3和5級別)

  1. 檢視服務開機啟動狀態 systemctl list-unit-files,要查詢某個具體的服務時,使用grep
  2. 設定開機啟動 systemctl enable/disable 服務名
  3. 查詢服務是否開機啟動 systemctl is-enabled 服務名

firewall 防火牆管理

查詢 firewall-cmd --query-port=埠/協議
開啟埠 firewall-cmd --permanent --add-port=埠/協議
關閉埠 firewall-cmd --permanent --remove-port=埠/協議
注意開啟或關閉埠後,需要重新載入才能生效:firewall-cmd reload

動態監控程序

top和ps命令相似,不同的是top命令會每隔一段時間更新一次,是動態的。
top的選項:
-d 秒數:每隔幾秒更新,預設3秒
-i:不顯示限制/僵死程序
-p:程序ID 監控某個程序的狀態

進入top後的按鍵

P 以cpu排序,預設是這個
M 以記憶體排序
N 以pid排序
k 結束某個程序,輸入程序號和訊號量即可(強制退出的訊號量為9)
q 退出top

我的github
我的部落格
我的筆記