grep过滤(针对文本内容进行过滤也就是查找)
grep -i忽略大小写(默认的,可以不加)
-n 显示匹配的行号
-c 只显示匹配的行数
-v 取反,你要找的不显示。
grep的作用就是过滤文本内容,是针对行来进行处理。
-m 多个匹配的话,就可以限定显示的行数,也可以理解为匹配几次之后就停止。
例如:grep -m | "root" /etc/passwd
-o 仅显示匹配到的字符串
-q 静默模式,不展示结果。
-A (after) 2 :匹配到内容行后,再向下展示2行。包含匹配到的行。
-B(before) 2:匹配到当前行以及当前行的前2行。
-C 2 :匹配到自己所在的行,以及上下各2行
-e :逻辑或,可以匹配多个条件。
例如:grep -e root -e dn -e bash 可以实现多个选项间的逻辑关系,可以跟多个条件。
-w 匹配整个单词。
-e 表示使用拓展正则表达式,也可以用grep,都可以使用拓展正则表达式。
-f 根据两个文件的内容进行匹配,匹配两个文件中相同的内容。
(只看红色部分,红色部分表示相同的内容)
例如:grep -f 123.txt 456.txt
-r 递归目录,不处理软连接(本质上是查录文件的内容)
-R 递归目录,本质上是把文件和软连接及其要查找的内容展示出来。
sort:以行为单位对文件的内容进行排序,也可以依据不同的数据类型进行排序,(文本内容排序,不是文件名)
①sort 选项 参数
②cat 文件名 | sort 选项
常用的选项:
-f 忽略大小写,默认会把数字、大写字母排在前面(数字的优先级最高)
-b 忽略每行前面的空格
-n 按照数字进行排序(行号)
-r 反向排序
-u 相同的数据,只显示一行、去重。
-o 输出文件名:将排序后的结果
字母和数字不要混合在一起进行排序。
去重的命令:
uniq :用于报告或忽略文件中连续出现的重复行,经常于sort命令结合使用。
uniq 选项 参数
cat 文件名 | uniq 选项
-c 统计连接重复的行的次数,并且合并重复的行,并打印,不会改变文件的内容。
-u 显示仅出现一次的行,包括不连续的重复行。
-d 仅显示重复出现的行,必须是连续的重复行。
sort -n 12.sh | uniq -c 先排序,再去重,统计其重复文件的重复次数。
tr :用于对来自标准输入的字符进行替换、压缩和删除
tr 选项 参数
tr 也可以结合“|”来使用
常用的选项:
-c :保留字符集1的字符,用字符集2来替换其它的字符。
例如:echo 192.168.77.21 | tr -c "." " "
echo 192.168.77.21 | tr "." " " 不加-c就是替换
echo ABC | tr "A-Z" "a-z"
A-Z 用引号引起来的都是正则
abc 保留ab,替换c为t
-d 删除指定的字符集
-s 把重复出现的字符串压缩成一个字符串,也可以替换。
sort -n test.sh | tr -s "\n"
-t 默认就是替换,可以不写。
tr 就是把不想要的部分删除掉。
tr -t=tr 主要作用就是替换和删除。
cut:截取,和awk有相似之处、对字段进行截取和裁剪。
cut 选项 参数
cat 文件名 | cut 选项
-d 制定分隔符,默认分隔符就是tab ,不是空格,指定分隔符必须要用 " " ' ' 来引起来。
awk 的默认分隔符是空格,多个空格符也会算一个。
-f 按字段进行截取,指定要截取的第几个字段。
-b 已字符为单位截取。
-complement 删除指定的字段
-output-delimiter
取第一列第二列第三列: 1,3 表示1和3 1-3 表示1到3
cut -d '.' -f 1,3 /etc/passwd 指定输出列、指定分割符
head -n 2 /etc/passwd | cut -d ":" --complement -f 2
split:文件拆分、大文件拆分成若干小文件。
-l 指定行数拆分
-b 指定文件大小拆分
例如:
①cp /etc/passwd /opt/
②split -l 20 passwd ky30 (注意:分割后一定要自定义一个名称,方便识别。
paste 文件合并
past a b 和cat a b 之间的区别
paste是左右合并
cat是上下合并
以上只是临时展示
永久展示如下:
paste 123 456 > test.txt
1、统计当前主机的连接状态:
listen 监听、等待连接,谁可以连接
estab:已经建立连接,连接处在活动后状态。
ss -antp | grep -v "^state" | cut -d " " -f 1 | sort | uniq -c
2、统计当前主机的连接数。
ss -nt | tr -s " " | cut -d " " -f 4 | sort | uniq -c