1.使用nmcli创建bond, team ,bridge
bond
nmcli connection add con-name bond0 type bond ifname bond0 mode active-backup
nmcli connection add type bond-slave ifname eth2 master bond0
nmcli conncetion add type bond-slave ifname eth3 master bond0
nmcli connection up bond-slave-eth2
nmcli connection up bond-slave-eth3
cat /proc/net/bonding/bond0 查看bond状态
lsmod |grep bonding
team
nmcli connection add con-name team0 type team ifname team0 config ‘{"runner":{"name":"activebackup"}}‘
nmcli connection add type team-slave ifname eth2 master team0
nmcli connection add type team-slave ifname eth3 master team0
nmcli connection modify team0 ipv4.addresses 8.8.8.9/24
teamdctl team0 state
bridge
nmcli connection add type bridge con-name br0-con ifname br0-con ifname ipv4.method manual ipv4.addresses 8.8.8.6/24
nmcli connection add type bridge-slave ifname eth2 master br0-con
nmcli connection add type bridge-slave ifname eth3 master br0-con
nmcli connection up br0-con
brctl show
hostname
ping x.x.x.x
ping -c1 只ping一个包
ping -w1 错误后仅重试1s
ping -s 60000 指定一个包大小
ping -f
思考:在禁Ping情况下,实际是icmp包协议被禁止,但是可以通过tcp协议方式去Ping不会关闭的某些端口如80,443等-- 实用工具:tnsping 工作在windows下(可以测试网络稳定性和丢包率); hping3; nmap(只能实现一次全网所描,不能测试网络稳定性和丢包率)
ftp lftp lftpget http:// ftp://
wget
-P 指定下载目录,默认下载到运行程序的当前目录
-O 指定文件名,默认与原文件名一致
--limit-rate=xx(K,M,G) 下载速度
-c 断电续传
-q 静默下载
links
--dump 只看文字
--source 看源码
curl
进程管理
root --> cat --> /etc/shadow
ps
BSD方式
a 所有用户在所有终端上运行的前台进程
x 当前用户运行的所有进程(包括前台进程和后台daemon)
ax 所有用户运行的所有进程
aux 所有用户运行的所有进程,结果中显示用户名
f 显示父子进程关系
-C 用进程名进行过滤
axo 配合
o 自定义输出列
%cpu %mem pid uid gid cmd comm tty(显示终端名,如?,表示daemon后台进程) ruser (命令发起人) euser 命令的真正执行人 state
k 排序或--sort
VSZ:虚拟内存集,线性内存,表示操作系统承诺内存集
RSS:常驻内存集,实际分配内存
UNIX方式
-e 显示所有进程
-f 显示完整格式
-ef
-eF 以更完整格式显示所有进程
-efH 显示父子进程关系
-eo 自定义显示结果:ps -eo %cpu,%mem,pid,nice,pri,stat,comm
nice值
-20~19 数字越小,优先级越高
renice -n #(-20~19) pid
nice -n #(-20~19) -# command
查看方式 ps axo nice
pgrep
-u UID/USERNAME 基于执行程序的用户名进行搜索
-U 实际发起者 (考虑命名有u+s权限,实际生效者可变)
-t 终端名
-P 查看子进程
pidof 进程名 查询对应进程名的PID
uptime top htop(epel)
[epel]
name=centos69 epel
baseurl=http://x.x.x.x/fedora-epel/$releasever/$basearch
gpgcheck=0
马哥教育M28-二十五天、
vmstat
r:可运行进程
b:处于不可中断睡眠状态的进程个数
swpd:当前虚拟内存的已使用空间
free :物理内存的剩余空间,直至不够用时,才会使用虚拟内存
buffer/cache:用于缓存的内存总量
si: 表示内存从swap读入的总量
so:表示从内存写出到swap的总量
bi:表示内存从硬盘读入的总量
bo:表示从内存写出到硬盘的总量
in: 每秒中断的速率
cs:进程切换速率
us: 用户空间时间
sy:内核空间,系统空间
id:空闲时间
wa:等待时间
st: 被虚拟机偷走的时间
vmstat -s 详细查看内存信息 vmstat 1 1
iostat
pmap pid (经常用来查看内存泄漏问题,进程单个程序占用内存大小异常或者查看文件描述符数量异常情况)
pmap -x pid
ls -l /proc/pid/fd |wc -l
kill
-0 无作为,可以用来单纯判断进程是否运行 >dev/null;echo $?
-1 -HUP:强制进程重读配置文件(在无需关闭进程前提下实用)
-2 -INT: 终止正在运行的进程,相当于ctrl+c
-3 -QUIT:相当于ctrl+\
-9 -KILL :强制正在运行的进程 (exit)
-18 恢复后台睡眠进程
-19 暂停进程到后台睡眠
-15 -TERM:终止正在运行的进程(默认)(先释放资源再停止,可能阻塞信号)
killall 进程名
pkill
-u 用户名 杀死指定用户所运行的所有进程
pkill -t pts/1 杀死指定终端上运行的所有进程
进程的前后台
ctrl+z 将运行在前台的进程暂停,或kill -19 PID
bg 将在当前终端上暂停的进程,放入后继续运行,或kill -18 PID
fg 将在当前终端上暂停的或在当前终端上后台运行的进程,放入前台继续运行
使进程不再依附于终端在后台运行(与终端剥离shell)
nohup command &>/dev/null
screen; screen -S ; screen -sl ;screen -r
(command&);(command&)
*并行运行多条命令:
vim all.sh
sh1&
sh2&
sh3&
(sh1&);(sh2&)
{sh1& sh2& sh3&}
马哥M28-第二十六天、
at hh:mm 未来某一时间点运行一次的计划任务
atq 或 at -l 列出指定队列中等待运行的作业
at -c 队列序号 查看指定序号队列的详细信息
atrm 队列序号 或 at -d 队列序号 删除指定序号的队列
echo wall 123 |at 20:00
at 20:00 << EOF
wall hello
EOF
at 20:00 -f at.txt
at的任务是否运行依赖于atd服务
centos : service atd start
centos : systemctl start atd.service
限制用户不能使用at配置计划任务
当仅/etc/at.deny存在时,写入deny的用户不能配置at
当/etc/at.allow存在时/etc/at
deny失效,只有写在allow中的用户才能配置at,当/etc/at.allow和/etc/at.deny都不存在时,仅有root才能配置at
cron
/etc/crontab 系统级计划任务 (必须严格区别个人计划任务)
00 07 1,15 * 3 root /root/naozhong.sh 仅能通过root定义,不过可以以普通用户的身份去执行计划任务中的命令。
日志/var/log/crond
特殊的日期表达方式:
@reboot Run once after reboot
当下次启动计算机时,启动到crond服务时运行该计划。
@yearly 0 0 1 1
@annually 0 0 1 1
@monthly 0 0 1
@weekly 0 0 0
@daily 0 0
@hourly 0 *
centos7:单用户启动
1.grub:linux16 最后加上空格rd.break 按ctrl+x
2.mout -o remout,rw /sysroot
3.vim /sysroot/etc/crontab
centos6:单用户启动解决循环重启任务
1.grub: kernel 最后空格+1 先ESC加到主界面 再b启动
2.vim /etc/crontab
/etc/crontab 是系统级计划任务的主配置文件
--> /etc/cron.d 是系统计划任务的扩展配置文件目录,其中的所有都应该是按crond的格式编写,每一个文件都会生效
--> /etc/cron.d/0hourly
01 root run-parts /etc/cron.hourly 又用run-parts命令,扩展到了/etc/cron.hourly目录,其中的所有脚本均会在每小时的01分执行
crontab
crontab -e [-u username]
crontab -l
crontab -r 直接该用户的crontab文件,所以所有计划全删除,如只需删除某条,直接crontab -e 编辑删除该行即可
crontab -i -r 功能同上,在删除前询问
限制用户不能使用crontab配置计划任务
当今当/etc/cron.deny
存在时(默认)写入deny的用户不能配置crontab,当/etc/cron.allow存在时/etc/cron.deny失效,只有写在allow中的用户才能配置crontab,当/etc/cron.allow以及/etc/cron.deny都不存在时,仅有root才能配置crontab
shell脚本编程进阶
判断某字符串是否为整数
num=1322; [[ "$num" =~ ^[0-9]+$ ]] && echo true
$score -ge 60 -a $score -lt 80
$score -ge 60 -o $score -lt 80
随机生成16位包含数字、大小写字母、符号的密码
cat /dev/urandom |tr -dc ‘a-zA-Z0-9_\$\@#?.‘ |head -c 12
练习:写一个彩票系统,判断5个数字。
1 5 3 8 9
输入 第一个值。
输入 第二个值。
输入 第三个值。
输入 第四个值。
输入 第五个值。
每一步在输入完,都会判断,如果中了,则有输出结果:
第一次中输出 : First blood
第二次中输出 : Double kill
第三次中输出 :Triple kill
第四次中输出 :Quadra Kill
第五次中输出 :Penta Kill 以及 ACE!
一次也不中输出: Defeat!
1 #!/bin/bash
2 # ------------------------------------------
3 # Filename: lucky_dog
4 # Revision: 1.0
5 # Date: 2018-03-16
6 # Author: Hodge
7 # Email: 123@163.com
8 # ------------------------------------------
9 # Copyright: 2018 Hodge
10 # License: GPL
11
12 cnt=0
13 #标记命中次数
14 for i in `seq 1 5`
15 do
16 echo "第$i次判断"
17 read -p ‘please input your num:‘ num_by_usr
18 num_judge=$[$RANDOM%3]
19 echo " lucky_num is $num_judge"
20 flag=1
21 if [ $num_by_usr -eq $num_judge ]
22 then
23 cnt=$[$cnt+1]
24 flag=0
25 #若命中则下面输出,不命中不输出,防止不命中依然输出
26 fi
27 if [ $flag -eq 0 ]
28 then
29 case "$cnt" in
30 1)echo First blood;;
31 2)echo Double kill;;
32 3)echo Triple kill;;
33 4)echo Quadra kill;;
34 5)echo Penta kill ACE;;
35 esac
36 fi
37 done
38 if [ $cnt -eq 0 ]
39 then
40 echo "defeat"
41 fi
作业:
使用?,利用for,显示出一个等腰三角形。
1、判断/var/目录下所有文件的类型
2、添加10个用户user1-user10,密码为8位随机字符
3、/etc/rc.d/rc3.d目录下分别有多个以K开头和以S开头的文件;分别读取每个文件,以K开头的输出为文件加stop,以S开头的输出为文件名加start,如K34filename stop S66filename start
4、编写脚本,提示输入正整数n的值,计算1+2+…+n的总和
5、计算100以内所有能被3整除的整数之和
6、编写脚本,提示请输入网络地址,如192.168.0.0,判断输入的网段中主机在线状态
7、打印九九乘法表
8、在/testdir目录下创建10个html文件,文件名格式为数字N(从1到10)加随机8个字母,如:1AbCdeFgH.html
9、打印等腰三角形
原文地址:http://blog.51cto.com/12947626/2088241