Linux学习
文章目录
一、Linux三剑客
Linux三剑客指的是grep、sed以及awk命令的使用
1. 主流作用
grep: 文本过滤工具 主要是从文本提取我们想要的信息;
sed: 流编辑器,主要是对文本进行删除,替换等操作
awk: 将文本格式化之后再输出 Linux上是 gawk
在日常Linux三剑客操作中常常需要搭配正则表达式进行使用
拓展:
二、正则表达式
1. 正则表达式的分类
Linux三剑客主要分两类
》基本正则表达式(BRE)
BRE对应元字符有 ^ $ . [] *
》扩展正则表达式 (ERE)
ERE在BRE的基础上,增加了 () {} ? + |等字符
结合使用:
cat 123.txt |grep 'error' 查看有 error 的行
cat 123.txt |grep '^error' 查看以 error 开头的行
cat 123.txt |grep '6$' 查看以 6 结尾的行
cat 123.txt |grep '^$' 查看空行
cat 123.txt |grep 'd\.' 找到带 d. 的行 \ 就是把. 变为真实的 .
cat 123.txt |grep '.*.' 查看全部 不带空行
cat 123.txt |grep '[a-z]' 查看有 a-z 任意字符的行
cat 123.txt |grep '[^a-z]' 查看没有 a-z 字符的行 ----[A-Z] [0-9]都可以
3. 扩展正则表达式 (ERE)
注意:
基础的正则表达式可以直接 grep去使用
扩展的正则表达式需要用 grep -E 才会生效
字符 | 作用 |
---|---|
+ | 匹配前一个字符1次或多次 |
[: /]+ | 匹配括号内的 “:” 或者 “/” 字符一次或者多次 |
? | 匹配前一个字符0次或者1次 |
| | 表示或者, 同时过滤多个字符串 |
() | 分组过滤,被括起来的内容表示一个整体 |
a{n,m} | 匹配前一个字符最少n次, 最多m次 |
a{n,} | 匹配前一个字符最少n次 |
a{n} | 匹配前一个字符正好n次 |
a{,m} | 匹配前一个字符最多m次 |
结合使用:
cat 123.txt |grep -E 'a+' 查看带 a 的行
cat 123.txt |grep -E '[1-9]+' 查看带1-9 数字的行
cat 123.txt |grep -E '[a-z]+' 查看带a-z 字母的行
cat 123.txt |grep -E '([1-9]+)|(.*d$)' 查看有数字1-9 或者以d为结尾的行
cat 123.txt |grep -E '([1-9]+)(.*3$)' 查看有数字1-9 且以3为结尾的行
cat 123.txt |grep -E '0{1,2}' 查看数字0 最少1次 最多两次的行
cat 123.txt |grep -E 'g(oo|la)d' 查看 带good 或者 glad 的行
cat 123.txt |grep -E 't?' 查看带 t 1次或0次的行
特殊情况
(.d ) ′ ( . 3 )' (.3 )′(.3)’ 类似这种查询是不受 [字符/数字区间] 规则的-----先排除在外
查看开头时 比如我们查询用户 root开头的行 ^root 也会查到root1 那么
需要
grep -E "^(root)\>" \> 这样就锁定了条件
三. Grep
1. Grep的作用
作用: 文本搜索工具 根据用户指定的"模式"(过滤条件) 对目标文件逐行进行匹配检查 打印匹配到的行
模式: 由正则表达式的 元字符 以及 文本字符 所编写出的 过滤条件
2. Grep的常用参数
#语法
grep [参数] [匹配模式] [文件]
#常用参数
-i 忽略字符的大小写
-n 显示匹配出来的行号
-c 输出符合匹配条件的 行数!
-o 仅显示匹配到的字符串本身
-v 显示不能被匹配到的行
-E 支持使用扩展的正则表达式字符
-q 静默模式 即不输出任何信息
四. Sed
1. Sed介绍
Sed 是字符流编辑器的缩写 简称流编辑器
Sed 是操作, 过滤, 和转换文本内容的强大工具
常用功能包括结合正则表达式对文件实现快速的增删改查 其中查询的功能中最常用的两大功能是过滤(过滤指定字符串), 取行(取出指定行).
2. 语法和参数
sed [参数选项] [sed内置命令字符] [输入文件]
#参数选项#
sed -n 取消默认的sed输出 常与sed内置命令p 一起用
-i 直接将修改结果写入文件 不用-i sed修改的只是内存数据
-e 多次编辑 不需要管道符了
-r 支持正则扩展
#sed内置命令符#
a append 对文本追加 在指定行后面添加一行或者多行文本
d delete 删除匹配行
i insert 表示插入文本 在指定行前添加一行或者多行文本
p print 打印匹配行的内容 通常p与-n 一起使用
s/正则/替换内容/g 匹配正则内容 然后替换内容(支持正则) 结尾g代表全局匹配
#sed匹配范围#
空地址 全文处理
单地址 指定文件某一行
/pattern/ 被模式匹配到的每一行
范围区间 10,20 十到二十行 10,+5 第十行向下5行 /pattern1/,/pattern2/
布长 1~2 表示1,3,5,7行 2~2两个步长 表示2,4,6,8偶数行
3. 案例
sed -n '2,3p' 123.txt 显示2到3行
sed -n '2,+3p' 123.txt 显示第2行 再显示第二行下面的3行
sed -n '/7777/p' 123.txt 显示带有 7777 的行
sed -i '/dasd/d' 123.txt 删除带有 dasd 的行 -i 写到文件 d 删除
sed -i '4,$d' 123.txt 删除第4行到最后一行的数据
sed -i 's/haha/wblx/g' 123.txt 将 haha 替换成 wblx 并写入文本 's/原来/新的/g'
sed -i -e 's/7777/8888/g' -e 's/sunjuan/xiaosun/g' 123.txt # -e 多次匹配修改
sed -i '10a wblxyys' 123.txt 将 wblxyys 写入第10行下面
sed -i '10i 777777' 123.txt 将 777777 写入第10行前面
sed -i '3a hahaha\nxixixixi' 123.txt 在第三行下面多行插入 \n 多行
sed -i 'a -------' 123.txt 单写了一个a 那么就是在所有行下面 添加 -------
实战演示
找到linux虚拟机的ip
#显示 eth0 的信息#
ifconfig eth0
#内容#
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.24.147.100 netmask 255.255.240.0 broadcast 172.24.159.255
inet6 fe80::216:3eff:fe30:7e2b prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:30:7e:2b txqueuelen 1000 (Ethernet)
RX packets 3159278 bytes 3157673392 (2.9 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1772026 bytes 805820360 (768.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#开始截取#
ifconfig eth0 |sed -n '2p' |sed 's/^.*inet //' |sed 's/ net.*$//'
#用 -e方式#
ifconfig eth0 |sed -e '2s/^.*inet //' -e '2s/ netm.*$//p' -n
五. awk
1. awk介绍
awk 是一个强大的linux 命令 有强大的文本格式化能力 好比将一些文本数据格式化成专业的excel表的样式
awk更是一门编程语言 支持条件判断 数组 循环等功能
awk默认是以空格作为分隔符 且多个空格也识别为一个空格 作为分隔符
awk是按行处理文件 一行处理完成 处理下一行 根据用户指定的分隔符去工作 没有指定则默认空格
指定分隔符后 awk把每一行切割后的数据对应到内置变量
2.语法和参数
awk 参数 '条件动作' 文件
#awk的内置变量# 字段的含义就是根据分隔符来进行分隔的 字段 awk默认就是空格作为分隔符
$n 指定分隔符后 当前记录的第n个字段 n数字
$0 完整的输入记录
FS 输入分隔字段符 默认空白字符
OFS 输出字段分隔符 默认空白字符
RS 输入记录分隔符(输入换行符) 指定输入时的换行符
ORS 输出记录分隔符(输出换行符) 输出时用指定符号代替换行符(模式就是回车换行)
NF 分隔后 当前行一共有多少字段(即当前被分隔了几列) 字段数
NR 当前记录数 文本的行数
FNR 各文件分别计数的行号 比如awk '{print $1}' 234.txt 345.txt两文件行号区分
FILENAME 当前文件名
#awk 参数#
-F 指定分隔符字段
-v 定义或修改一个awk内部变量
-f 从脚本文件中读取 awk命令
awk 的分隔符有两种
- 输入分隔符 awk默认是空格 变量名是FS
- 输出分隔符 OFS
FS 输入分隔符
awk逐行处理文本的时候 以输入分隔符为准 把文本切成多个片段 默认符号是空格
当我们处理特殊文件 没有空格的时候 可以自由指定分隔符
3.案例
awk '{print $1}' 234.txt 打印第一列的东西 $2 第二列 awk默认用空格当分隔符包括多空格
awk '{print $1,$2}' 234.txt 多列打印 打印第1和第2列的内容 $0就是全部展示
awk '{print "第一列: "$1,"第二列:"$2}' 234.txt 也可以在输出内容上加个别名
awk 'NR==2{print $0}' 234.txt 打印第2行的内容 =是赋值 ==才是等于
awk 'NR==2,NR==3{print $0}' 234.txt 多行打印
awk 'NR==2,NR==5' 234.txt 打印第2到第5行内容
awk '{print NR,$0}' 234.txt 打印每行 并显示行号
awk 'NR==2,NR==5{print NR,$0}' 234.txt 打印2到5行 并且显示行号
awk 'NR<5{print NR,$0}' 234.txt 打印1到4行
awk '{print $1,$NF,$(NF-1)}' 234.txt 打印第1列 倒数第一列 和倒数第二列内容 (NF-n 不能是负数)
利用awk来获取 虚拟机的ip地址
ifconfig eth0 |awk 'NR==2{print $2}'
awk -F ":" '{print $1,$NF}' 345.txt 以 : 作为分隔符 打印第1和最后一列内容
awk -v FS=":" '{print $1,$NF}' 345.txt 同上 -v 去修改了 FS的默认分隔方式
awk -F ":" -v OFS="==" '{print $1,$NF}' 345.txt 用==作为打印两列的分隔符 如果不改用,的话就是空格
awk -v RS=" " '{print NR,$0}' 345.txt 用空格作为段落的区分 修改了RS
4.awk 格式化输出
-
print 和 printf的区别
print 输出不需要指定格式 printf 输出需要指定格式
printf 不会自动的打印换行符
#printf 格式#
%c 显示字符的ASCII码
%d , %i 十进制整数
%e , %E 科学计数法显示数值
%f 显示浮点数
%g , %G 以科学计数法的格式或浮点数的格式显示数值
%s 显示字符串
%u 无符号整数
%% 显示% 自身
#printf 修饰符#
- 左对齐 默认是右对齐
+ 显示数值符号 printf "%+d"
-
案例
awk '{printf "%s\n",$0}' 234.txt %s 代表每一行 在后面追加了 \n(换行符) 实现换行显示
5. awk的模式
常用的三种动作
- print 打印
- BEGIN 模式 是处理文本之前需要执行的操作
- END 模式 是处理完所有行执行的操作
awk 'BEGIN{print "开始"}{print $0}END{print "结束"}' 234.txt
6. awk和正则表达式结合使用
正则表达式主要是与awk的 模式(条件) 结合使用
- 不指定模式 awk每一行都会执行对应的动作
- 指定了模式 只有被模式匹配到的 符合条件的行才会执行动作
awk '/正则表达式/动作' 文件
awk '/^78/{print $0}' 234.txt 找出 以78为开头的行
awk '/^78/,/^20/{print $0}' 234.txt 找出 以78为开头到20开头 以及中间的行
扩展
cat 123.txt |sort -n sort -n 排序从小到大
cat 123.txt |sort -n | uniq uniq 去重
cat 123.txt |sort -n | uniq | wc -l wc -l 统计数量
例如查看出现最多的数据
cat 123.txt |sort -n | uniq -c| sort -nr | head -10 查看出现最多次数前10
#uniq -c 次数统计
#sort -nr 从大到小
#head -10 显示前10
六. Shell脚本
1. Shell脚本作用
- 解释执行用户输入的命令或程序
- 用户输入一条命令,shell就解释一条
- 键盘输入命令 Linux给与响应的方式 称之为交互式
2. Shell脚本的构成
- 首行的规范 Shebang
计算机程序中 Shebang 指的是出现在文本的第一行前两个字符 #!
以 #!/bin/sh 开头的文件 程序在执行的时候会调用 /bin/sh 也就是bash解释器
以 #!/usr/bin/python 开头的文件 代表指定python解释器去执行
以 #!/usr/bin/env 解释器名称 是一种在不同平台上都能正确找到解释器的办法
注意:
- 脚本未指定 shebang , 脚本执行的时候 默认就用shell去解释脚本 即 $SHELL
- 如果 shebang 指定了可执行的解释器,如 /bin/bash /usr/bin/python 脚本在执行时 文件名会作为参数传递给解释器
- 如果 #!指定的解释程序不是一个可执行文件 那么指定的解释程序会被忽略 转而交给当前shell去执行这个脚本
- 如果 #! 指定的解释程序不存在 那么就会报错
- 在 #! 之后的解释程序 需要写其绝对路径
3. Bash
Bash是什么
- bash是一个命令处理器 运行在文本窗口中 并能执行用户直接输入的命令
- bash还能从文件中读取linux命令 称之为脚本
- bash支持通配符 管道 命令替换 条件判断等逻辑控制语句
七. 软连接和硬连接
1. Linux的软连接
软连接 快捷方式的创建 可以快捷的指向另一个文件的特殊文件
#创建语法#
ln 命令 -s 参数 创建符号连接 软连接 快捷方式
ln -s 目标文件绝对路径 快捷方式绝对路径
ln -s /opt/wblx/linux-lianxi/123.txt /opt/wblx/haha
--------------------------------------------------
lrwxrwxrwx 1 root root 30 Oct 8 20:14 haha -> /opt/wblx/linux-lianxi/123.txt l代表连接
注意事项:
- 软连接的删除不会影响到源文件
- 可以为一个源文件创建多个软连接
- 源文件被删除,那么软连接就会失效
- 这种快捷方式还可以针对文件夹创建,也可以进入软连接类型的文件夹
- 使用readlink xxx 查看软连接本身的内容 其实存放的就是源文件的路径
2. 硬连接
inode: 操作系统中专门用于管理和存储文件的信息软件 被称为文件系统
通过 ls -li 即可查看文件的 inode号码
19469953 drwxr-xr-x 2 root root 49 Sep 24 19:01 docker-dockerfile
34152192 lrwxrwxrwx 1 root root 30 Oct 8 20:14 haha -> /opt/wblx/linux-lianxi/123.txt
1157309 drwxr-xr-x 2 root root 51 Oct 5 19:59 linux-lianxi
52282899 drwxr-xr-x 4 root root 30 Sep 24 18:57 tomcat
52283738 drwxr-xr-x 3 root root 136 Sep 24 19:11 work
inode 元数据区 保存的是
- 文件的大小
- 属组信息
- 用户组信息
- 文件权限
- 文件修改时间
- 文件的实体指针 指向block位置
没有文件名!!
文件查看流程
cat 文件名 ----找到 inode号码 —通过 inode号码 找到文件数据在磁盘的位置 也就是block位置
硬连接的特点:
- 目录文件夹不支持硬连接
- 不得跨文件系统
- 硬连接数据量的增加 会增加inode号码的计数
创建一个硬连接
ln 源文件绝对路径 硬连接路径
ls -l 查看文件的硬连接数量
ln /opt/wblx/linux-lianxi/123.txt /opt/wblx/linux-lianxi/haha1
ln /opt/wblx/linux-lianxi/123.txt /opt/wblx/linux-lianxi/haha2
#我们发现这三个的inode号码是一样的#
1161454 -rw-r--r-- 4 root root 470 Oct 4 20:21 haha
1161454 -rw-r--r-- 4 root root 470 Oct 4 20:21 haha1
1161454 -rw-r--r-- 4 root root 470 Oct 4 20:21 haha2
软连接和硬连接的综合比较
- 删除软连接对源文件和硬连接没有影响
- 删除硬连接 对软连接 源文件 也是无影响
- 删除源文件 对硬连接是没有影响的 但是影响软连接
- 只有删除源文件 和所有的硬连接 文件的连接数就为0了 此时文件数据才丢失
- 源文件和硬链接具有相同的inode号码 所以大家都是路 源文件被删没影响 通过inode找数据
- 软连接和源文件的inode号码是不同的 那就是两个文件
八. Top 资源管理器
1. top界面详解
#第一大板块 系统的负载信息#
top - 15:41:40 up 20 days, 1:56, 1 user, load average: 0.08, 0.03, 0.00
Tasks: 109 total, 2 running, 107 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
MiB Mem : 1735.7 total, 361.6 free, 360.8 used, 1013.3 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1199.7 avail Mem
#解释#
top - 15:41:40 ----当前时间
up 20 days 1:56 ---机器运行时间
1 user ---当前机器有几个用户在使用
load average: 0.00, 0.01, 0.00 --机器平均的负载情况 依次是1m 5m和15m 显示的平均值(值越小负载越低)
Tasks: 109 total, 2 running, 107 sleeping, 0 stopped, 0 zombie --总共的进程情况
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st --cpu使用百分比
# us 用户占用的cpu百分比情况
# sy 系统内核空间占用的cpu百分比
# ni 用户进程空间占用的cpu百分比
# id 空闲的cpu百分比情况
# wa 等待输入输出的cpu百分比情况
MiB Mem : 1735.7 total, 361.6 free, 360.8 used, 1013.3 buff/cache -内存的状态
物理内存总大小 内存空间总容量 已使用的内存量 缓存使用情况
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 1199.7 avail Mem -交换空间的状态
交换空间缓存使用情况
#第二大板块#
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1645 root 10 -10 202364 43832 11592 S 1.0 2.5 247:36.96 AliYunDun
1672 root 10 -10 438124 4068 3548 S 0.3 0.2 6:41.17 AliSecGuard
PID 进程id号
USER 执行进程的用户是谁
PR 进程的优先级高低
NI nice值 越高表示优先级越高
VIRT 进程使用的虚拟内存容量 VIRT= swqp + RES(进程使用的物理内存大小)
SHR 共享内存大小 单位是kb
S 表示进程状态
%CPU cpu使用的百分比情况
%MEM 内存使用的百分比情况
2. top命令的常用指令
输入 z top界面颜色变化
输入 x 某一列高亮
输入 b 某一列颜色加粗
输入 1 查看linux的逻辑cpu个数
输入 大写的 M 内存使用量从大到小排序
top -c top界面上会显示各进程的绝对路径
top -d 秒数 设置top 的进程刷新时间
top -n 3 设置top的刷新次数 3次 就结束
top -p pid 指定查看某一个进程的信息
3. 常用的资源检测工具
#安装 glances#
yum install glances -y
#运行#
glances
将 glances 转为一个 web 网站
#安装相关依赖#
yum install python python-pip python-devel gcc -y
#启动#
glances -w
九. Nohup 后台运行
1. nohup命令介绍
nohup 命令可以将程序以忽略挂起信号的形式在后台运行 也就是被运行的程序 输出的结果不打印到终端
无论是否将nohup命令的输出重定向到终端 nohup命令执行的输出结果都会写入到当前目录下的nohup.out文件中 如果当前目录的nohup.out文件禁止写入数据 nohup命令结果会自动输出到 $HOME/nohup.out文件中
2. nohup相关使用
nohup xxxx #输出结果写到当前目录的nohup.out里面 进程会卡在前台
nohup xxxx & #保证后台运行 并且退出到操作页面
#不显示命令的执行结果 将结果送到垃圾站(linux 黑洞文件)#
# 标准错误输出 2
# 标准输出 1
nohup 运行命令 > xxx.out 2>&1 & 把正确和错误的输出结果 都写到 xxx.out里面
nohup 运行命令 > /dev/null 2>&1 & 把正确和错误的输出结果 都丢到linux黑洞里面销毁
3. netstat
netstat -nutlp
-t 显示TCP的连接情况
-u 显示UDP的连接情况
-n 不进行dns解析
-l 只显示正在监听中的套字情况
-p 显示出套接字所属的进程和进程名情况
127.0.0.1 #这是本地回环地址 也就是当前机器的内部通信 外人无法访问
0.0.0.0 #绑定机器所有的网卡地址
十. 计算机网络
1. 网络协议
网络协议是计算机网络进行数据交互而建立的一种规则 也可以说是一套约定 标准的集合
例如 TCP/IP 网络协议标准
网络层次划分
为了让不同的计算机厂家 生产出来的计算机相互都能够通信 也能够在大范围之间进行计算机网络交互
国际组织就搞了一个 “开放系统互联参考模型” -----OSI 七层模型
2. OSI 七层模型
OSI 七层模型 | 层概念 | 层功能 | 协议 |
---|---|---|---|
第一层 物理层 | 物理链路层 | 以二进制的数据形式在物理媒介上进行数据传输(插网线) | ISO@2100 |
第二层 数据链路层 | 物理链路层 | 以二进制的数据形式在物理媒介上进行数据传输(插网线) | ISO@2100 |
第三层 网络层 | 网络 | 为数据包选择路由(选择传输路线) | IP ICMP BGP OSPF协议等 |
第四层 传输层 | 传输 | 提供端对端的接口 | TCP UDP |
第五层 会话层 | 最接近用户的应用层 | 提供文件传输, 邮件, 文件共享, 数据加密等 | HTPP SNMP FTP NFS DNS |
第六层 表示层 | 最接近用户的应用层 | 提供文件传输, 邮件, 文件共享, 数据加密等 | HTPP SNMP FTP NFS DNS |
第七层 应用层 | 最接近用户的应用层 | 提供文件传输, 邮件, 文件共享, 数据加密等 | HTPP SNMP FTP NFS DNS |
3. 应用层的介绍
任务 主要是通过进程间的数据交互来完成特定的网络应用
对于不同的网络应用需要用不同的网络协议 域名解析系统 用的是DNS协议
web服务用的万维网HTTP 协议
邮件传输需要用 SMTP 协议
我们把应用层交互的数据称之为报文
4. 应用层之 DNS 协议 和HTTP
- DNS 协议: DNS是互联的一个分布式数据库 主要存储IP和域名的对应关系 能够让普通用户更方便的使用 访问互联网 而不用记住繁琐的ip 地址号码
就是把域名解析成ip地址
例如:
DNS域名服务器
www.baidu.com ip地址: 123.12.123.1
-
HTTP协议
超文本传输协议 是互联网上最为应用广泛的一种网络协议 所有的www(万维网) 都得遵守这个标准
5. 传输层
- 作用: 传输层的作用是向两台主机之间的进程进行数据传输
- 传输层的主要协议:
- 传输控制协议(TCP传输) 提供面向连接的 可靠的数据传输服务
- 用户数据协议(UDP传输) 提供无连接的 尽可能的进行数据传输 但是不保证数据安全性
十一. SSH登陆方式
1. 口令登陆
登陆流程:
-
客户端向服务端发起ssh请求
-
服务端收到请求,发送公钥给客户端
-
客户端输入用户名,密码通过公钥加密 回传给服务端
-
服务端通过私钥解密得到用户名密码 和本地进行对比
2. 密钥登录
- 首先在客户端生成一对密钥 (公钥和私钥)
- 将公钥复制一份给服务端 并重命名
- 客户端向服务端发送一个连接请求 信息包括ip 用户名
- 服务端得到客户端信息后 会到复制的公钥查找 如果有响应的ip和用户名 服务端就会随机生成一个字符串
- 服务端用公钥将这个字符串进行加密 发送给客户端
- 得到服务端的信息后 客户端会使用私钥进行解密 然后将解密后的字符串发送给服务端
- 接收到解密后的字符串 会更之前生成的字符串对比 一致就免密登录
3. SSH设置
配置文件: /etc/ssh/sshd_config
#Port 22 #ssh 服务默认监听端口
#ListenAddress 0.0.0.0 #ssh服务默认监听IP地址
#PermitRootLogin yes #是否允许root用户使用ssh登录
设置ssh 的登录超时时间
配置文件 /etc/profile
export TMOUT=300 # 设置客户端5m 无操作自动断开连接
设置ssh 尝试登录次数
配置文件: /etc/ssh/sshd_config
#MaxAuthTries 6 #设置客户端登录失败尝试次数为6次