1、通过位置变量创建linux系统账户及密码

$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 19:19:45

# Name: userad.sh

# Version: v1.0

# Description: This is a Script.

`useradd $1`

echo "$2" |passwd --stdin "$1"

2、每周5使用tar命令备份/var/log 下的所有日志文件,防止文件覆盖

vim backup.sh

tar zcfP /tmp/varlog_$(date +%F).tar.gz /var/log

crontab -e

* * * * 5 bin/bash /server/scripts/backup.sh

3、实时监控本机内存和硬盘剩余空间,剩余内存小于500M,根分区剩余空间小于1000M的时候发送报警邮件

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 20:29:30

# Name: jiankong.sh

# Version: v1.0

# Description: This is a Script.

free=`free -m|awk 'NR==3 {print$4 }'`

df=`df |awk 'NR==2{print $4}'`

if [[ $free -lt 500 && $df -lt 1000000 ]];then

mail -s "Warning~" 1227566276@qq.com

echo 'send success!'

else

echo 'zhengchang!'

exit 0

fi

4、脚本生成一个 100 以内的随机数值,提示用户猜数字,更具用户的输入,提示用户猜对了,猜打了或猜小了,直至用户猜对脚本结束。

5、检测本机当前用户是否为超级管理员,如果是管理员,使用 yum 安装 vsftpd,如果不是,则提示您非管理员,使用字串对比版本。

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 20:43:03

# Name: root.sh

# Version: v1.0

# Description: This is a Script.

root=`id -u`

if [ $root -eq 0 ];then

yum install -y vsftpd

else

echo 'no super user~'

fi

6、依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 20:45:50

# Name: 3geshu.sh

# Version: v1.0

# Description: This is a Script.

read -p "first:" a

read -p "second:" b

read -p "third:" c

if [[ -z $a || -z $b || -z $c ]];then

echo "please input num---"

exit 1

fi

if [[ -n "$(echo $a| sed -n "/^[0-9]\+$/p")" && -n "$(echo $b| sed -n "/^[0-9]\+$/p")" && -n "$(echo $c| sed -n "/^[0-9]\+$/p")" ]];then

if [ $a -lt $b ];then

t=$a;a=$b;b=$t;

fi

if [ $a -lt $c ];then

t=$a;a=$c;c=$t;

fi

if [ $b -lt $c ];then

t=$b;b=$c;c=$t;

fi

echo " big --- small:$a,$b,$c"

else

echo "dont abcd...."

fi

7、编写脚本,实现人机《石头,剪刀,布》游戏

8、编写脚本测试192.168.4.0/24整个网段中那些主机处于开机状态,那些主机处于关机状态(for 版本)

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 21:13:05

# Name: ping1.sh

# Version: v1.0

# Description: This is a Script.

for i in {1..254}

do

ping 192.168.4.$i -c 2 -w 1 2&>1 >/dev/null

if [ $? -eq 0 ];then

echo "192.168.4.$i active!!!"

else

echo "192.168.4.$i down..."

fi

done

9、编写脚本测试 192.168.4.0/24 整个网段中那些主机处于开机状态,那些主机处于关机状态(多进程版),定义一个函数来实现,ping 某一台主机,并检测主机的存货状态

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 21:18:43

# Name: ping2.sh

# Version: v1.0

# Description: This is a Script.

fun_ping(){

ping 192.168.4.$i -c 1 -w 1 2&>1 >/dev/null

if [ $? -eq 0 ]

then

echo "192.168.4.$i active!"

else

echo "192.168.4.$i down."

fi

}

for i in {1..254}

do

fun_ping

done

10、编写脚本,复制文件的时候,显示进度条

11、9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)

12、使用死循环实时显示 eth0 网卡发送的数据包流量

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 21:50:32

# Name: eth4.sh

# Version: v1.0

# Description: This is a Script.

while :

do

ifconfig eth4 |sed -n '5,6p'

done

13、使用user.txt 文件中的人员名单,在计算机中自动创建对应的账户并配置初始密码

脚本执行,需要提前准备一个 user.txt 文件,该文件中包含有若干用户信息

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 21:27:13

# Name: zidonguser.sh

# Version: v1.0

# Description: This is a Script.

user=`cat /server/scripts/user.txt`

for i in $user

do

useradd $i

echo "123456" |passwd --stdin "$i"

done

14、编写批量修改扩展名脚本,如批量将 txt 文件修改为doc文件

执行脚本时,需要给脚本添加位置参数

脚本名 txt doc (可以将 txt 的扩展名修改为doc)

脚本名 doc jpg(可以将doc 的扩展名修改为jpg)

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 18:58:14

# Name: rename.sh

# Version: v1.0

# Description: This is a Script.

read -p "input weizhi" $wz

for i in `ls $wz`

do

mv $i `echo $i|sed s#txt#doc#g`

done

15、查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计)

使用 netstat -atn 可以查看本机所有连接状态,-a 查看所有,

-t 仅显示tcp连接信息, -n数字格式显示

local address(第四列是本机的IP和端口信息)

Foreign address(第五烈是远程主机的IP和端口信息)

使用awk命令仅显示第5列数据,再显示第1列IP地址的信息

sort 可以按数字的大小排序,最后使用 Uniq 将多余重复的删除,并统计重复次数

#netstat -atn | awk -F"[: ]+" '{print $5}' 端口号

netstat -atn |egrep ":80|:22|:21" | awk '{print $5}' |awk -F ":" '{print $1}' |sort -rn |uniq -c

16、对100 以内的所有正整数相加求和(1+2+3.。。+100)

eq 100 可以快速自动生成100个整数

#!/bin/bash

# Author: Peter zh

# Blog: https://home.cnblogs.com/zhangwduoduoj/

# Time: 2019-08-17 21:10:05

# Name: qiuhe.sh

# Version: v1.0

# Description: This is a Script.

sum=0

for i in `seq 100`

do

let sum+=i

done

echo $sum

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要PHP进阶架构师>>>视频、面试文档免费获取​shimo.im

或 者关注咱们下面的知乎专栏PHP大神进阶​zhuanlan.zhihu.com

shell脚本求和_常用的Shell脚本相关推荐

  1. Linux Shell脚本专栏_服务器系统配置初始化脚本_01

    文章目录 一.服务器系统配置初始化 1. 设置时区并同步时间 ① 脚本编写 ②脚本说明 2. 禁用selinux ① 脚本编写 ②脚本说明 3. 关闭防火墙 ① 脚本编写 ②脚本说明 4. 历史命令显 ...

  2. 什么是shell,shell基础由浅入深,常用的shell命令、用法、技巧

    Shell:可以批量处理.自动化完成一系列维护任务,大大减轻管理员的负担!Shell是一个特殊的应用程序,介于操作系统内核与用户之间,充当了一个"命令解释器"的角色.负责接收用户输 ...

  3. cad脚本合适_如何制作cad脚本文件?cad脚本文件怎么做?

    CAD制作脚本文件教程: 1.打开一个新的记事本文件.您可以通过单击开始->运行,编写记事本并按Enter来完成此操作. 2.从计算出的源文件复制并粘贴需要在AutoCAD中绘制的数据. 3.在 ...

  4. shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句

    case多分支语句 循环语句 for循环语句 while循环语句 untli循环语句 Shell函数 Shell数组 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 case 变量值 ...

  5. 【shell脚本开发技术】linux中shell script脚本开发编程常用命令与脚本速记指南

    shell script #!/bin/bash # do something run shell script sh script.shorchmod a+x script.sh ./script. ...

  6. shell 创建文件_如何在shell脚本中创建与shell脚本同目录或者同相对路径的文件夹或者文件?...

    https://codingstandards.iteye.com/blog/800028​codingstandards.iteye.com linux 下 `dirname $0`​www.cnb ...

  7. linux脚本表白,七夕常用的shell表白脚本

    一到七夕就好激动,可是作为我们怎么表白呢! 如何可以来一个不一样的表白呢! 一束蓝色妖姬,一个烛光晚餐,还是其他的啥? 如果在这个之后,再来一个我们别样的小操作,是不是会有意外的感觉呢! 先看效果图: ...

  8. Mysql bat脚本编写_第一次编写bat脚本

    ** 前言 ** 今天中午在宿舍不想做什么事,于是想到傻怡的电脑太卡了,多方面原因造成的,多软件安装于系统盘.安装了没用的杀毒软件等等,但是对于windows系统来说呢,使用时间长了,会有很多的缓存文 ...

  9. bash脚本 文件_如何使用Bash脚本来管理从AWS S3存储桶下载和查看文件

    bash脚本 文件 As you can read in this article, I recently had some trouble with my email server and deci ...

最新文章

  1. pip install faiss-gpu失败unable to execute ‘swig‘: No such file or directory
  2. Visual Studio 2013开发 mini-filter driver step by step 获取文件读写内容(6)
  3. 【CyberSecurityLearning 附】使用PHP语言搭建简单的论坛:注册功能实现+PHP个人中心设计+简单留言板
  4. 用好这几款炼丹利器,调参从此得心应手 | Let's Fork
  5. 讲真,做Python一定不要只会一个方向!
  6. java多线程写在哪一层_面试知识点三:Java多线程
  7. linux 网络RPS/RFS/XPS
  8. httpHandlers和httpModules接口介绍 (5)
  9. ubuntu server修改系统时区和系统时间
  10. HALCON 20.11:深度学习笔记(11)---目标检测
  11. 宜宾学院教务系统(金智教务系统)成绩爬虫
  12. iphone之参数知识(一)
  13. linux zip,tar压缩文件夹 忽略 .git 文件夾
  14. NetLogo学习笔记1 —— 初步认识
  15. 警惕男人出轨的六个高发期
  16. 能让HR多看两分钟的优秀简历
  17. python文件名排序按windowsp_在SQLServer中如果实现Windows文件夹中按名称排序?算法是什么怎么Order By...
  18. 当你改变不了环境的时候试着改变自己
  19. Stm32 HAL_UART_Receive读取不到数据的问题
  20. Poletowin Pitcrew Holdings, Inc.任命Deborah Kirkham为其董事会成员

热门文章

  1. C# 将PDF文件转换为word格式
  2. (转)C# Color类图示
  3. MongoDB Replica Set 选举过程
  4. CodeForces - 1517B Morning Jogging
  5. B00006 函数itoa()
  6. Makefile 文件怎么写
  7. 一题多解(二)—— 循环队列为空(满)的判断
  8. 【算法】—— 最大子序列和问题
  9. 标准模板库(STL)之无序容器列传
  10. numpy 中的 broadcasting(广播)机制