一、網絡配置
1、ifconfig命令
ifconfig [IFACE]
顯示所有啟動的網絡接口信息,包括網卡別名;指明網絡接口時,顯示指定網絡接口信息
ifconfig -a
顯示所有網絡接口的信息,包括未啟動的網卡接口。
ifconfig IFACE [up|down]
啟動或關閉網絡接口
ifconfi IFACE [-]promisc
啟用混雜模式
ifconfig IFACE IP/mask [up]
ifconfig IFACE IP netmask MASK
臨時配置網絡接口,立即生效
注意:立即生效,但不會永久有效
ifup/ifdown IFACE
啟用或禁用網絡接口
2、route命令
route -n
查看路由表
route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]
添加路由條目
route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]
刪除路由條目
route del default
刪除默認路由
route add default gw target
添加默認路由
注:配置動態路由
通過守護進程獲取動態路由
安裝quagga包,支持多種格式的RIP、OSPF和BGP
命令vtysh配置
練習:
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1
route del -host 192.168.1.3
route del -net 192.168.0.0 netmask 255.255.255.0
3、netstat命令
(1)顯示網絡連接
netstat
-t: tcp協議相關
-u: udp協議相關
-w: raw socket相關
-l: 處于監聽狀態
-a: 所有狀態
-n: 以數字顯示IP和端口;
-e:擴展格式
-p: 顯示相關進程及PID
常用組合:
-tan, -uan, -tnl, -unl
(2)顯示路由表
netstat
-r: 顯示內核路由表
-n: 數字格式,不解析成主機名
(3)顯示接口統計數據:
netstat
-i
-I IFACE
4、ip命令
ip {link|addr|route}
(1)ip link
set dev IFACE {up|down}:激活或禁用指定接口
show [dev IFACE]:顯示指定接口信息,沒有指定時顯示所有啟動接口
(2) ip addr
ip addr {add|del} IFADDR dev STRING
[label LABEL]:添加地址時指明網卡別名
[scope {global|link|host}]:指明作用域
global: 全局可用,默認;
link: 僅鏈接可用;
host: 本機可用;
[broadcast ADDRESS]:指明廣播地址
ip addr show -look at protocol addresses
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip addr flush [dev DEVICE]
清空協議地址,沒有指明接口時,清空所有協議地址
練習:
ip addr add 172.16.100.13/16 dev eth0 label eth0:0
ip addr del 172.16.100.13/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
(3) ip route
list|show
查看路由表
add NETWORK/MASK via GW [dev IFACE] [src SOURCE_IP]
添加路由條目
add default via GW [dev IFACE]
添加默認路由
delete NETWORK/MASK
刪除路由條目
flush [dev IFACE] [via PREFIX]
清空路由表
練習:
ip route add 192.168.0.0/24 via 172.16.0.1
ip route add 192.168.1.13 via 172.16.0.1
ip route add default via 172.16.0.1
ip route flush dev eth0
5、ss命令
netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息。
選項:
-t: tcp協議相關
-u: udp協議相關
-w: 裸套接字相關
-x:unixsock相關
-l: listen狀態的連接
-a: 所有狀態
-n: 數字格式
-p: 相關的程序及PID
-e: 擴展的信息
-m:內存用量
-o:計時器信息
常用組合:
-tan, -tanl, -tanlp, -uan
TCP的常見狀態:
LISTEN: 監聽
ESTABLISHED:已建立的連接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
UDP無狀態
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
EXPRESSION:
dport=
sport =
示例:'( dport= :sshor sport = :ssh)' 顯示所有已建立的SSH連接
'( dport = :smtp or sport = :smtp )' 顯示所有已建立的SMTP連接
'( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接
本地解析器 /etc/hosts
解析器執行正向和逆向查詢
本地主機名數據庫和IP地址的映像
對小型獨立網絡有用
通常,在使用DNS前檢查
getent hosts 查看/etc/hosts 內容
dns解析器 /etc/resolv.conf
nameserverDNS_SERVER_IP1
nameserverDNS_SERVER_IP2
nameserverDNS_SERVER_IP3
本地解析器與dns解析器的檢查順序?/etc/nsswitch.conf
一般/etc/hosts相比優先于DNS
正解:FQDN–>IP
dig -t A FQDN
host -t A FQDN
反解:IP–>FQDN
dig -x IP
host -t PTR IP
路由配置文件
/etc/sysconfig/network-scripts/route-IFACE
注意:需service network restart生效
兩種風格:
(1) TARGET via GW
(2) 每三行定義一條路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
注:兩種風格不能同時使用,只能使用一種風格
查看網卡驅動:
ethtool -i IFACE
卸載網卡驅動:
modprobe -r e1000
rmmod e1000
裝載網卡驅動:
modprobe e1000
網卡名稱
centos6
網絡接口使用連續號碼命名:eth0、eth1等,當增加或刪除網卡時,名稱可能會發生變化。
網絡接口識別并命名相關的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
centos7
(1) 網卡命名機制
systemd對網絡設備的命名方式,基于硬件,設備拓撲和設置類型命名
(a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1
(b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1
(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0
(d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56
(e) 上述均不可用時,則使用傳統命名機制
(2) 名稱組成格式
en: Ethernet 有線局域網
wl: wlan無線局域網
ww: wwan無線廣域網
o<index>: 集成設備的設備索引號
s<slot>: 擴展槽的索引號
x<MAC>: 基于MAC地址的命名
p<bus>s<slot>: enp2s1
(3)網卡設備的命名過程:
(a)udev, 輔助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules
(b) biosdevname會根據/usr/lib/udev/rules.d/71-biosdevname.rules
(c) 通過檢測網絡接口設備,根據/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
(4) 采用傳統命名方式
(a) 編輯/etc/default/grub
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
(b) 為grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(c) 重啟系統
reboot
或
(a) 直接編輯/boot/grub2/grub.cfg或/boot/grub/grub.conf
crashkernel=auto rhgb quiet.UTF-8 net.ifnames=0
(b) 重啟系統
reboot
注:需要修改相對應的網絡接口配置文件
6、nmcli命令
修改IP地址等屬性:
nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses ipv4.gateway
ipv4.dns1 ipv4.method manual | dhcp
修改配置文件執行生效:
systemctl restart network
nmclicon reload
nmcli命令生效:
nmcli con down eth0
nmcli con up eth0
相關工具
網絡接口配置tui工具:nmtui
主機名稱配置工具:hostnamectl
status
set-hostname
NeworkManager是管理和監控網絡設置的守護進程
設備即網絡接口,連接是對網絡接口的配置。一個網絡接口可有多個連接配置,但同時只有一個連接配置生效。
(a)顯示所有包括不活動連接
nmcli con show
(b)顯示所有活動連接
nmcli con show –active
(c)顯示網絡連接配置
nmcli con show "System eth0“
(d)顯示設備狀態
nmcli dev status
(e)顯示網絡接口屬性
nmcli dev show eno16777736
(f)創建新連接default,IP自動通過dhcp獲取
nmcli con add con-name default type Ethernet ifnameeth0
(g)刪除連接
nmcli con del default
(h)創建新連接static ,指定靜態IP,不自動連接
nmcti con add con-name static ifnameeth0 autoconnectno type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254
(i)啟用static連接配置
nmcli con up static
(j)啟用default連接配置
nmcli con up default
(k)查看幫助
nmcli con add help
練習:
nmcli con mod “static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses “192.0.2.1/24 192.0.2.254” IPADDR0=192.0.2.1 PREFIX0=24 GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .
網絡配置文件
?設備配置被保存在文本文件中:/etc/sysconfig/network-scripts/ifcfg-<name>
幫助文檔列出完整選項列表:/usr/share/doc/initcripts-*/sysconfig.txt
動態配置 靜態配置
DEVICE=ethX DEVICE=ethX
HWADDR=0:02:8A:A6:30:45 HWADDR=0:02:8A:A6:30:45
BOOTPROTO=dhcp IPADDR=192.168.0.123
ONBOOT=yes NETMASK=255.255.255.0
Type=Ethernet GATEWAY=192.168.0.254
ONBOOT=yes
Type=Ethernet
修改連接配置后,需要重新加載配置
nmcli con reload
nmcli con down “system eth0” 可被自動激活
nmcli con up “system eth0”
nmcli dev dis eth0 禁用網卡,訪止被自動激活
圖形工具 nm-connection-editor
網絡組Network Teaming
網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
多種方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp(implements the 802.3ad Link Aggregation Control Protocol)
啟動網絡組接口不會自動啟動網絡組中的port接口
啟動網絡組接口中的port接口不會自動啟動網絡組接口
禁用網絡組接口會自動禁用網絡組中的port接口
沒有port接口的網絡組接口可以啟動靜態IP連接
啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入
創建網絡組接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME連接名,INAME接口名,
JSON指定runner方式
格式:'{"runner": {"name": "METHOD"}}'
METHOD可以是broadcast, roundrobin, activebackup, loadbalance, lacp.
創建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME連接名,INAME網絡接口名,TEAM網絡組接口名,連接名若不指定,默認為team-slave-IFACE.
nmcli dev dis INAME
nmcli con up CNAME
INAME設備名CNAME網絡組接口名或port接口
網絡組示例
創建網絡組nmcli con add con-name team0 type team ifname team0 config "{"runner": {"name": "loadbalance"}}"
添加IP地址nmcli con mod team0 ipv4.addresses 192.168.1.100/24
IP獲取方式nmcli con mod team0 ipv4.method manual
添加網卡1 nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
添加網卡2 nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
啟動網絡組nmcli con up team0
啟動接口1 nmcli con up team0-eth1
啟動接口2 nmcli con up team0-eth2
查看網絡組teamdctl team0 state
關閉接口 nmcli dev dis eth1
管理網絡組配置文件
/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-team0-eth2
DEVICE=eth2
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth2
ONBOOT=yes
主機名管理
rhel6之前主機名配置文件:/etc/sysconfig/network
rhel7.0主機名配置文件:/etc/hostname ,默認沒有這個文件,通過DNS反向解析獲取主機名,主機名默認為:localhost.localdomain
顯示主機名信息
hostname
hostnamectlstatus
創建并修改文件并生效
hostnamectl set-hostname desktopX.example.com
刪除文件,恢復主機名localhost.localdomain
DNS設置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示當IP通過dhcp自動獲取時,dns仍是手動設置,不自動獲取。等價于下面命令:
nmclicon mod “system eth0” ipv4.ignore-auto-dns yes
顯示主機名 hostname
測試網絡連通性 ping,mtr
顯示正確的路由表 iproute
確定名稱服務器使用 nslookup,host,dig
跟蹤路由 traceroute,Tracepath
網絡客戶端工具
lftp, ftp, lftpget, wget
lftp[-p port] [-u user[,password]] SERVER
子命令:
get、mget、ls、help
# lftpgetURL
# ftp
# wget
wget[option]… [URL]…
-q: 靜默模式
-c: 斷點續傳
-O: 保存位置
–limit-rates=: 指定傳輸速率
進程管理
進程概念
內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能等
Process: 運行中的程序的一個副本,是被載入內存的一個指令集合
進程ID(Process ID,PID)號碼被用來標記各個進程
UID、GID、和SELinux語境決定對文件系統的存取和訪問權限,通常從執行進程的用戶來繼承,存在生命周期
task struct:Linux內核存儲進程信息的數據結構格式
task list:多個任務的的task struct組成的鏈表
進程創建:
init:第一個進程
父子關系
進程:都由其父進程創建,COW
fork(), clone()
Linux系統各進程的相關信息均保存在/proc/PID目錄下的各文件中
進程優先級:
系統優先級:數字越小,優先級越高
0-139(CentOS4,5)
各有140個運行隊列和過期隊列
0-98,99(CenOS6)
實時優先級:99-0:值最大優先級最高
Nice值:-20,19對應系統優先級100-139或99
Big O:時間復雜度,用時和規模的關系
O(1), O(logn), O(n)線性, O(n^2)拋物線, O(2^n)
進程相關概念
進程內存:
Page Frame: 頁框,用存儲頁面數據,存儲Page 4k
LRU:Least Recently Used 近期最少使用算法,釋放內存
物理地址空間和線性地址空間
MMU:Memory Management Unit負責轉換線性和物理地址
IPC: Inter Process Communication
同一主機上
signal
shm: shared memory
semophore信號量,一種計數器
不同主機上:
rpc: remote procedure call
socket: IP和端口號
進程狀態
Linux內核:搶占式多任務
進程類型:
守護進程: daemon,在系統引導過程中啟動的進程,和終端無關進程
前臺進程:跟終端相關,通過終端啟動的進程
注意:兩者可相互轉化
進程狀態:
運行態:running
就緒態:ready
睡眠態:
可中斷:interruptable
不可中斷:uninterruptable
停止態:stopped,暫停于內存中,但不會被調度,除非手動啟動
僵死態:zombie,結束進程,父進程結束前,子進程不關閉
進程的分類:
CPU-Bound:CPU密集型,非交互
IO-Bound:IO密集型,交互
1、pstree 顯示進程樹
-p:顯示進程號PID
2、ps 查看進程信息
支持三種選項:
UNIX選項如-A -e
BSD選項如a
GUN選項如–help
默認顯示當前終端中的進程
a選項包括所有終端中的進程
x選項包括不鏈接終端的進程
u選項顯示進程所有者的信息
f選項顯示進程的父進程
o屬性… 選項顯示定制的信息:pid、comm、%cpu、%mem、state、tty、euser、ruser
VSZ: Virtual memory SiZe,虛擬內存集,線性內存
RSS: ReSidentSize, 常駐內存集
STAT:進程狀態
R:running 運行態
S: interruptablesleeping 可中斷睡眠
D: uninterruptable sleeping 不可中斷睡眠
T: stopped 停止態
Z: zombie 僵尸態
+: 前臺進程
l: 多線程進程
N:低優先級進程
<: 高優先級進程
s: session leader,會話(子進程)發起者
(1)常用組合:-ef
-e: 顯示所有進程
-f: 顯示完整格式程序信息
(2)常用組合:-eFH
-F: 顯示更完整格式的進程信息
-H: 以進程層級格式顯示進程相關信息
(3)常用組合:自定義
-eo pid,tid,class,rtprio,ni,pri,psr, pcpu,stat,comm
axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ni: nice值
pri: priority,優先級
psr: processor, CPU編號
rtprio: 實時優先級
3、pgrep 按預定義的模式搜索進程
-u uid: effective user,生效者
-U uid: real user,真正發起運行命令者
-t terminal: 與指定終端相關的進程
-l: 顯示進程名
-a: 顯示完整格式的進程名
-P pid: 顯示指定進程的子進程
4、pidof 按確切的程序名稱找出其進程PID
5、uptime 顯示當前時間,系統已啟動的時間、當前上線人數,系統平均負載(1、5、10分鐘的平均負載,一般不會超過1)
系統平均負載:指在特定時間間隔內運行隊列中的平均進程數。
如果每個CPU內核的當前活動進程數不大于3的話,那么系統的性能良好。如果每個CPU內核的任務數大于5,那么這臺機器的性能有嚴重問題。
如果linux主機是1個雙核CPU的話,當Load Average 為6的時候說明機器已經被充分使用了。
6、top:動態查看進程信息
選項:
-d #: 指定刷新時間間隔,默認為3秒
-b: 以批次方式
-n #: 顯示多少批次
子命令:
P:以占據的CPU百分比,%CPU
M:占據內存百分比,%MEM
T:累積占據CPU時長,TIME+
q:退出命令
s:修改刷新時間間隔
k:終止指定進程
w:保存文件
首部信息顯示:
uptime信息:l命令
tasks及cpu信息:t命令
cpu分別顯示:1 (數字)
memory信息:m命令
欄位信息簡介
us:用戶空間
sy:內核空間
ni:調整nice時間
id:空閑
wa:等待IO時間
hi:硬中斷
si:軟中斷(模式切換)
st:虛擬機偷走的時間
PID:任務的進程ID
PPID:父任務的進程
IDRUSER:任務的所有者真實名稱
UID:任務所有者
IDUSER:任務所有者名稱
GROUP:任務所有者群組名
TTY:終端
PR:優先級
%CPU:CPU使用率
%MEM:內存使用率
S:進程狀態
TIME+:CPU時間,精確到秒
7、htop top的增強版
選項:
-d #: 指定延遲時間;
-u UserName: 僅顯示指定用戶的進程;
-s COLUME: 以指定字段進行排序;
子命令:
s: 跟蹤選定進程的系統調用;
l: 顯示選定進程打開的文件列表;
a:將選定的進程綁定至某指定CPU核心;
t: 顯示進程樹
8、vmstat 虛擬內存信息
選項:
-s:將一些事件導致的內存變化列表說明
-S:后面可以接單位K、M代表bytes的容量
-d:列出磁盤的讀寫總量統計表
vmstat 1 3
欄位信息簡介
procs:
r:等待運行的進程的個數,和核心數有關
b:處于不可中斷睡眠態的進程個數(被阻塞的隊列的長度)
memory:
swpd: 交換內存的使用總量
free:空閑物理內存總量
buffer:用于buffer的內存總量
cache:用于cache的內存總量
swap:
si:從磁盤交換進內存的數據速率(kb/s)
so:從內存交換至磁盤的數據速率(kb/s)
io:
bi:從塊設備讀入數據到系統的速率(kb/s)
bo: 保存數據至塊設備的速率
system:
in: interrupts, 中斷速率,包括時鐘
cs: context switch, 進程切換速率
cpu:
us:Timespent running non-kernel code
sy: Time spent running kernel code
id: Time spent idle. Linux 2.5.41前,包括IO-wait time.
wa: Time spent waiting for IO. 2.5.41前,包括in idle.
st: Time stolen from a virtual machine. 2.6.11前, unknown.
9、pmap 進程對應的內存映射
-x: 顯示詳細格式的信息;
另外一種實現:cat /proc/PID/maps
10、glance 系統監控工具
常用選項:
-b: 以Byte為單位顯示網卡數據速率
-d: 關閉磁盤I/O模塊
-f /path/to/somefile: 設定輸入文件位置
-o {HTML|CSV}:輸出格式
-m: 禁用mount模塊
-n: 禁用網絡模塊
-t #: 延遲時間間隔
-1:每個CPU的相關數據單獨顯示
C/S模式下運行glances命令
服務模式:
glances -s -B IPADDR
IPADDR: 指明監聽的本機哪個地址
客戶端模式:
glances -c IPADDR
IPADDR:要連入的服務器端地址
11、dstat命令 系統資源統計
選項:
-c: 顯示cpu相關信息
-C #,#,…,total
-d: 顯示disk相關信息
-D total,sda,sdb,…
-g:顯示page相關統計數據
-m: 顯示memory相關統計數據
-n: 顯示network相關統計數據
-p: 顯示process相關統計數據
-r: 顯示io請求相關的統計數據
-s: 顯示swapped相關的統計數據
–tcp:顯示tcp套接字的相關統計數據
–udp:顯示udp套接字的相關統計數據
–unix:顯示unix套接字的相關統計數據
–raw
–socket
–ipc
–top-cpu:顯示最占用CPU的進程
–top-io: 顯示最占用io的進程
–top-mem: 顯示最占用內存的進程
–top-latency: 顯示延遲最大的進程
12、kill 向進程發送控制信號,以實現對進程管理
-l:顯示當前系統可用信號
常用信號:man 7 signal
1) SIGHUP: 無須關閉進程而讓其重讀配置文件
2) SIGINT: 中止正在運行的進程;相當于Ctrl+c
9) SIGKILL: 殺死正在運行的進程
15) SIGTERM:終止正在運行的進程
18) SIGCONT:繼續運行
19) SIGSTOP:后臺休眠
指定信號的方法:
(1) 信號的數字標識;1, 2, 9
(2) 信號完整名稱;SIGHUP
(3) 信號的簡寫名稱;HUP
按PID:kill [-SIGNAL] pid…
按名稱:killall [-SIGNAL] comm…
按模式:pkill [options] pattern
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正發起運行命令者
-t terminal: 與指定終端相關的進程
-l: 顯示進程名
-a: 顯示完整格式的進程名
-P pid: 顯示父進程為此處指定的進程的進程列表
作業管理
Linux的作業控制
前臺作業:通過終端啟動,且啟動后一直占據終端;
后臺作業:可通過終端啟動,但啟動后即轉入后臺運行(釋放終端)
如何讓作業運行于后臺?
(1) 運行中的作業:Ctrl+z
(2) 尚未啟動的作業:# COMMAND &
后臺作業雖然被送往后臺運行,但其依然與終端相關;退出終端,將關閉后臺作業。如果希望送往后臺后,剝離與終端的關系
nohup COMMAND &
screen;COMMAND
查看所有作業:
jobs
作業控制:
fg[[%]JOB_NUM]:把指定的后臺作業調回前臺;
bg[[%]JOB_NUM]:讓送往后臺的作業在后臺繼續運行;
kill [%JOB_NUM]:終止指定的作業;
并行運行,同時運行多個進程,提高效率
(1)vi all.sh
f1.sh&
f2.sh&
f3.sh&
(2)(f1.sh&);(f2.sh&);(f3.sh&)
(3){ f1.sh& f2.sh& f3.sh& }
進程優先級
進程優先級調整:
靜態優先級:100-139
進程默認啟動時的nice值為0,優先級為120
只有根用戶才能降低nice值(提高優先性)
nice命令:
nice [OPTION] [COMMAND [ARG]…]
renice命令:
renice[-n] priority pid…
查看:
psaxopid,comm,ni
作業1:路由器配置
host1
IP:192.168.100.10/24
GW:192.168.0.1
route1
IP1:192.168.100.1
IP2:192.168.0.1
GW:192.168.0.2
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
route2
IP1:192.168.0.2
IP2:192.168.200.1
GW:192.168.0.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
host2
IP:192.168.200.10
GW:192.168.0.2
作業2:網絡組配置
nmcli con add con-name team0 type team ifname team0 config "{"runner": {"name": "loadbalance"}}"
nmcli con mod team0 ipv4.addresses 192.168.0.100/24
nmcli con mod team0 ipv4.method manual
nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
DEVICETYPE=Team
BOOTPROTO=none
NAME=team0
ONBOOT=yes
IPADDR=192.168.0.100
PREFIX=24
/etc/sysconfig/network-scripts/ifcfg-team0-port1
NAME=team-prot1
DEVICE=eth1
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort
/etc/sysconfig/network-scripts/ifcfg-team0-port2
NAME=team-prot2
DEVICE=eth2
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort
nmcli connection up team0
nmcli connection up team-port1
nmcli connection up team-port2
nmcli connection show
teamdctl team0 state
nmcli dev disconnect eth1
nmcli dev disconnect eth2
原創文章,作者:anonymous,如若轉載,請注明出處:http://www.www58058.com/44584
對網絡管理類命令總結的很詳細,如果能有一些效果展示會更直觀了,文章內容也會更加飽滿。