编写hello world脚本

#!/bin/bash# 编写hello world脚本echo "Hello World!"

通过位置变量创建 Linux 系统账户及密码

#!/bin/bash# 通过位置变量创建 Linux 系统账户及密码#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数
useradd    "$1"
echo "$2"  |  passwd  ‐‐stdin  "$1"

备份日志

#!/bin/bash
# 每周 5 使用 tar 命令备份/var/log 下的所有日志文件
# vim  /root/logbak.sh
# 编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖
# 注意 date 命令需要使用反引号括起来,反引号在键盘<tab>键上面
tar  -czf  log-`date +%Y%m%d`.tar.gz  /var/log # crontab ‐e  #编写计划任务,执行备份脚本
00  03  *  *  5  /root/logbak.sh

监控内存和磁盘容量,小于给定值时报警

#!/bin/bash# 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员# 提取根分区剩余空间
disk_size=$(df / | awk '/\//{print $4}')# 提取内存剩余空间
mem_size=$(free | awk '/Mem/{print $4}')
while :
do
# 注意内存和磁盘提取的空间大小都是以 Kb 为单位
if  [  $disk_size -le 512000 -a $mem_size -le 1024000  ]
thenmail  ‐s  "Warning"  root  <<EOFInsufficient resources,资源不足
EOF
fi
done

猜数字游戏

#!/bin/bash# 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,
# 猜小了或猜大了,直至用户猜对脚本结束。# RANDOM 为系统自带的系统变量,值为 0‐32767的随机数
# 使用取余算法将随机数变为 1‐100 的随机数
num=$[RANDOM%100+1]
echo "$num"# 使用 read 提示用户猜数字
# 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于),
# ‐lt(小于),‐le(小于等于)
while  :
doread -p "计算机生成了一个 1‐100 的随机数,你猜: " caiif [ $cai -eq $num ]thenecho "恭喜,猜对了"exitelif [ $cai -gt $num ]thenecho "Oops,猜大了"elseecho "Oops,猜小了"fi
done

破解密码

# 使用二个嵌套的循环生成密码,并将生成的密码传递给A,最终将结果写入到log文件。
#!/bin/bash
while read i; dowhile read ii; dopassword="$i$ii"result=$(./A  -t "$password")echo "$result-$password" >> log.txt &sleep 0.01done < st.txt
done < st.txt

输入三个数并进行升序排序

#!/bin/bash# 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
read -p "请输入一个整数:" num1
read -p "请输入一个整数:" num2
read -p "请输入一个整数:" num3
# 不管谁大谁小,最后都打印 echo "$num1,$num2,$num3"
# num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值
# 如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将 num1 和 num2 的值对调
tmp=0
# 如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值
if [ $num1 -gt $num2 ];then   tmp=$num1num1=$num2num2=$tmp
fi
# 如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值
if [ $num1 -gt $num3 ];then   tmp=$num1num1=$num3num3=$tmp
fi
# 如果 num2 大于 num3,就把 num2 和 num3 对标,确保 num2 变量中存的是小一点的值
if [ $num2 -gt $num3 ];thentmp=$num2num2=$num3num3=$tmp
fi
echo "排序后数据(从小到大)为:$num1,$num2,$num3"

石头、剪刀、布游戏

#!/bin/bash# 编写脚本,实现人机<石头,剪刀,布>游戏
game=(石头 剪刀 布)
num=$[RANDOM%3]
computer=${game[$num]}
# 通过随机数获取计算机的出拳
# 出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是 3 中不同的可能echo "请根据下列提示选择您的出拳手势"
echo "1.石头"
echo "2.剪刀"
echo "3.布"read -p "请选择 1‐3:" person
case  $person  in
1)if [ $num -eq 0 ]thenecho "平局"elif [ $num -eq 1 ]thenecho "你赢"elseecho "计算机赢"fi;;
2)   if [ $num -eq 0 ]thenecho "计算机赢"elif [ $num -eq 1 ]thenecho "平局"elseecho "你赢"fi;;
3)if [ $num -eq 0 ]thenecho "你赢"elif [ $num -eq 1 ]thenecho "计算机赢"elseecho "平局"fi;;
*)echo "必须输入 1‐3 的数字"
esac

9*9 乘法表

#!/bin/bash# 9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)
for i in `seq 9`
dofor j in `seq $i`doecho -n "$j*$i=$[i*j]  "doneecho
done

编写批量修改扩展名脚本

#!/bin/bash# 编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件
# 执行脚本时,需要给脚本添加位置参数
# 脚本名  txt  doc(可以将 txt 的扩展名修改为 doc)
# 脚本名  doc  jpg(可以将 doc 的扩展名修改为 jpg)for i in `ls *.$1`
domv $i ${i%.*}.$2
done

dd重装系统

wget -N --no-check-certificate https://raw.githubusercontent.com/veip007/dd/master/InstallNET.sh && chmod +x InstallNET.sh && ./InstallNET.sh -d 10 -v 64 -p "自定义root密码" -port "自定义ssh端口"

openssl生成自签名证书

通过openssl生成私钥
openssl genrsa -out server.key 2048
# 根据私钥生成证书申请文件csr
openssl req -new -key server.key -out server.csr
# 使用私钥对证书申请进行签名从而生成证书
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650

常用的脚本备份

https://archives.vip/6.html

一些Shell经典脚本相关推荐

  1. shell经典脚本或命令行

    查看文件或目录大小 ~$du -h file_path //查看某个文件大小,并显示易读的单位 ~$du -ah //查看当前目录下及其子目录下所有文件的大小 生成自签名证书 create-ca.sh ...

  2. linux常用shell命令面试,shell经典笔试题目总结

    shell经典笔试题目总结 守望者整理了一些高手的博客记录的shell面试题分享给大家,有些比较有意思,帮助大家面试或则学习shell编程的学习例子 一 文件内容如下: 100 a         1 ...

  3. shell经典面试题根据文件创建用户名及密码(亲测)

    转载来源 :shell经典面试题根据文件创建用户名及密码 : https://www.jianshu.com/p/eeb455eef7ca 01 前言 shell脚本已经学习了很长一段时间了,现在时不 ...

  4. python编程一个正方体的代码_Linux Shell经典面试题之请用shell或Python编写一个正方形(square.sh),接受用户输入的数字...

    Linux Shell经典面试题 1.请用shell或Python编写一个正方形(square.sh),接受用户输入的数字. [root@oldboy ~]# sh square1.sh Please ...

  5. 23个shell实用脚本

    shell脚本是帮助程序员和系统管理员完成费时费力的枯燥工作的利器,是与计算机交互并管理文件和系统操作的有效方式.区区几行代码,就可以让计算机接近按照你的意图行事. 为大家整理了23个实例,通过23个 ...

  6. Linux学习系列五:Shell命令脚本的基本语法

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

  7. lnmp shell安装脚本

    LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.LNMP是现在大多数大型公司在用的web环境,nginx小巧高效的web服务器和反向代理服务器,相对于apach占 ...

  8. Linux shell 自启动脚本写法

    # ********************************************************************** # Linux shell 自启动脚本写法 # 说明: ...

  9. linux Shell(脚本)编程入门实例讲解详解

    linux Shell(脚本)编程入门实例讲解详解 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集, ...

最新文章

  1. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个...
  2. 皮一皮:打完疫苗千万别睡太死...
  3. vs2015上使用github进行版本控制
  4. Python 技术篇-1行代码实现语音识别,speech库快速实现简单的语音对话
  5. mkyaffs2image的用法
  6. 使用JShell的Java 9 Streams API
  7. leetcode 327. 区间和的个数(treemap)
  8. 《TCP/IP详解》学习笔记(五):IP选路、动态选路
  9. IOT---(7)Android Things 入门
  10. 图解Golang的GC算法
  11. Python数据结构与算法笔记(八):数据结构——树,二叉树和AVL树
  12. Python 科学计算—— 数值问题
  13. 【渝粤教育】国家开放大学2019年春季 1013金融统计分析 参考试题
  14. 解决PowerDesigner 错误:Invalid repository user or password!
  15. NYOJ770 仿射密码
  16. multisim C语言编程,基于Multisim10的51单片机仿真实战教程:使用汇编和C语言
  17. 应用物理学属于计算机,应用物理学专业属于什么学科
  18. python模拟内置函数reversed()_Python 3 内置函数 reversed( )
  19. AWS如何安全顺利关闭所有的免费服务
  20. sql中不用group by分组进行计总

热门文章

  1. 好社群的选择标准是什么?如何创建付费社群渠道?
  2. 《三国演义》之人物出场统计
  3. 计算机毕业设计论文该怎么写?软件工程毕设选题推荐有哪些;计算机毕业设计不会做怎么办;怎么做什么简单;电子信息工程毕业设计要做到什么程度
  4. C语言微信控制windows电脑代码,Windows电脑版微信实现多开 无需第三方软件(bat命令实现)...
  5. Altium Designer18之修改画图光标大小
  6. 计算机扫描变文档,原来电脑上的扫描仪功能这么好用!纸质文档轻松转为电子格式...
  7. 个人和企业如何注册腾讯云账号?
  8. java poi操作word模版 导出word文档(附工具类)
  9. 【西祠日志】【17】初识AngularJS,下一代Web应用的前端
  10. MPLS 次末跳弹出配置_中东版2019款三菱帕杰罗V97配置详情介绍