千家信息网

Linux高阶命令使用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1、awk[root@mysql nginx]# cat access.log | awk 'substr($9,1,3)>200'#查看访问日志中,过滤非200状态码的日志请求# substr($4
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 中关村互联网 科技集团 科技互联网公司装修 疫情对互联网科技公司影响 互联网金融与金融科技 万易互联网科技有限公司 互联网科技logo设计 左右互联网络科技 深圳前海聚择互联网科技有限公司 字节跳动和互联网科技 本届互联网博览会上的黑科技 互联网行业科技股 佛山市拉法互联网科技有限公司 南博望互联网科技有限公司 互联网领先科技宣传片 宇信科技在杭州互联网排第几 从那以后互联网科技有限公司 西安有哪些互联网高科技企业 艺电能源互联网科技有限公司招聘 恒生互联网科技趋势 互联网科技创业有什么好项目 中关村互联网科技集团 科技信息互联网 齐家互联网科技 有木互联网科技 昭通云南众福互联网科技有限公司 全球顶尖互联网科技公司 济南有互联网科技公司吗 广州互联网高科技取餐柜 恒生科技互联网指数十大成分股 前海云享互联网科技
0