随笔分类 - shell
摘要:1、flock 最大的用途就是实现对 crontab 任务的串行化;为了防止crontab 任务出现多实例的情况,导致系统内存被耗尽。 在 crontab 任务中,有可能出现某个任务的执行时间超过了 crontab 中为此任务设定的执行周期,这就导致了当前的任务实例还未执行完成,crontab 又启
阅读全文
摘要:1、位置变量 位置变量并不是用户自定义的,而在shell中可以直接使用,这样一些约定俗成的规则就可以了。 定义:当一条命令或脚本执行时,后面可以跟多个参数,我们使用位置参数变量来表示这些参数 2、位置参数变量 $n : n为数字, $0代表脚本本身 $1~$9代表第1~9参数,10以上的参数需要用大
阅读全文
摘要:一、小括号或圆括号() 单小括号() 1、命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 2、命令替换。等同于cmd,shell扫描一遍命令行,发现了$(cmd)结
阅读全文
摘要:1、、定时清空文件内容,定时记录文件大小 #!/bin/bash ################################################################ #每小时执行一次脚本(任务计划),当时间为0点或12点时,将目标目录下的所有文件内 #容清空,但不删除文
阅读全文
摘要:1、Shift的用法 (参数左移) 位置参数可以用shift命令左移。 如shift 3:表示将$1、$2、$3丢弃,$4现在变成$1,$5现在变成$2,$0不移动。不带参数的shift,默认左移1。 对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参
阅读全文
摘要:一、条件选择、判断 1、条件选择if语句 (1)多分支判断 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条件 3 ; then 条件为真的分支代码 else 以上条件都为假的分支代码 fi 逐条件进行判断,第一次遇为“
阅读全文
摘要:一、在Linux中使用Shell写一个显示目录结构的命令,快速寻找目录结构。 1、代码 #!/usr/bin/env bash # 本命令用于显示指定路径或者当前路径的文件结构,支持搜索 # tf 显示当前目录的文件结构 # tf 接关键词 搜索当前目录 # tf 目录 关键词 搜索指定目录 # 本
阅读全文
摘要:1、显示进度条 #!/bin/bash # 编写脚本,显示进度条 myProgress(){ while : do echo -n '#' sleep 0.2 done } myProgress & cp -a $1 $2 killall $0 echo "拷贝完成" 2、编写脚本测试 192.16
阅读全文
摘要:一、sed 写法 sed [选项] ‘范围 动作’ 文件 一个简单的 sed 命令包含三个主要部分:参数、范围、操作。要操作的文件,可以直接挂在命令行的最后。除了命令行,sed也可以通过-f参数指定一个 sed脚本,这个属于高级用法,不做过多描述。 参数选项: -n 参数:是--quiet或者--s
阅读全文
摘要: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=
阅读全文
摘要:1、shell判断符[ ] (()) () [] [[]] {}、字符截取(切片) - 凡人半睁眼 - 博客园 (cnblogs.com) 2、关系运算符只支持整数的比较,不支持字符串,除非字符串是变量并且值为整数! [ ] 中使用的比较符[[ ]] 中使用的比较符(( )) 中使用的比较符作用 -
阅读全文
摘要: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
阅读全文
摘要:iptables自动屏蔽访问网站频繁的IP 判断用户输入的是否为IP地址 判断用户输入的是否为数字 给定目录找出包含关键字的文件 监控目录,将新创建的文件名追加到日志中 给用户提供多个网卡选择 MySQL数据库备份 Nginx服务管理脚本 用户根据菜单选择要连接的Linux主机 1、iptables
阅读全文
摘要:语法缩进,使用四个空格;多加注释说明。 命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 有两个命令能帮助调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。 写脚本一定先测试
阅读全文