1, awk
<代码> [root@mysql nginx] #猫访问。日志| awk的substr(9美元,1,3)在200年 #查看访问日志中,过滤非200状态码的日志请求 # substr(4美元,20):表示从第四个字段里的第20个字符开始,一直到设定的分隔符结束 # substr(4美元,1,3):表示从第四个字段里的第1个字符开始,截取3个字符结束 # substr(4美元,3,6):表示从第四个字段里的第3个字符开始,截取6个字符结束代码>
2, getopt
getopt指定参数,获取值。同样还有一个作用类似的选项getopt,可以自行百度查看其区别。
<代码> [root@mysql nginx] # vim测试。sh #脚本内容如下 # !/bin/bash 虽然getopt”: h: p:“optname;做 “optname美元” “h”) host_ip=$ OPTARG ;; “p”) host_port=$ OPTARG ;; ”?”) 回声”不知道此选项” ;; “:”) 回声”此选项没有值” ;; “*”) 回声”错误信息” ;; esac 完成 回声“IP是$ {host_ip},端口是$ {host_port} " #执行效果如下 [root@mysql nginx】#上海测试。sh - h 192.168.20.2 - p 3306 IP是192.168.20.2,端口是3306 [root@mysql nginx] # sh。sh - p - h 192.168.20.3 22 IP是192.168.20.3,端口是22 代码>
在上面的脚本中,虽然后面的getopt关键字是必须的,引号中的h, p是可选自定义的,对应的是命令行,- h - p等指定的选项,optname也是自定义的,只要和案例语句后引用的变量名称对应即可。在案例语句下,需要给哪些选项赋值,则写多少就行,一般和getopt后面指定的选项对应。
3, fgrep命令
<代码> [root@mysql ~] # fgrep - c“hello”测试。txt #显示你好字符在用法文件中匹配行的数目 root@mysql ~ # fgrep - l”你好”测试。txt #显示匹配喂的文件名代码>
4, pkill
<代码> [root@mysql ~] # pkill杀死- t分/1 #断掉连接当前终端的用户代码>
5,脚本执行,获取脚本所在路径
大多数时候都是在脚本所在的目录下执行脚本,在脚本中使用pwd指令就可以获得所在路径、下面的语法是当没有在脚本所在路径执行脚本时,获取脚本所在路径的语法。
<代码> cur_dir=$(美元cd(目录名$ {BASH_SOURCE [0]});pwd) 代码>
6,回声输出颜色
<代码> #字背景颜色范围:30 - 37 echo - e”033年\[30米黑色字033年\ [0 m” echo - e”033年\[31米红色字033年\ [0 m” echo - e”033年\ [32 m绿色字033年\ [0 m” echo - e " \[33 033黄色字033年\ [0 m” echo - e”\[34 033蓝色字033年\ [0 m” echo - e”033年\[35米紫色字033年\ [0 m” echo - e " \[36 033天蓝字033年\ [0 m” echo - e”033年\[37米白色字033年\ [0 m” #字背景颜色范围:40 - 47 回声033 - e " \[40; 37米黑底白033字\ [0 m” 回声033 - e " \[41; 37米红底白033字\ [0 m” 回声033 - e " \ [42; 37 m绿底白033字\ [0 m” 回声033 - e " \ [43; 37 m黄底白033字\ [0 m” 回声033 - e " \[44; 37米蓝底白033字\ [0 m” 回声033 - e " \[45; 37米紫底白033字\ [0 m” 回声033 - e " \[46; 37米天蓝底白033字\ [0 m” echo - e”033年\[47;30米白底黑033字\ [0 m” #最后控制选项 33 \ [0 m关闭所有属性 33 \[1米设置高亮度 33 \ [4 m下划的线 33 \ [5 m闪烁 33 \ [7 m反显 33 \ [8 m的消隐 33 \ [30 m - 33 \[37米设置前景色 33 \ [40 m - 33 \[47米设置背景色 33 \ [nA光标上移n行 33 \ [nB光标下移n行 33 \[数控光标右移n行 33 \ [nD光标左移n行 33 \ [y; xH设置光标位置 33 \ [2 j清屏 33 \ [K清除从光标到行尾的内容 33 \ [s保存光标位置 33 \ [u恢复光标位置 \[33吗?25 l隐藏光标 \[33吗?25小时显示光标代码>
7, sed获取域名解析的ip地址
<代码>网路资讯查询www.baidu.com | sed - n - e ' 4 $ p ' | awk/地址/{打印$ 2}”代码>
8, tr分隔符
<代码> testinfo=皃ython、java、php” 我在testinfo美元;做 echo $ testinfo | tr ', ' ' \ n ' #将逗号隔开,\ n换行 完成 #结果输出: python java php代码>
<代码> #使用,拼接 testinfo=皃ython、java、php”;因为我在testinfo美元;做echo $ testinfo | tr”、““-”;完成 python-java-phpLinux高阶命令使用