linux常用命令及三剑客整理

近期学习的小总结,参考了学习的课程以及网上的一些资料~~
一、linux常用命令
(目前面试的过程中用到的命令)
ps 查看进程
top 显示进程信息
netstat 查看网络状态
二、linux三剑客
包含grep、sed、awk
1、grep:根据用户指定的模式对目标文本进行过滤,显示被匹配到的内容。
(1)命令格式: grep [options过滤要求] ‘正则表达式’ 文件
(2)options:可以通过 grep --help查看
①-c 表示匹配到的行的数量
例如:grep -c “abc” m7.txt
在这里插入图片描述
②-i 表示不区分大小写
例如:grep -i “abc” m7.txt
在这里插入图片描述
③-h 查询多个文件时不显示文件名称
例如:grep -h “abc” m7.txt m6.txt m5.txt m4.txt
在这里插入图片描述
④-l 查询多个文件时,只显示被匹配到的文件名称
例如:grep -l “abc” m7.txt m6.txt m5.txt m4.txt
在这里插入图片描述
⑤-n 显示匹配到的行及行号
例如:grep -n “abc” m7.txt
![在这里插入图片描(https://img-blog.csdnimg.cn/20201219104619792.png)
⑥-o 显示被匹配到的字符串
例如:grep -o “abc” m7.txt
在这里插入图片描述
⑦-v 显示不被匹配到的字符串
例如:grep -v “abc” m7.txt
在这里插入图片描述
⑧-r 递归选项,递归的检查目录下的所有子文件
例如:grep -r “abc”
在这里插入图片描述
⑨–color=auto 对匹配到的文本着色显示
在这里插入图片描述
2、sed:流处理器,处理过程为:

行存储在模式空间
sed命令处理
送入屏幕
清空模式空间

(1)命令格式:sed [options过滤要求] ‘[script地址定界] [编辑命令]’ 文件
(2)options:
①-h 显示帮助信息: sed -h
②-e 默认为该项,表示直接在命令模式上编辑
③-n 仅显示经sed处理过的行的内容
例如:sed -n ‘/abc/p’ s1.txt 打印内容为abc的行
在这里插入图片描述
④-i 直接编辑文件
⑤-r 支持使用扩展正则表达式
(3)编辑命令:
①a 新增
例如: sed -e ‘4 a newline’ s1.txt 在第4行后面添加文本并自动打印出文件内容
在这里插入图片描述
②i 插入
例如: sed -e ‘4i newline’ s1.txt 在第4行前面加文本并自动打印出文件内容
在这里插入图片描述
③d 删除
例如:sed -e ‘/newline/d’ s1.txt 删除文件中的newline并自动打印出文件内容
在这里插入图片描述
④c 取代
例如:sed -e ‘2c helloooo’ s1.txt 将第2行替换为helloooo并自动打印出文件内容
在这里插入图片描述
⑤p 打印
例如:sed -n ‘/abc/p’ s1.txt 打印内容为abc的行
在这里插入图片描述
⑥s 查找替换
替换标记:
g 全局替换
p 显示替换成功的行
w /path/TO/file 将替换成功的行保存到文件中
替换格式:
不输出内容直接修改:sed -i ‘s/替换的内容/将被替换成的内容/g’ 文件名
修改后直接输出内容:sed -e ‘s/替换的内容/将被替换成的内容/g’ 文件名
例如:
sed -i ‘s/abc/123/g’ s1.txt 将s1.txt中的abc替换成123
在这里插入图片描述
sed -e ‘s/abc/123/g’ s1.txt 将s1.txt中的abc替换成123
在这里插入图片描述
例如:sed -e ‘s/abc/123/gw s111.txt’ s1.txt 将s1.txt中的abc替换为123,并将替换过的行放到s111.txt中
(自动创建s111.txt)
在这里插入图片描述
3、awk:将文件逐行读入,以空格为默认分隔符将每行切片,切片后的部分再进行处理

把行作为输入
将行切段
对行进行正则匹配/执行动作
打印内容

(1)命令格式:awk [options参数] ‘[pattern模式] [action需要执行的动作]’ 文件
(2)options:
-F fs 指定分隔符fs 例如: -F : 表示分隔符为: -F ,表示分隔符为,
-v var=value 赋值一个变量 例如:-va=1 表示给a赋值为1
-f filename 从文件中读取awk命令
(3)pattern:
BEGIN 处理文本之前要执行的操作(第一条输入记录被处理之前)
END 处理文本之后要执行的操作(最后一条输入记录被读取之后)
正则表达式
(4)内置的变量:
$0 整条记录
$1 当前行的第一个字段,同理 $2第2个字段 $n第n个字段
NF 浏览记录的域的个数
NR 已读的记录数
FS 设置输入域分隔符
OFS 输出域分隔符
RS 输入记录分隔符
ORS 输出记录分隔符
(5)实例:
①查找包含abc的行
awk ‘/abc/{print NR}’ a1.txt
统计包含abc的行数
awk -va=0 ‘/abc/{a+=1}END{print a}’ a1.txt
在这里插入图片描述
②参考链接:linux awk命令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值