Linux高阶命令使用
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,1、awk[root@mysql nginx]# cat access.log | awk 'substr($9,1,3)>200'#查看访问日志中,过滤非200状态码的日志请求# substr($4
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
学习网络技术迟吗
在银行做软件开发可以上网吗
o域数据 b域数据库
养殖数据库
奥鹏考试服务器连接异常
服务器怎样申请加好友指令
江西海致网络技术公司
监控报警服务器
sql数据库学好了能做什么
茶花女小说软件开发
同源基因数据库
睢宁网络营销软件开发
计算机软件开发相关的税收筹划
c3p0数据库出错
沭阳环保网络技术参考价格
查询数据库质疑id的表
java 访问多个数据库
天津市武清区有为青年软件开发
lista数据库
windows软件开发团队
太原互动法治文化展馆软件开发
做网络安全的公司的区域划分
普陀区综合软件开发常见问题
农经权数据库技术总结报告
软件开发部职务与岗位
中稷华为互联网科技产业园区项目
c3p0数据库出错
化学品物质性质数据库
大专软件开发有前途
确保数字校园网络安全