ecs服务器shell常用脚本练习(六)

简介: 【4月更文挑战第4天】shell代码训练(六)

1. 查找Linux 系统中的僵尸进程

#!/bin/bash

#awk 判断ps 命令输出的第8 列为Z 是,显示该进程的PID 和进程命令

ps aux |awk '{if($8 == "Z"){print $2,$11}}'

2. 提示用户输入年份后测试判断是否为闰年

#!/bin/bash

#能被4 整除并且并100 整除的年是闰年

#能被400 整除的年也是闰年

read ‐p "请输入一个年份:" year

if [ "$year" = "" ];then

echo "没有输入年份"

exit

fi

#使用正则测试变量year 中是否包含大小写字母

if [[ "$year" =~ [a‐Z] ]];then

echo "你输入的不是数字"

exit

fi

if [ $[year % 4] ‐eq 0 ] && [ $[year % 100] ‐ne 0 ];then

echo "$year 是闰年"

elif [ $[year % 400] ‐eq 0 ];then

echo "$year 是闰年"

else

echo "$year 不是闰年"

fi

3. 生成随机密码(urandom 版本)

#!/bin/bash

#/dev/urandom 文件是Linux 内置的随机设备文件

#cat /dev/urandom 可以看看里面的内容,ctrl+c 退出查看

#查看该文件内容后,发现内容有些太随机,包括很多特殊符号,我们需要的密码不希望使用这些符号

#tr ‐dc '_A‐Za‐z0‐9' </dev/urandom

#该命令可以将随机文件中其他的字符删除,仅保留大小写字母,数字,下划线,但是内容还是太多

#我们可以继续将优化好的内容通过管道传递给head 命令,在大量数据中仅显示头10 个字节

#注意A 前面有个下划线

tr ‐dc '_A‐Za‐z0‐9' </dev/urandom | head ‐c 10

4. 生成随机密码(字串截取版本)

#!/bin/bash

#设置变量key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符

#使用$#统计密码库的长度

key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

num=${#key}

#设置初始密码为空

pass=''

#循环8 次,生成8 为随机密码

#每次都是随机数对密码库的长度取余,确保提取的密码字符不超过密码库的长度

#每次循环提取一位随机密码,并将该随机密码追加到pass 变量的最后

for i in {1..8}

do

index=$[RANDOM%num]

pass=$pass${key:$index:1}

done

echo $pass

5. 生成随机密码(UUID 版本,16 进制密码)

#!/bin/bash

uuidgen

6. 生成随机密码(进程ID 版本,数字密码)

#!/bin/bash

echo $$

7. 测试用户名与密码是否正确

#!/bin/bash

#用户名为tom 并且密码为123456,则提示登录成功,否则提示登录失败

read ‐p "请输入用户名:" user

read ‐p "请输入密码:" pass

if [ "$user" == 'tom' ‐a "$pass" == '123456' ];then

echo "Login successful"

else

echo "Login Failed"

fi

8. 循环测试用户名与密码是否正确

#!/bin/bash

#循环测试用户的账户名和密码,最大测试3 次,输入正确提示登录成功,否则提示登录失败

#用户名为tom 并且密码为123456

for i in {1..3}

do

read -p "请输入用户名:" user

read -p "请输入密码:" pass

if [ "$user" == 'tom' -a "$pass" == '123456' ];then

echo "Login successful"

exit

fi

done

echo "Login Failed"

9. Shell 脚本的fork 炸弹

#!/bin/bash

#快速消耗计算机资源,致使计算机死机

#定义函数名为.(点), 函数中递归调用自己并放入后台执行

.() { .|.& };.

10. 批量下载有序文件(pdf、图片、视频等等)

#!/bin/bash

#本脚本准备有序的网络资料进行批量下载操作(如01.jpg,02.jpg,03.jpg)

#设置资源来源的域名连接

url="http://www.test.com/"

echo "开始下载…"

sleep 2

type=jpg

for i in `seq 100`

echo "正在下载$i.$type"

curl $url/$i.$type ‐o /tmp/${i}$type

sleep 1

done

#curl 使用‐o 选项指定下载文件另存到哪里

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口一:新老同学免费试用

入口二:上云第一站

入口三:学生版超低价云服务器

入口四:云服务器专享特惠版

入口五:云服务器特惠1.5折起

入口七:阿里云最新活动中心

入口八:中小企业权益满减礼包

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
75 1
|
20天前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
42 2
6种方法打造出色的Shell脚本
|
6天前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
17 1
|
11天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
30 2
|
25天前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
43 6
|
21天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
36 1
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
25 0