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/bash
while  getopts  “:h:p:”  optname;docase “$optname”  in“h”)host_ip=$OPTARG;;“p”)host_port=$OPTARG;;“?” )echo “不知道此选项”;;“:”)echo “此选项没有值”;;“*”)echo “错误信息”;;esac
done
echo "IP是${host_ip},端口是${host_port}"#执行效果如下
[root@mysql nginx]# sh test.sh -h 192.168.20.2 -p 3306
IP是192.168.20.2,端口是3306
[root@mysql nginx]# sh a.sh -p 22 -h 192.168.20.3
IP是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—–37echo -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—–47echo -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;doecho $testinfo | tr ',' '\n'   #将逗号隔开,\n换行
done#结果输出:
python
java
php
# 使用-拼接
testinfo="python,java,php";for i in $testinfo;do echo $testinfo | tr ',' '-'; done
python-java-php

9、查看timewait的连接数

ss -tan state time-wait | wc -l

10、获取系统当前时间

[root@mysql ~]# date +%Y.%m.%d-%H:%M:%S
2020.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

———————— 本文至此结束,感谢阅读 ————————

Linux高阶命令使用相关推荐

  1. Linux 高阶命令进阶(一)

    Linux 高阶命令进阶 (一)输出重定向 1. > :正确覆盖输出,会覆盖掉原先的文件内容 把文本写入文档中                # vim test                 ...

  2. Linux高阶—shell远程批处理脚本(七)

    目录 介绍:简单.实用的批处理脚本 案例一:批量下发远程执行命令 案例二:批量下发文件 介绍:实用.简单的批处理脚本 expect是处理交互式命令的命令,它可以将类似ssh登录,ftp登录等等需要交互 ...

  3. Linux高阶—安全认证模块pam(九)

    目录 PAM软件介绍 PAM软件结构 1.配置文件分类 2.PAM动态库文件 3.二进制执行文件 PAM四种模块类型 PAM五个控制模块 PAM四列配置模型 PAM用户锁模块 1.查看错误登录次数(错 ...

  4. Linux高阶操作之全自动安装虚拟机

    一.搭建dhcp动态网络 dhcp是一个局域网的网络协议,使用UDP协议工作 可以给内部网络或网络服务供应商自动的分配ip地址 1.在客户端安装dhcp yum install dhcp -y 2.找 ...

  5. Linux中阶—域名解析服务DNS(十)

    全局配置文件:/etc/named.conf //单行注释类型 /*   多行注释 */ //声明控制通道 key "rndc-key" {         algorithm h ...

  6. 【性能测试】如何用一条命令完全掌握linux系统性能监控(top高阶用法)

    目  录 一 引 言 二 top命令高阶用法 场景1:采样3次,采样间隔为10s: 场景2:采样2h,采样间隔为10s,性能数据保存到test.csv文件中: 一 引 言 熟悉CentOS linux ...

  7. Linux Shell重定向 管道命令 grep搜索 awk编程 sed文件操作高阶函数

    在编程中如果能够熟悉shell高阶语法,将对我们进阶为高级程序员有很大的帮助,本文将从Shell重定向 管道命令 awk编程 sed等方面展开介绍. 作者:有勇气的牛排 文章目录 1 shell重定向 ...

  8. Linux下useradd命令与adduser命令的区别(adduser更适合初级使用者,useradd比较适合有些高阶经验的使用者)

    文章目录 Linux下useradd命令与adduser命令的区别 man useradd man adduser Linux下useradd命令与adduser命令的区别 Linux下创建用户时会用 ...

  9. linux中time命令详解、脚本监控记录系统硬盘io值、定位linux系统中await值过高占用的盘、定位占用硬盘IO高的程序、iotop命令说明、lsof使用说明【可定位端口所占用程序等】

    文章目录 文章说明 linux中的time命令 说明&常规用法 bash中使用time,将运行记录追加到文件中,-f后的参数说明 高阶用法 time 命令详细输出指标介绍 ime taken ...

最新文章

  1. 女朋友啥时候怒了?Keras识别面部表情挽救你的膝盖
  2. c++性能优化之Profiler
  3. BAT无线工程师面试流程详细解析
  4. 还有多少时间可以用来读书
  5. 快搜浏览器_opera、Google、firefox三个浏览器的选择
  6. oracle两个表合并 sql,如何创建从两个表(Oracle DBMS)生成“合并”数据集的Select SQL语句?...
  7. 第三十六期:人工智能统计调查:86%的消费者更喜欢人工客服
  8. 手机厂商探路互联网:硬件高利润时代已成历史
  9. Android ProgressDialog示例
  10. 关于RealProxy
  11. less中mixins与extend的区别
  12. 简单两个矩阵如何用计算机运算,矩阵运算-如何用卡西欧fx-82es计算器计算矩阵和 – 手机爱问...
  13. IT外包项目质量把控
  14. la是什么牌子_la bruket是什么牌子_哪个国家的_什么档次
  15. 初识Web与HTML
  16. locust之安装(3)
  17. 如何从信息化、数字化迈向智能工厂?
  18. 美FCC授权SpaceX星链可为飞机、车辆等交通工具提供移动互联网服务
  19. SAP 常见问题大全及问题解决大全
  20. 【效率特工队】如何在很多张JPG图片中,批量获取所有JPG图片的名称提取到Excel表格,用这个方法一并解决

热门文章

  1. Unknown Command 'crunch 解决办法
  2. 与惠普合作智能打印云盒,钉钉会成为智能办公的小米么?
  3. Throttlestop
  4. mysql update语句怎么写_mysql更新语句怎么写?
  5. Ubuntu切换显卡驱动
  6. JavaScript:表单生成器
  7. Android 实现蓝牙打印的功能
  8. servlet第二次练习
  9. ThinkPad t440p 左侧滋滋滋滋响
  10. Asus Music Now is not installed