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もあり、あなたはBaiduは違いを見る所有することができます。
[root@mysql nginx]# vim test.sh #脚本内容如下
#!/bin/bash
while getopts “:h:p:” optname;do
case “$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
上記のスクリプトでは、バックキーgetoptsはが必要であるが、引用符さh、pはオプションのカスタム、対応するコマンドライン-h、-pや他の指定されたオプションで、OPTNAMEは、カスタムでありますケースの後に、対応するステートメントに変数名と参照限り。オプションを割り当てる必要がcase文では、どのくらいの行に書かれており、一般的な対応バックgetoptsはオプションが指定されています。
3、fgrepのコマンド
[root@mysql ~]# grep -c "hello" test.txt #显示hello字符在test.txt文件中匹配行的数目
[root@mysql ~]# grep -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、エコー出力色
# 字背景颜色范围: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
#结果输出:
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
--------この記事の最後に、これまで、読んでくれてありがとう--------