随笔分类 - SHELL
shell相关内容
摘要:12.21 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
阅读全文
摘要:14.11 屏蔽网站访问频繁的IP 1)屏蔽每分钟访问超过200的IP 方法1:以Nginx日志作为测试 DATE=$(date +%d/%b/%Y:%H:%M) ABNORMAL_IP=$(tail -n5000 access.log |grep $DATE |awk '{a[$1]++}END{
阅读全文
摘要:1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格;多加注释说明 3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 4)默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 5)有两个命令能帮助我调试脚本:set -e 遇到执行非
阅读全文
摘要:13.31 wget 功能:非交互式网络下载,类似于HTTP客户端 常用选项: -b, --background 后台运行 日志记录和输入文件: -o, --output-file=FILE 日志写到文件 -a, --append-output=FILE 日志追加到文件 -d, --debug 打印
阅读全文
摘要:本章节学习一些在编写Shell时的常用命令或工具及使用技巧。有人说Shell脚本是命令堆积的一个文件,按顺序去执行。还有人说想学好Shell脚本,要把Linux上各种常见的命令或工具掌握了,这些说法都没错。由于Shell语言本身在语法结构上比较简单,是面向过程编程,想实现复杂的功能有点强人所难!而且
阅读全文
摘要:12.1 Linux系统目录结构 / 根目录,所有文件的第一级目录 /home 普通用户家目录 /root 超级用户家目录 /usr 用户命令、应用程序等目录 /var 应用数据、日志等目录 /lib 库文件和内核模块目录 /etc 系统和软件配置文件 /bin 可执行程序目录 /boot 内核加载
阅读全文
摘要:11.1 Linux信号类型 信号(Signal):信号是在软件层次上对中断机制的一种模拟,通过给一个进程发送信号,执行相应的处理函数。 进程可以通过三种方式来响应一个信号: 1)忽略信号,即对信号不做任何处理,其中有两个信号不能忽略:SIGKILL及SIGSTOP。 2)捕捉信号。 3)执行缺省操
阅读全文
摘要:文件描述符(fd):文件描述符是一个非负整数,在打开现存文件或新建文件时,内核会返回一个文件描述符,读写文件也需要使用文件描述符来访问文件。 内核为每个进程维护该进程打开的文件记录表。文件描述符只适于Unix、Linux操作系统。 8.1 标准输入、输出和错误 文件描述符 描述 映射关系 0 标准输
阅读全文
摘要:awk awk是一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生成报表等等。 在Linux系统下默认awk是gawk,它是awk的GNU版本。可以通过命令查看应用的版本:ls -l /bin/awk 基本的命令语法:awk option 'pattern {acti
阅读全文
摘要:sed,流编辑器,过滤和替换文本 工作原理:sed命令将当前处理的行读入模式空间进行处理,处理完把结果输出,并清空模式空间,然后再将下一行读入模式空间进行处理,以此类推,直到最后一行,还有一个空间叫保持空间,又称暂存空间,可以暂时存放一些处理的数据,但不能直接输出,只能放到模式空间输出。 这两个空间
阅读全文
摘要:grep是过滤来自一个文件或标准输入匹配模式内容。 除了grep外,还有egrep,fgrep。 egrep是grep的扩展,相当于grep -E 。fgrep相当于grep -f,用的少 用法:grep [OPTION]......PATTERN[FILE]..... 参数详解: -E 模式是扩展
阅读全文
摘要:正则表达式在某种语言中都会有,功能就是匹配符合您预期要求的字符串 shell正则表达式有两种: 基本正则表达式:BRE(基本正则表达式) 扩展正则表达式:ERE(扩展正则表达式),扩展的表达式有+,?,|和() 符号 描述 示例 。 匹配除换行符(\n)之外的任意字符 匹配123: echo -e
阅读全文
摘要:5.1函数 格式: func (){ command } 示例1: #!/bin/bash func(){ echo "this is a function" } func #执行结果 bash test.sh this is a function Shell函数很简单,函数名后跟双括号,再跟双大括
阅读全文
摘要:4.1、if语句 4.1.1单分支 if 条件表达式;then 命令 fi #!/bin/bash N=10 if [ $N -gt 5 ]; then echo yes fi 执行结果 bash test.sh yes 4.1.2双分支 if 条件表达式;then 命令 else 命令 fi 示例
阅读全文
摘要:3.1、条件表达式 表达式 示例 [expression] [ 1 -eq 1 ] `expression` ` 1 -eq 1 ` test expression test 1 -eq 1 ,等同于[] 3.2整数比较符 比较符 描述 示例 -eq, equal 等于 [ 1 -eq 1]为tru
阅读全文
摘要:上一章节讲解了为什么要用${}引用变量,${}还有一个重要的功能,就是文本处理,单行文本基本上可以满足你所有需求。 2.1、获取字符串长度 [root@localhost ~]# VAR='HELLO WORLD!' [root@localhost ~]# echo $VAR HELLO WORLD
阅读全文
摘要:1、简介 shell是一个c语言编写的脚本语言,他是用户与linux的桥梁,用户输入命令交给shell处理,shell将相应的操作传递给内核(kernel),内核把处理的结果输出给用户。 下面是处理的流程图: shell既然是工作在linux内核之上,那我们也有必要知道下linux相关知识。 lin
阅读全文

浙公网安备 33010602011771号