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

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: userad.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

9 `useradd $1`10 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的时候发送报警邮件

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: jiankong.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

9 free=`free -m|awk 'NR==3 {print$4 }'`10 df=`df |awk 'NR==2{print $4}'`11

12 if [[ $free -lt 500 && $df -lt 1000000]];then13 mail -s "Warning~" 1227566276@qq.com14 echo 'send success!'

15 else

16 echo 'zhengchang!'

17exit 018 fi

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

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: root.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

9 root=`id -u`10 if [ $root -eq 0 ];then11 yum install -y vsftpd12 else

13 echo 'no super user~'

14 fi

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: 3geshu.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 read -p "first:"a9 read -p "second:"b10 read -p "third:"c11

12 if [[ -z $a || -z $b || -z $c ]];then13 echo "please input num---"

14 exit 1

15fi16

17 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")"]];then18

19 if [ $a -lt $b ];then20 t=$a;a=$b;b=$t;21fi22 if [ $a -lt $c ];then23 t=$a;a=$c;c=$t;24fi25 if [ $b -lt $c ];then26 t=$b;b=$c;c=$t;27fi28 echo "big --- small:$a,$b,$c"

29

30 else

31 echo "dont abcd...."

32 fi

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

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: ping1.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 for i in {1..254}9do10 ping 192.168.4.$i -c 2 -w 1 2&>1 >/dev/null11 if [ $? -eq 0 ];then12 echo "192.168.4.$i active!!!"

13 else

14 echo "192.168.4.$i down..."

15fi16 done

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: ping2.sh

6 #Version: v1.0

7 #Description: This is a Script.

8fun_ping(){9

10 ping 192.168.4.$i -c 1 -w 1 2&>1 >/dev/null11 if [ $? -eq 0 ]12then13 echo "192.168.4.$i active!"

14 else

15 echo "192.168.4.$i down."

16fi17}18 for i in {1..254}19do20fun_ping21 done

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

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

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: eth4.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 while:9do10 ifconfig eth4 |sed -n '5,6p'

11 done

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

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: zidonguser.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 user=`cat /server/scripts/user.txt`9 for i in$user10do11useradd $i12 echo "123456" |passwd --stdin "$i"

13 done

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

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

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

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

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: rename.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 read -p "input weizhi"$wz9 for i in`ls $wz`10do11 mv $i `echo $i|sed s#txt#doc#g`

12

13 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个整数

1 #!/bin/bash

2 #Author: Peter zh

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

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

5 #Name: qiuhe.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

9 sum=10 for i in `seq 100`11do12 let sum+=i13done14echo $sum15

linux编写复制脚本程,常用的Shell脚本相关推荐

  1. linux编写域网扫描工具,shell脚本+详细解析

    目录 1.问题描述 2.需求分析 3.编写脚本 4.脚本优化 1.问题描述 编写一个局域网扫描工具,获得整个局域网里哪些ip地址在使用,哪些没有在使用,同时显示在使用的ip地址对应的MAC地址,写到文 ...

  2. linux过滤脚本中的字段,Shell脚本中常用的文本过滤命令

    在Linux运维日常工作中,Shell脚本的使用如家常便饭一样,须做到顺手拈来,文本处理所占比重更是不容小视,而文本处理中,稍具难度的莫过于文本的过滤.今天我们要通过这一讲,掌握文本过滤的常用命令,有 ...

  3. linux 脚本实现物理备份,shell脚本实现系统监视统计与数据备份

    知识内容:*管理统计信息*执行备份*管理用户对于linux SA来说,没啥比shell脚本编程更有用的了.linux系统每天都有很多任务需要做好,从监视系统 磁盘空间.系统用户到备份系统重要文件.通过 ...

  4. linux脚本查看系统内存,二个linux下查看内存使用情况的shell脚本()

    摘要 腾兴网为您分享:二个linux下查看内存使用情况的shell脚本(),政务易,悦作业,优化大师,王者荣耀等软件知识,以及单向历app,优路教育app,kimoji,开关电源设计软件,皮皮高清影视 ...

  5. linux脚本调用db2存储过程,LINUX定时执行含有DB2存储过程的SHELL脚本

    <LINUX定时执行含有DB2存储过程的SHELL脚本>由会员分享,可在线阅读,更多相关<LINUX定时执行含有DB2存储过程的SHELL脚本(6页珍藏版)>请在人人文库网上搜 ...

  6. 【转】常用的shell脚本

    from:http://blog.sina.com.cn/s/blog_4152a9f501013r6c.html 常用的shell脚本 (2012-10-10 22:09:07) 转载▼ 标签: 杂 ...

  7. linux停止jar程序,Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    废话不多说了,先给大家上代码,具体代码如下所示: #!/bin/bash cd `dirname $0` CUR_SHELL_DIR=`pwd` CUR_SHELL_NAME=`basename ${ ...

  8. shell编写mysql全备和增备脚本_基于mysqldump编写自动全备增备的shell脚本

    基于mysqldump编写自动全备增备的shell脚本 在线上MySQL数据库备份分为全备和增备,而xtrabackup备份已经支持了增量备份了,但是mysqldump就不支持增量备份,所以我们需要写 ...

  9. linux启动脚本springboot,Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    废话不多说了,先给大家上代码,具体代码如下所示: #!/bin/bash cd `dirname $0` cur_shell_dir=`pwd` cur_shell_name=`basename ${ ...

最新文章

  1. Attention机制_pytorch
  2. pandas基于dataframe字符串数据列包含(contains)特定字符串来筛选dataframe中的数据行(rows where values contain substring)
  3. CDQZ_Training 2012-05-24 聪明的打字员
  4. linux编码安装mysql_在Ubuntu 15.10下安装mysql设置数据库编码
  5. mysql水平分表实践记录_MYSQL 分表实践
  6. 微信网页开发(2)--使用微信开发者工具
  7. 【正点原子FPGA连载】第三章 硬件资源详解 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  8. 大学计算机案例教程旧照片修复,「教你一招」使用自动软件修复老照片
  9. 2020年诺贝尔化学奖得主自述:基因编辑技术将把我们带向何方?
  10. eliteadmin网页后台管理模板简介
  11. Remix IDE的本地环境搭建(ubuntu系统)以及编译智能合约
  12. 软考·系统架构师论文——论软件的高并发设计
  13. 云阶月地,关锁千重(一.公平和非公平)
  14. 长安大学微型计算机原理与接口技术答案,长安大学考研专业课《815微机原理与接口技术》真题解析 考点 冲刺.pdf...
  15. 【JavaScript】时间日期,月日小于10的前面补0(新方法padStart)
  16. 使用树莓派4b和OpenCV做机械臂夹取
  17. 『C语言』系统日期时间
  18. 【嵌入式】_ARM DS-5.26.0_(安装破解、编译、运行Helloworld)
  19. 被讨厌的勇气:“自我启发之父”阿德勒的哲学课
  20. 安装配置sublime text2 最全教程

热门文章

  1. antd的 input有下拉_解决antd 下拉框 input [defaultValue] 的值的问题
  2. oracle+资料类型不一致吗,oracle数据库中,字段类型不一致,导致查询慢
  3. Django第一天笔记
  4. jre6-java运行环境_Java运行环境(JRE8)64位 1.8.0.25
  5. Spring Boot引起的“堆外内存泄漏”排查及经验总结
  6. 会议交流 | DataFunCon 线上大会 - 知识图谱专题论坛
  7. 论文浅尝 | Distant Supervision for Relation Extraction
  8. 【LeetCode】3月29日打卡-Day14-BFS
  9. Berttransformer
  10. 10 计算机组成原理第六章 总线 总线的概念与分类 总线性能指标 总线仲裁 总线操作和定时 总线标准