Linux高阶命令使用

  

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-php 

Linux高阶命令使用