第1-第20个高级shell程序
高级shell脚本
1.使用Shell脚本批量修改文件名
#!/bin/bash
for fi lein$(ls*.txt)
do
mv $file${file%%.*}.md
done
2.统计一个文本文件中某个单词出现的次数
#!/bin/bashword="example"
count=0
whilereadline
do
forwin$line
do
if["$w"="$word"]
then
count=$((count+1))
fi
done
done<file.txt
echo"$wordappears$counttimes"
3.使用Shell脚本自动备份MySQL数据库
#!/bin/bashuser="username"
password="password"
host="localhost"
db_name="database"
backup_path="/path/to/backup"
date=$(date+"%Y-%m-%d")
mysqldump--user=$user--password=$password--host=$host$db_name>$backup_path/$db_name-$date.sql
4.使用Shell脚本实现文件压缩和解压
#!/bin/bash#压缩文件zip-rarchive.zipfolder/
#解压文件unziparchive.zip-ddestination_folder/
5.使用Shell脚本监控服务器CPU和内存使用情况
#!/bin/bashcpu_threshold=80
mem_threshold=80
whiletrue
do
cpu_usage=$(top-bn1|grep"Cpu(s)"|awk'{print$2}')
mem_usage=$(free|awk'/Mem/{print$3/$2*100}')
if[[$(echo"$cpu_usage>$cpu_threshold"|bc)-ne0]]
then
echo"CPUusageishigh:$cpu_usage"
fi
if[[$(echo"$mem_usage>$mem_threshold"|bc)-ne0]]
then
echo"Memoryusageishigh:$mem_usage"
fi
sleep5
done
6.使用Shell脚本实现FTP文件上传和下载
#!/bin/bash#FTP文件上传ftp-n<<EOF
openftp.example.com
userusernamepassword
putfile.txt
bye
EOF
#FTP文件下载ftp-n<<EOF
openftp.example.com
userusernamepassword
getfile.txt
bye
EOF
7.使用Shell脚本实现进程监控和重启
#!/bin/bashprocess_name="example"
whiletrue
do
ifpgrep$process_name>/dev/null
then
echo"$process_nameisrunning"
else
echo"$process_nameisnotrunning,restarting..."
/etc/init.d/$process_namerestart
fi
sleep10
done
8.使用Shell脚本实现定时任务
#!/bin/bash#每天凌晨1点执行任务01***/path/to/script.sh
9.使用Shell脚本实现日志分析
#!/bin/bashlog_file="/path/to/log/file"
whiletrue
do
tail-n0-f$log_file|whilereadline
do
ifecho"$line"|grep"error">/dev/null
then
echo"$line">>error.log
fi
done
sleep1
done
10.使用Shell脚本实现SSH登录自动化
#!/bin/bash#自动登录远程服务器并执行命令sshuser@remote_server'command'
#自动上传文件到远程服务器scpfile.txtuser@remote_server:/path/to/destination
#自动下载文件到本地scpuser@remote_server:/path/to/file.txt/path/to/destination
11.使用Shell脚本实现Git代码自动部署
#!/bin/bash#同步代码gitpull
#安装依赖npminstall
#构建项目npmrunbuild
#备份原有部署mv/path/to/deploy/path/to/deploy_backup
#将构建后的代码复制到部署目录cp-rdist/path/to/deploy
#重启服务systemctlrestartservice_name
12.使用Shell脚本实现邮件发送
#!/bin/bashto="recipient@example.com"
subject="Emailsubject"
body="Emailbody"
echo"$body"|mail-s"$subject""$to"
13.使用Shell脚本实现文件加密和解密
#!/bin/bash#加密文件opensslaes-256-cbc-salt-infile.txt-outfile.enc
#解密文件opensslaes-256-cbc-d-infile.enc-outfile.txt
14.使用Shell脚本实现网络监控和报警
#!/bin/bashhost="example.com"
whiletrue
do
if!ping-c1$host>/dev/null
then
echo"Hostisdown:$host"
sendmailrecipient@example.com<<EOF
Subject:Hostisdown
$hostisnotrespondingtopings.
EOF
fi
sleep10
done
15.使用Shell脚本实现密码生成器
#!/bin/bashlength=16
nums='0123456789'
lower='abcdefghijklmnopqrstuvwxyz'
upper='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
special='!@#$%^&*()_+-=[]{}|;:,.<>?'
characters="$nums$lower$upper$special"
password=$(echo$characters|fold-w1|shuf|head-c"$length")
echo"$password"
16.使用Shell脚本实现日志轮转
#!/bin/bash
log_file="/path/to/log/file"
max_size=10000000
backups=5
if[-s$log_file]
then
size=$(du-b$log_file|awk'{print$1}')
if[$size-gt$max_size]
then
for((i=$backups-1;i>=0;i--))
do
if[-f$log_file.$i]
then
mv$log_file.$i$log_file.$((i+1))
fi
done
mv$log_file$log_file.0
touch$log_file
fi
fi
17.使用Shell脚本实现进程限制
#!/bin/bashmax_processes=5
whiletrue
do
if[$(pgrep-cprocess_name)-lt$max_processes]
then
./process_name&
fi
done
18.使用Shell脚本实现远程命令执行
#!/bin/bash
ssh user@remote_server'command'
19.使用Shell脚本实现文件比较
#!/bin/bash
file1="/path/to/file1"
file2="/path/to/file2"
ifdiff$file1$file2>/dev/null
then
echo"File sareidentical"
else
echo"File saredifferent"
fi
20.使用Shell脚本实现用户管理
#!/bin/bash#添加新用户useraddnew_user
#删除用户
userdel old_user
#修改密码
passwd username
#切换用户
su username
相关文章:
第1-第20个高级shell程序
高级shell脚本 1.使用Shell脚本批量修改文件名 #!/bin/bash for fi lein$(ls*.txt) do mv $file${file%%.*}.md done2.统计一个文本文件中某个单词出现的次数 #!/bin/bashword"example" count0 whilereadline do forwin$line do if["$w""$word&qu…...
【致敬嵌入式攻城狮第2期活动预热征文】学习安排
文章目录「 致敬未来的攻城狮计划 」——学习计划前言学习计划🚗单片机理论实践🚗学业阅读计划「 致敬未来的攻城狮计划 」——学习计划 🚀🚀开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯和 瑞萨MCU …...
035:cesium加载KML文件,显示图形
第035个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载KML文件, 显示图形。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共83行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https:/…...
随想录Day42--动态规划: 416. 分割等和子集(终于吃下01背包了)
今天只有1道题,属于动态规划的01背包问题的应用。首先理解一下动态规划的01背包问题。推荐一个视频,动态规划DP0-1背包,这是我认为讲得最为通透的。很多讲解动态背包问题的,一上来就画二维表格,遍历背包或者遍历容量&a…...
字节跳动软件测试岗,前两面过了,第三面被面试官吊打,结局我哭了
阎王易见,小鬼难缠。我一直相信这个世界上好人居多,但是也没想到自己也会在阴沟里翻船。我感觉自己被字节跳动的HR坑了。 在这里,我只想告诫大家,offer一定要拿到自己的手里才是真的,口头offer都是不牢靠的࿰…...
bitlocker 笔记
介绍 bitlocker是windows自带的磁盘加密工具,win10专业版是可以使用的,其他家庭版本可能没有这个功能。有点类似与wd security。 功能 加密磁盘,当磁盘物理丢失时,防止磁盘中的数据泄露。举个例子,移动硬盘被偷&…...
Linux 压缩与解压命令
一、常见的压缩文件扩展名 1、*.Z compress程序压缩的文件 2、*.gz gzip程序压缩的文件 3、.tar.gz tar程序打包的文件,其中经过gzip的压缩 4、.tar tar程序打包的数据,并没有压缩过 5、.bz2 bzip2程序压缩的文件 6、.tar.bz2 tar程序打包的文件&a…...
python global函数用法及常用的 global函数代码
Python中的 global函数是用于在程序中定义变量的函数,在我们实际的开发中,我们可能会用到 global函数来定义变量,但是我们在这里就不具体介绍它的用法了。 global函数定义变量的方法: global函数使用参数a来指定变量在程序中的地址…...
大数据学完好就业么
Python的普及与数据挖掘、人工智能和数值计算等领域的蓬勃发展相关,但同时也与普遍编程需求的增加有关。 Python应用领域广泛,意味着选择Python的同学在学成之后可选择的就业领域有很多,加上Python本身的优势,致使现在越来越多的…...
CASAtomic 原子操作详解
文章目录CAS&Atomic 原子操作详解什么是原子操作CAS相关原子操作类的使用AtomicIntegerAtomicIntegerArray更新引用类型原子更新字段类LongAdderCAS&Atomic 原子操作详解 什么是原子操作 Mysql事务中的原子性就是一个事务中执行的多条sql,要么同时成功&am…...
卷积神经网络(convolutional neural network, CNN)
卷积神经网络(convolutional neural network, CNN) 卷积神经网络(convolutional neural network, CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络是指那些至少在网络的一层中使用卷积运算来替代…...
kube-apiserver启动流程源码分析
1. 概述 KubeAPIServer 主要是提供对 API Resource 的操作请求,为 kubernetes 中众多 API 注册路由信息,暴露 RESTful API 并且对外提供 kubernetes service,使集群中以及集群外的服务都可以通过 RESTful API 操作 kubernetes 中的资源。 2…...
Scala基础(二)
单例对象(object) Scala的类中无法定义静态成员,即无static关键字。如何像Java一样表达类的静态成员变量、成员方法与静态代码块? Scala解决方案:单例对象 使用“object”关键字声明,可包含变量、方法与…...
Python 生产者消费者模型是什么?
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注! 作者| 慕课网精英讲师 朱广蔚 1. 简介 生产者和消费者问题是线程模型中的经典问题: 生产者和消费者共享同一个存储空间生产者往存储空间中添…...
手机银行评测系列:北京银行“京彩生活”7.0从用户视角出发,实现沉浸式体验重塑
易观:2023年3月28日,北京银行发布“京彩生活”APP 7.0版本,从旅程再造、特色金融、场景生态、平台联动、协同经营、体验管理和安全守护七大方面全面升级,从用户视角出发,重塑用户旅程,简化操作流程…...
ZJYC2023 浙江省大学生程序设计竞赛校内选拔赛部分题解 C J B L
ZJYC2023 浙江省大学生程序设计竞赛校内选拔赛部分题解 C J B L 难度分布: 签到:CJ Easy:BL Midium:IAGKFE Hard:DH 题解: 签到:CJ C - ^{-1} 参考代码: #include<bits/std…...
百科创建:7种有效的百科词条创建技巧
百科词条是互联网上最常见的知识信息资源之一,它们是人们查找信息的主要途径之一。创建一个高质量的百科词条并不是一件容易的事情,需要一些技巧和经验才能做到。下面是一些创建百科词条的技巧: 一、确保词条的独特性 在创建百科词条之前&…...
ThreeJS-dat.gui界面控制颜色、隐藏、位置(六)
下载组件dat.gui npm install dat.gui -S 引入组件 import * as dat from dat.gui //界面控制 代码: <template> <div id"three_div"> </div> </template> <script> import * as THREE from "three"; import {O…...
接口自动化测试,完整入门篇
目录 1. 什么是接口测试2. 基本流程3. 需求分析4. 用例设计5. 脚本开发6. 结果分析7. 完整脚本8. 参考资料1. 什么是接口测试 顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及…...
利用ControlNet重新定义你的AI姿势
利用ControlNet重新定义你的AI姿势 前段时间给大家分享了如何利用colab实现AI绘画自由,现在Stable Diffusion WebUI Colab TW又更新了不少新功能。最重要的是可以通过谷歌硬盘的快捷方式导入模型,极大的节省了谷歌硬盘容量。 众所周知,谷歌…...
Alpamayo-R1-10B商业应用探索:车企研发提效与算法验证加速方案
Alpamayo-R1-10B商业应用探索:车企研发提效与算法验证加速方案 1. 项目概述 Alpamayo-R1-10B是NVIDIA推出的自动驾驶专用开源视觉-语言-动作(VLA)模型,作为新一代自动驾驶研发工具链的核心组件,正在改变车企的研发流程。这个100亿参数规模的…...
别再死记公式!一个Buck电路实例带你吃透‘小信号建模’到底在干什么
从Buck电路实战理解小信号建模:为什么工程师需要这个"数学翻译器"? 第一次接触小信号建模时,我和大多数电力电子初学者一样困惑——明明电路已经能用状态方程描述,为什么还要大费周章地推导那些看似复杂的传递函数&…...
轻量工具如何承载复杂项目?揭秘GanttProject的极简主义哲学
轻量工具如何承载复杂项目?揭秘GanttProject的极简主义哲学 【免费下载链接】ganttproject Official GanttProject repository 项目地址: https://gitcode.com/gh_mirrors/ga/ganttproject 在项目管理领域,存在一个普遍的矛盾:专业工具…...
TranslucentTB 架构深度解析:Windows 任务栏透明化技术实现与工程化实践
TranslucentTB 架构深度解析:Windows 任务栏透明化技术实现与工程化实践 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Tran…...
Ostrakon-VL处理网络协议:从数据包捕获文件可视化网络流量
Ostrakon-VL处理网络协议:从数据包捕获文件可视化网络流量 1. 网络流量分析的痛点与机遇 网络工程师每天都要面对海量的网络数据包,传统的分析工具虽然功能强大,但存在几个明显痛点: 数据量大:一个中等规模企业的日…...
Swift-All镜像推荐:免配置快速部署,新手也能轻松上手
Swift-All镜像推荐:免配置快速部署,新手也能轻松上手 想体验大模型的强大能力,却被复杂的安装、环境配置和依赖问题搞得头大?今天,我为你介绍一个能彻底解决这些烦恼的“神器”——Swift-All镜像。它就像一个为你量身…...
2026 年电子邮件认证部署缺陷与安全风险治理研究
摘要 电子邮件作为网络攻击最主要入口,域名伪造与商业邮件欺诈(BEC)持续威胁机构安全。SPF、DKIM、DMARC 作为抵御邮件伪造的核心协议已提出十余年,但大量组织仍存在认知不足、配置错误、长期停留在监控模式等问题,导致…...
PDF-Parser-1.0效果实测:中文识别超99%,表格公式完美提取
PDF-Parser-1.0效果实测:中文识别超99%,表格公式完美提取 1. 开篇实测体验 当我第一次使用PDF-Parser-1.0处理一份15页的技术文档时,结果让我感到惊讶。这份文档包含复杂的中英文混排内容、3个跨页表格和5个数学公式,传统OCR工具…...
OneDrive导致桌面图标变白的解决方案
OneDrive导致桌面图标变白的原因主要是由于OneDrive的同步功能或图标缓存损坏。当使用OneDrive的“释放空间”功能时,可能会导致图标变为空白页或默认图标。此外,图标缓存损坏也可能导致图标变白。解决方法:1. 调整OneDrive设置:在…...
intv_ai_mk11 GPU部署教程:A10显卡下intv_ai_mk11服务健康检查脚本编写与自动化监控
intv_ai_mk11 GPU部署教程:A10显卡下intv_ai_mk11服务健康检查脚本编写与自动化监控 1. 环境准备与快速部署 在开始编写健康检查脚本之前,我们需要确保intv_ai_mk11服务已经正确部署在A10显卡服务器上。以下是快速部署步骤: 系统要求&#…...
