Linux常用命令--網路與程序管理
Linux常用命令--網路與程序管理
網路配置
關於網路的兩條指令:
ifconfig
: 配置和顯示Linux系統網絡卡的網路引數ping
: 目的主機 測試主機之間的網路連通性
檢測主機連線
執行ping指令會使用ICMP傳輸協議,發出要求迴應的資訊,若遠端主機的網路功能沒有問題,就會迴應該資訊,因而得知該主機運作正常。
如:ping 114.114.114.114
配置網路
下面講解如何修改配置檔案,指定ip,並可以連線公網.
- 修改配置檔案
這裡修改的是/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 # 域名系統
- 重啟網路服務
使用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服務
注意:
- 和service一樣,centos7之後使用systemctl管理,chkconfig繼續管理服務的在
/etc/init.d/
下可以看到 - 設定完之後,需要重啟後才能生效。
systemctl命令
systemctl命令是一個系統服務管理器指令,它實際上將 service 和 chkconfig 這兩個命令組合到了一起。
systemctl可以管理的服務在/usr/lib/systemd/system/
目錄下。
服務管理
- 查詢狀態
systemctl status 服務名
, 如:systemctl status firewalld
- 關閉服務
systemctl stop 服務名
, 如:systemctl stop firewalld
- 開啟服務
systemctl start 服務名
, 如:systemctl start firewalld
注意:啟動或關閉服務只是臨時的,要儲存的話,需要設定開機啟動狀態(enable/disable),如下
自啟動管理(3和5級別)
- 檢視服務開機啟動狀態
systemctl list-unit-files
,要查詢某個具體的服務時,使用grep
- 設定開機啟動
systemctl enable/disable 服務名
- 查詢服務是否開機啟動
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