随笔分类 -  shell

摘要:1、flock 最大的用途就是实现对 crontab 任务的串行化;为了防止crontab 任务出现多实例的情况,导致系统内存被耗尽。 在 crontab 任务中,有可能出现某个任务的执行时间超过了 crontab 中为此任务设定的执行周期,这就导致了当前的任务实例还未执行完成,crontab 又启 阅读全文
posted @ 2022-09-28 16:49 凡人半睁眼 阅读(783) 评论(0) 推荐(0) 编辑
摘要:1、位置变量 位置变量并不是用户自定义的,而在shell中可以直接使用,这样一些约定俗成的规则就可以了。 定义:当一条命令或脚本执行时,后面可以跟多个参数,我们使用位置参数变量来表示这些参数 2、位置参数变量 $n : n为数字, $0代表脚本本身 $1~$9代表第1~9参数,10以上的参数需要用大 阅读全文
posted @ 2022-06-28 10:59 凡人半睁眼 阅读(223) 评论(0) 推荐(0) 编辑
摘要:一、小括号或圆括号() 单小括号() 1、命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 2、命令替换。等同于cmd,shell扫描一遍命令行,发现了$(cmd)结 阅读全文
posted @ 2021-05-20 16:47 凡人半睁眼 阅读(1) 评论(0) 推荐(0) 编辑
摘要:1、、定时清空文件内容,定时记录文件大小 #!/bin/bash ################################################################ #每小时执行一次脚本(任务计划),当时间为0点或12点时,将目标目录下的所有文件内 #容清空,但不删除文 阅读全文
posted @ 2021-03-26 10:18 凡人半睁眼 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1、Shift的用法 (参数左移) 位置参数可以用shift命令左移。 如shift 3:表示将$1、$2、$3丢弃,$4现在变成$1,$5现在变成$2,$0不移动。不带参数的shift,默认左移1。 对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参 阅读全文
posted @ 2021-02-04 23:42 凡人半睁眼 阅读(398) 评论(0) 推荐(0) 编辑
摘要:一、条件选择、判断 1、条件选择if语句 (1)多分支判断 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条件 3 ; then 条件为真的分支代码 else 以上条件都为假的分支代码 fi 逐条件进行判断,第一次遇为“ 阅读全文
posted @ 2021-02-01 22:19 凡人半睁眼 阅读(354) 评论(0) 推荐(0) 编辑
摘要:一、在Linux中使用Shell写一个显示目录结构的命令,快速寻找目录结构。 1、代码 #!/usr/bin/env bash # 本命令用于显示指定路径或者当前路径的文件结构,支持搜索 # tf 显示当前目录的文件结构 # tf 接关键词 搜索当前目录 # tf 目录 关键词 搜索指定目录 # 本 阅读全文
posted @ 2020-12-12 17:56 凡人半睁眼 阅读(288) 评论(0) 推荐(0) 编辑
摘要:1、显示进度条 #!/bin/bash # 编写脚本,显示进度条 myProgress(){ while : do echo -n '#' sleep 0.2 done } myProgress & cp -a $1 $2 killall $0 echo "拷贝完成" 2、编写脚本测试 192.16 阅读全文
posted @ 2020-07-14 00:08 凡人半睁眼 阅读(281) 评论(0) 推荐(0) 编辑
摘要:一、sed 写法 sed [选项] ‘范围 动作’ 文件 一个简单的 sed 命令包含三个主要部分:参数、范围、操作。要操作的文件,可以直接挂在命令行的最后。除了命令行,sed也可以通过-f参数指定一个 sed脚本,这个属于高级用法,不做过多描述。 参数选项: -n 参数:是--quiet或者--s 阅读全文
posted @ 2020-07-01 09:16 凡人半睁眼 阅读(304) 评论(0) 推荐(0) 编辑
摘要:1、一键查看服务器资源利用率 #!/bin/bash function cpu() { NUM=1 while [ $NUM -le 3 ]; do util=`vmstat |awk '{if(NR==3)print 100-$15"%"}'` user=`vmstat |awk '{if(NR= 阅读全文
posted @ 2019-10-09 21:37 凡人半睁眼 阅读(218) 评论(0) 推荐(0) 编辑
摘要:1、shell判断符[ ] (()) () [] [[]] {}、字符截取(切片) - 凡人半睁眼 - 博客园 (cnblogs.com) 2、关系运算符只支持整数的比较,不支持字符串,除非字符串是变量并且值为整数! [ ] 中使用的比较符[[ ]] 中使用的比较符(( )) 中使用的比较符作用 - 阅读全文
posted @ 2019-09-25 20:56 凡人半睁眼 阅读(722) 评论(0) 推荐(0) 编辑
摘要:1、从FTP服务器下载文件 #!/bin/bash if [ $# -ne 1 ]; then echo "Usage: $0 filename" fi dir=$(dirname $1) file=$(basename $1) ftp -n -v << EOF # -n 自动登录 open 192 阅读全文
posted @ 2019-09-14 19:16 凡人半睁眼 阅读(447) 评论(0) 推荐(1) 编辑
摘要:iptables自动屏蔽访问网站频繁的IP 判断用户输入的是否为IP地址 判断用户输入的是否为数字 给定目录找出包含关键字的文件 监控目录,将新创建的文件名追加到日志中 给用户提供多个网卡选择 MySQL数据库备份 Nginx服务管理脚本 用户根据菜单选择要连接的Linux主机 1、iptables 阅读全文
posted @ 2019-09-13 17:59 凡人半睁眼 阅读(191) 评论(0) 推荐(0) 编辑
摘要:语法缩进,使用四个空格;多加注释说明。 命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 有两个命令能帮助调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。 写脚本一定先测试 阅读全文
posted @ 2019-09-13 17:55 凡人半睁眼 阅读(297) 评论(0) 推荐(0) 编辑
摘要:跳板机 阅读全文
posted @ 2019-08-13 19:50 凡人半睁眼 阅读(2017) 评论(0) 推荐(0) 编辑