一、grep命令(过滤)
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
作用:过滤文本内容,针对行进行处理
常用选项:
-i | 默认,忽略大小写 |
-n | 显示匹配的行号 |
-c | 只统计匹配的行数 |
-v | 取反,显示搜索之外 |
-m | 多个匹配,可以限定显示的行数 |
-o | 仅显示匹配到的字符串 |
-A | 后跟数字,表示匹配到内容行后,在向下显示几行 |
-B | 后跟数字,表示匹配到内容行后,再向上显示几行 |
-C | 后跟数字,表示匹配到内容行后,在现实上下几行 |
-e | 逻辑“或”,可以匹配多个条件,实现多个选项间的逻辑关系,可以跟多个条件 |
-w | 表示匹配整个单词 |
-E | 表示使用扩展正则表达式,egrep,也可以使用扩展正则表达式 |
-f | 对2个文件内容进行匹配,打印匹配出2个文件相同的内容 |
-r | 递归目录,不处理软连接 |
-R | 递归目录,处理软连接 |
二、sort(排序)
作用:以行为单位,对文件内容进行排序,也可以根据不同的数据类型进行排序
格式一:
sort 选项参数
格式二:
cat 文件名 | sort 选项
常用选项:
-f | 忽略大小写,默认把大写排在前面 |
-b | 忽略每行前面的空行 |
-n | 按照数字进行排序 |
-r | 反向排序 |
-u | 相同的数据,只显示一行,去重 |
-o | 输出文件名,将排序后的结果转存到指定的文件 |
注:字母和数字最好不要混在一起排序
三、uniq(去重)
作用:用于报告或者忽略文件中连续出现的重复行,经常与sort命令结合使用
格式一:
uniq 选项 参数
格式二:
cat 文件名 | uniq 选项
常用选项:
-c | 统计连续重复的行的次数,并且合并重复的行,并打印 |
-u | 显示仅出现一次的行,包括不连续的重复行 |
-d | 仅显示重复出现的行,必须是连续的重复行 |
四、tr(替换/压缩/删除)
作用:用于对来自标准输入的字符进行替换、压缩和删除
常用选项:
-c | 保留字符集1的字符,用字符集2来替换其它的字符 |
-d | 删除指定字符集 |
-s | 把重复出现的字符串压缩成一个字符串,也可替换 |
-t | 默认替换,可加可不加 |
例:不加选项,默认就是替换,将字符集1替换成字符集2
" ":表示使用正则表达式
五、cut(截取,类似awk)
作用:对字段进行截取,裁剪
格式一:
cut 选项 参数
格式二:
cat 文件名 | cut 选项
常用选项:
-d | 指定分隔符,默认分隔符是tab,不是空格 |
-f | 按字段进行截取,指定要截取第几字段 |
-complement | 删除指定字段 |
-output-delimiter | 更改输出内容的分隔符 |
例:指定打印出/etc/passwd下第1,3列
方式一:
方式二:
六、split(文件拆分)
作用:将大文件拆分成若干个小文件
常用格式:
-l | 指定行数拆分 |
-b | 指定文件大小拆分 |
格式一:指定行数拆分
split -l 指定行数 原始文件 拆分后文件名前缀
格式二:指定文件大小拆分
split -b 指定文件大小 原始文件 拆分后文件名前缀
注:后面一定要写上“拆分后文件名前缀”
七、paste(文件合并)
paste:左右合并文件
cat:上下合并文件
八、统计当前主机连接状态
1.ss格式
ss -antp | grep -v "^State" | cut -d " " -f 1 | sort | uniq -c
2.netstat格式
netstat -antp | tr -s " " | grep "tcp"| cut -d " " -f 6 | sort |uniq -c
九、统计当前主机的连接数
1.ss格式
ss -nt | tr -s " " | cut -d " " -f 4
2.netstat格式
netstat -nt | awk '{print $4}'