Linux高阶命令使用
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,1、awk[root@mysql nginx]# cat access.log | awk 'substr($9,1,3)>200'#查看访问日志中,过滤非200状态码的日志请求# substr($4
千家信息网最后更新 2024年09月21日Linux高阶命令使用
1、awk
[root@mysql nginx]# cat access.log | awk 'substr($9,1,3)>200'#查看访问日志中,过滤非200状态码的日志请求# substr($4,20) :表示从第四个字段里的第20个字符开始,一直到设定的分隔符 结束# substr($4,1,3) :表示从第四个字段里的第1个字符开始,截取3个字符结束# substr($4,3,6) : 表示从第四个字段里的第3个字符开始,截取6个字符结束
2、getopts
getopts指定参数,获取值。同样还有一个作用类似的选项getopt,可以自行百度查看其区别。
[root@mysql nginx]# vim test.sh #脚本内容如下#!/bin/bashwhile getopts ":h:p:" optname;do case "$optname" in "h") host_ip=$OPTARG ;; "p") host_port=$OPTARG ;; "?" ) echo "不知道此选项" ;; ":") echo "此选项没有值" ;; "*") echo "错误信息" ;; esacdoneecho "IP是${host_ip},端口是${host_port}"#执行效果如下[root@mysql nginx]# sh test.sh -h 192.168.20.2 -p 3306IP是192.168.20.2,端口是3306[root@mysql nginx]# sh a.sh -p 22 -h 192.168.20.3IP是192.168.20.3,端口是22
在上面的脚本中,while后面的getopts关键字是必须的,引号中的h、p是可选自定义的,对应的是命令行-h、-p等指定的选项,optname也是自定义的,只要和case语句后引用的变量名称对应即可。在case语句下,需要给哪些选项赋值,则写多少就行,一般和getopts后面指定的选项对应。
3、fgrep命令
[root@mysql ~]# fgrep -c "hello" test.txt #显示hello字符在test.txt文件中匹配行的数目[root@mysql ~]# fgrep -l "hello" test.txt #显示匹配hello的文件名
4、pkill
[root@mysql ~]# pkill -kill -t pts/1 #断掉连接当前终端的用户
5、脚本执行,获取脚本所在路径
大多数时候都是在脚本所在的目录下执行脚本,在脚本中使用pwd指令就可以获得所在路径,下面的语法是当没有在脚本所在路径执行脚本时,获取脚本所在路径的语法。
cur_dir=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
6、echo输出颜色
# 字背景颜色范围:30--37 echo -e "\033[30m 黑色字 \033[0m" echo -e "\033[31m 红色字 \033[0m" echo -e "\033[32m 绿色字 \033[0m" echo -e "\033[33m 黄色字 \033[0m" echo -e "\033[34m 蓝色字 \033[0m" echo -e "\033[35m 紫色字 \033[0m" echo -e "\033[36m 天蓝字 \033[0m" echo -e "\033[37m 白色字 \033[0m"# 字背景颜色范围:40--47 echo -e "\033[40;37m 黑底白字 \033[0m" echo -e "\033[41;37m 红底白字 \033[0m" echo -e "\033[42;37m 绿底白字 \033[0m" echo -e "\033[43;37m 黄底白字 \033[0m" echo -e "\033[44;37m 蓝底白字 \033[0m" echo -e "\033[45;37m 紫底白字 \033[0m" echo -e "\033[46;37m 天蓝底白字 \033[0m" echo -e "\033[47;30m 白底黑字 \033[0m"# 最后控制选项 \33[0m 关闭所有属性 \33[1m 设置高亮度 \33[4m 下划线 \33[5m 闪烁 \33[7m 反显 \33[8m 消隐 \33[30m - \33[37m 设置前景色 \33[40m - \33[47m 设置背景色 \33[nA 光标上移n行 \33[nB 光标下移n行 \33[nC 光标右移n行 \33[nD 光标左移n行 \33[y;xH设置光标位置 \33[2J 清屏 \33[K 清除从光标到行尾的内容 \33[s 保存光标位置 \33[u 恢复光标位置 \33[?25l 隐藏光标 \33[?25h 显示光标
7、sed获取域名解析的ip地址
nslookup www.baidu.com | sed -n -e '4,$p' | awk '/Address/{print $2}'
8、tr分隔符
testinfo="python,java,php"for i in $testinfo;do echo $testinfo | tr ',' '\n' #将逗号隔开,\n换行 done#结果输出:pythonjavaphp
# 使用-拼接 testinfo="python,java,php";for i in $testinfo;do echo $testinfo | tr ',' '-'; donepython-java-php
9、查看timewait的连接数
ss -tan state time-wait | wc -l
10、获取系统当前时间
[root@mysql ~]# date +%Y.%m.%d-%H:%M:%S2020.01.03-22:47:46[root@mysql ~]# date '+%F %T'2020-01-03 22:47:50
11、获取系统时间
[root@mysql ~]# date -d '-30 minutes' "+%F %T" #获取三十分钟前的时间2020-01-03 22:20:56[root@mysql ~]# date -d yesterday "+%F %T" #获取前一天的时间2020-01-02 22:51:45
12、获取本机的内网IP
ip addr | grep inet | egrep -v '(127.0.0.1|inet6|docker)' | awk '{print $2}' | tr -d "addr:" | head -n 1 | cut -d / -f1
13、显示目录结构各级的权限
namei -om /var/log/messages
-------- 本文至此结束,感谢阅读 --------
光标
脚本
白字
字符
所在
时间
路径
位置
字段
端口
背景
颜色
命令
内容
分隔符
文件
日志
目录
系统
范围
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
csgo自己开服务器卡
上海碧奥网络技术有限公司
现在学软件开发好就业吗
数据库再组织再构造
华胜蓝泰科技互联网数据中心
端州区佳博网络技术服务部
生信数据库验证
中华人民网络安全法试题
大专计算机网络技术找工作
枣庄网络安全执法
手动dns怎么填服务器电视
网络安全教育的论语
即时通讯软件开发的售后
宁波成美网络技术
北京文档软件开发的用途和特点
数据库建立备份
落阳有软件开发公司吗
数据库分布式锁过期时间
组装一台四路服务器要多少钱
网信办网络安全ppt
监听短信数据库
网络安全的主要表现形式
北京前端软件开发需要多少钱
如何让ftp服务器安全
如何查询金蝶数据库保存路径
科技公司互联网公司硕士待遇
高校招生录取网络安全
软件开发合作计划书方案
服务器虚拟ip
2021第五空间网络安全大赛