Linux的学习(Linux三剑客,正则表达式,Top命令详解)

Linux学习

一、Linux三剑客

Linux三剑客指的是grepsed以及awk命令的使用

1. 主流作用

grep: 文本过滤工具 主要是从文本提取我们想要的信息;

sed: 流编辑器,主要是对文本进行删除,替换等操作

awk: 将文本格式化之后再输出 Linux上是 gawk

在日常Linux三剑客操作中常常需要搭配正则表达式进行使用

拓展:

二、正则表达式

1. 正则表达式的分类

Linux三剑客主要分两类

》基本正则表达式(BRE)

BRE对应元字符有  ^ $ . [] *

》扩展正则表达式 (ERE)

ERE在BRE的基础上,增加了 () {} ? + |等字符

img

结合使用:

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 的分隔符有两种

  1. 输入分隔符 awk默认是空格 变量名是FS
  2. 输出分隔符 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 格式化输出
  1. print 和 printf的区别

    print 输出不需要指定格式 printf 输出需要指定格式

    printf 不会自动的打印换行符

#printf 格式#
%c                   显示字符的ASCII码
%d , %i              十进制整数
%e , %E              科学计数法显示数值
%f                   显示浮点数
%g , %G              以科学计数法的格式或浮点数的格式显示数值
%s                   显示字符串
%u                   无符号整数
%%                   显示% 自身

#printf 修饰符#
-   左对齐  默认是右对齐
+   显示数值符号   printf "%+d"

  1. 案例

    awk '{printf "%s\n",$0}' 234.txt          %s 代表每一行 在后面追加了 \n(换行符) 实现换行显示
    
5. awk的模式

​ 常用的三种动作

  1. print 打印
  2. BEGIN 模式 是处理文本之前需要执行的操作
  3. END 模式 是处理完所有行执行的操作
awk 'BEGIN{print "开始"}{print $0}END{print "结束"}' 234.txt

在这里插入图片描述

6. awk和正则表达式结合使用

​ 正则表达式主要是与awk的 模式(条件) 结合使用

  1. 不指定模式 awk每一行都会执行对应的动作
  2. 指定了模式 只有被模式匹配到的 符合条件的行才会执行动作
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脚本作用
  1. 解释执行用户输入的命令或程序
  2. 用户输入一条命令,shell就解释一条
  3. 键盘输入命令 Linux给与响应的方式 称之为交互式
2. Shell脚本的构成
  1. 首行的规范 Shebang

计算机程序中 Shebang 指的是出现在文本的第一行前两个字符 #!

#!/bin/sh  开头的文件  程序在执行的时候会调用 /bin/sh  也就是bash解释器#!/usr/bin/python 开头的文件  代表指定python解释器去执行#!/usr/bin/env 解释器名称  是一种在不同平台上都能正确找到解释器的办法

注意:

  1. 脚本未指定 shebang , 脚本执行的时候 默认就用shell去解释脚本 即 $SHELL
  2. 如果 shebang 指定了可执行的解释器,如 /bin/bash /usr/bin/python 脚本在执行时 文件名会作为参数传递给解释器
  3. 如果 #!指定的解释程序不是一个可执行文件 那么指定的解释程序会被忽略 转而交给当前shell去执行这个脚本
  4. 如果 #! 指定的解释程序不存在 那么就会报错
  5. 在 #! 之后的解释程序 需要写其绝对路径
3. Bash

Bash是什么

  1. bash是一个命令处理器 运行在文本窗口中 并能执行用户直接输入的命令
  2. bash还能从文件中读取linux命令 称之为脚本
  3. 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代表连接

注意事项:

  1. 软连接的删除不会影响到源文件
  2. 可以为一个源文件创建多个软连接
  3. 源文件被删除,那么软连接就会失效
  4. 这种快捷方式还可以针对文件夹创建,也可以进入软连接类型的文件夹
  5. 使用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 元数据区 保存的是

  1. 文件的大小
  2. 属组信息
  3. 用户组信息
  4. 文件权限
  5. 文件修改时间
  6. 文件的实体指针 指向block位置

没有文件名!!

文件查看流程

cat 文件名 ----找到 inode号码 —通过 inode号码 找到文件数据在磁盘的位置 也就是block位置

硬连接的特点:

  1. 目录文件夹不支持硬连接
  2. 不得跨文件系统
  3. 硬连接数据量的增加 会增加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

软连接和硬连接的综合比较

  1. 删除软连接对源文件和硬连接没有影响
  2. 删除硬连接 对软连接 源文件 也是无影响
  3. 删除源文件 对硬连接是没有影响的 但是影响软连接
  4. 只有删除源文件 和所有的硬连接 文件的连接数就为0了 此时文件数据才丢失
  5. 源文件和硬链接具有相同的inode号码 所以大家都是路 源文件被删没影响 通过inode找数据
  6. 软连接和源文件的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
  1. DNS 协议: DNS是互联的一个分布式数据库 主要存储IP和域名的对应关系 能够让普通用户更方便的使用 访问互联网 而不用记住繁琐的ip 地址号码

​ 就是把域名解析成ip地址

​ 例如:

​ DNS域名服务器

​ www.baidu.com ip地址: 123.12.123.1

  1. HTTP协议

    超文本传输协议 是互联网上最为应用广泛的一种网络协议 所有的www(万维网) 都得遵守这个标准

5. 传输层
  1. 作用: 传输层的作用是向两台主机之间的进程进行数据传输
  2. 传输层的主要协议:
    1. 传输控制协议(TCP传输) 提供面向连接的 可靠的数据传输服务
    2. 用户数据协议(UDP传输) 提供无连接的 尽可能的进行数据传输 但是不保证数据安全性

十一. SSH登陆方式

1. 口令登陆

登陆流程:

  1. 客户端向服务端发起ssh请求

  2. 服务端收到请求,发送公钥给客户端

  3. 客户端输入用户名,密码通过公钥加密 回传给服务端

  4. 服务端通过私钥解密得到用户名密码 和本地进行对比

2. 密钥登录
  1. 首先在客户端生成一对密钥 (公钥和私钥)
  2. 将公钥复制一份给服务端 并重命名
  3. 客户端向服务端发送一个连接请求 信息包括ip 用户名
  4. 服务端得到客户端信息后 会到复制的公钥查找 如果有响应的ip和用户名 服务端就会随机生成一个字符串
  5. 服务端用公钥将这个字符串进行加密 发送给客户端
  6. 得到服务端的信息后 客户端会使用私钥进行解密 然后将解密后的字符串发送给服务端
  7. 接收到解密后的字符串 会更之前生成的字符串对比 一致就免密登录
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次
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值