问题解析

for循环

  • 格式
    for 要变的变量 in {变量要变化的值}
    do
    (要加$表示是一个变量)要做的事
    done

  • 例:
    批量创建用户并设置密码利用for循环
    for username in oldboy {01…10}
    do
    $useradd oldboy && echo 123456|passwd - - stdin $username
    done
    创建不同用户并设置不同密码
    思路一:先把密码整出来
    用tr命令:
    在这里插入图片描述
    思路二:情况一:创建不同用户较多的情况
    把要创建的用户名放入一个文件中,再编写for循环
    例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    创建完成。
    ==========================================================
    补充: ``用法说明 : 将反引号里面命令先执行, 将结果信息被反引号外面命令进行调用
    例:
    : which ssh
    /usr/bin/ssh
    :rpm -qf /usr/bin/ssh
    openssh-clients-7.4p1-16.el7.x86_64
    将两条命令整合为一条: 在这里插入图片描述

    ====================================================-
    情况二:创建用户较少的情况

在这里插入图片描述
思路三:创建用户和密码
编写脚本:并创建个文件用于放入用户对应的密码
在这里插入图片描述
在这里插入图片描述

脚本格式

  • #!/bin/bash

强制停止进程方法: 三个杀手

  • kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

  • 方法一:

    • kill 进程号码 — 杀死进程, 反复执行命令会有提示
      kill -9 进程号码 — 强行无条件杀死进程(千万慎用)
  • 方法二:

    • killall 进程名 — 杀死进程, 反复执行命令会有提示
  • 方法三:

    • pkill 信息 — 模糊杀进程
      netstat -ltunp|grep 22
      netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况
      ltunp在这里插入图片描述在这里插入图片描述

    远程连接排错思路

    • a 确认链路是否通畅
      ping 10.0.0.200
    • b 确认是否有阻止策略
    • c 确认远程服务是否开启
      telnet 10.0.0.200 22
    • systemctl status sshd
      ps -ef|grep sshd
      ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
      e:列出程序时,显示每个程序所使用的环境变量
      f:用ASCII字符显示树状结构,表达程序间的相互关系。

批量编辑多行信息 vim

  • 添加注释信息:

    • 第一个历程: 先将光标移动到要编辑内容的第一行
    • 第二个历程: 进入视图块模式
      ctrl+v
    • 第三个历程: 移动光标选中多行信息
    • 第四个历程: 进入编辑模式
      shift+i — 编辑信息
    • 第五个历程: 退出编辑模式
      esc

    取消注释信息:

    • 第一个历程: 先将光标移动到要编辑内容的第一行
    • 第二个历程: 进入视图块模式
      ctrl+v
    • 第三个历程: 移动光标选中多行信息
    • 第四个历程: 删除选中的信息
      d 或者 x

测试一个局域网中有哪些IP地址可以用

  • 思路一:ping 多个地址
  • 利用for循环
    for IP in {1…100}
    do
    ping 192.168.20.$IP
    done
  • 思路二:了解ping命令用法
  • ping -c 3 -q 192.168.20.52 >>/tmp/ping.log
  • 思路三:访问通或者不通要有提示说明
    如果ping是通: 提示 xxx地址 正在使用 (绿色)
    如果ping不通: 提示 xxx地址 未被使用 (红色)
  • 编写if语句:
    • if [ $? -eq 0 ]
      then
      echo -e “\e[32;1m提示 xxx地址 正在使用\e[0m”
      else
      echo -e “\e[31;1m提示 xxx地址 未被使用\e[0m”
      fi

      echo -e “\e[31;1moldboy69\e[0m” 红色
      echo -e “\e[32;1moldboy69\e[0m” 绿色

      编写脚本:
      #!/bin/bash

      for IP in {1…100}
      do
      ping -c 3 -q 192.168.20.$IP >>/tmp/ping.log
      if [ KaTeX parse error: Undefined control sequence: \e at position 41: … echo -e "\̲e̲[32;1m提示信息: 192…IP 正在使用\e[0m"
      else
      echo -e “\e[31;1m提示信息: 192.168.20.$IP 未被使用\e[0m”
      fi
      done

如何实现日志切割?
实现日志切割
编写脚本
vim cut_log.sh
#!/bin/bash
mv /var/log/messages /var/log/messages_$(date “+%F_%T”)

systemctl restart rsyslog

0 15,20 * * * /bin/sh /server/scripts/cut_log.sh

实现系统发送邮件功能
linux系统 — 邮件服务器建立关系(QQ 330882721 163) — 其他人发送邮件
第一个历程: 注册一个邮件服务器
进行设置 — 开启smtp服务功能 — 生成一个授权码
第二个历程: linux系统配置发送邮件功能
vim /etc/mail.rc
set from=邮箱地址@163.com smtp=smtp.163.com <- 邮件发送邮件服务器域名,此处为163邮箱的发送服务器域名
set smtp-auth-user=邮箱账号 smtp-auth-password=登录邮箱密码 smtp-auth=login

   set from=17778058507@163.com
   set smtp=smtp.163.com
   set smtp-auth-user=17778058507@163.com
   set smtp-auth-password=oldboy123
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值