AWK命令
awk是一个报告生成器,它拥有强大的文本格式化的能力
在linux上所使用的的awk其实是gawk
awk是逐行处理的,当awk处理一个文本时,会一行一行的进行处理,处理完当前行,再处理下一行,awk默认以"换行符" 为标记,识别每一行,也就是说 awk每次遇到"回车换行",就是认为当前行的结束,新的 一行的开始。 awk会按照用户指定的分隔符去分割当前行,如果没有指定分隔符,默认使用空格作为分隔符
$0表示当前行 $NF 表示当前行分割后的最后一列($0和$NF 均为内置变量)
$NF 和NF表达的含义是不一样的 对于awk而言 $NF表示最后一个字段,NF表示当前行被分割符切开之后,一共有几个字段
也就是说,加入一行文本被空格分成了7段,那么NF的值就是7,$NF的值就是$7 而$7表示当前行的第七个字段,也就是最后一列,那么每行的倒数第二列可以写成 $(NF-1)
基础用法
1、使用awk执行一个打印的动作将tesed文件中的内容打印出来
echo ddd > tesed =====> awk '{print}' tesed
df | awk '{print $5}' 表示输出df的信息的第五列
2、一次性输出多列
awk '{print $1,$2}' test // awk '{print $2,$3,$5}' test
可以输出自己想要的格式
awk '{print "主号是:"$1,"工号是",$2}' test ====>主号是 122 工号是
切记 '{print $1}'中的$1不可以加引号 如果加入了引号 会被当做文本输出
模式
awk包含两种特殊的模式: begin和 end
BEGIN模式 指定了处理文本之前所需要执行的操作
END 模式 制定了处理完所有行之后所需要执行的操作
Begin模式示例
awk 'BEGIN{print "ewer","werwerr"}' test 结果会输出 ewer werwerr
awk 'BEGIN{print "ewer","werwerr"}' 结果也会输出 ewer werwerr
如果要执行test文件中的操作
awk 'BEGIN{print "ewer","werwerr"}' '{print $1,$2}' test 结果会输出 ewer werwerr 和test的第1 2 列
-
grep命令总结
1、 grep -E "word1|word2|word3" file.txt
满足任意条件(word1、word2和word3之一)将匹配。
这样也可以
egrep 'word1|word2|word3' 文件名
grep 'word1/|word2|word3' 文件名
错误的:
grep 'word1|word2|word3'
2、 grep word1 file.txt | grep word2 |grep word3
必须同时满足三个条件(word1、word2和word3)才匹配。
-
linux 端口查看
netstat -tunlp
查看所有 tcp端口 netstat -ntlp
查看网络统计信息 netstat -s
打印网络接口信息 netstat -i
查看xxx端口有没有被占用 netstat -ano|grep xxx
查看所有网络接口的属性 ifconfig
查看网络可用性 ping:url
-
查找文件
find ./* -name "php.ini"
# 在指定目录下,查找文件。如果有该文件,则会显示该文件的完整路径。否则,为空。
find 查询路径 -name "*.py"
# 如果省略查询路径,则默认在当前目录下查找。
# 该命令非常强大,且实用!而且当结合通配符后,更厉害!
-
压缩与解压缩
zip解压
unzip aa.zip
tar.bz2解压
tar -jxvf xx.tar.bz2
tgz 解压
tar zxvf 解压缩
tar -cvf 打包文件
-
监听日志文件
tail -f 文件名称 | grep -r "查找的关键字" 用于监听日志文件
-
常用防火墙相关操作命令
1、查看防火墙服务的状态
systemctl status firewalld
2、关闭防火墙服务
systemctl stop firewalla
3、启动防火墙服务
systemctl start firewalld
4、重启防火墙服务
systemctl restart firewalld
-
进程
ps -ef 查看所有进程
ps aux |grep "进程名称" 查找相关进程详细信息
kill 3255 杀死编号为3255的进程
kill -9 3256 强制终止该进程
-
机器相关
top 查看当前计算机的cpu运行状况
free 查看自己电脑的内存状态,available是剩余可用的(不是free)
df 查看文件系统整体的磁盘使用状态 (-h 以人们容易阅读的GBytes,MBytes,KBytes等格式来自行显示)