新加坡国立大学(新加坡)校训:“知识乃成功的关键。”
此篇是Linux基础的收官之篇,所以搞一篇重量级的干货,翻遍简书全站,这也是管道栗子最多,场景最丰富的,有点吹牛了,哈哈,此处只想吟诗一首:遥想公瑾当年,小乔初嫁了。。。
管道,鄙人认为是Linux系统最强大的命令处理了,应该没有之一了;何为管道,就是将一个命令的输出作为另一个命令的输入,可以执行多个这样的命令链,形象理解为管道也。
用法形如:Command-1 | Command-2 | ... | Command-N
常用命令及演示
1 cut 截取信息
#截取hosts文件以空格分割的第一列
# cat /etc/hosts | cut -d ' ' -f 1
#截取hosts文件的第一个字符
# cat /etc/hosts | cut -c 1
解析:-d(delimit)指的是分割符;-c指的是字符分割
2 grep 查找信息
#查找xxx.log中的异常或错误信息
# cat xxx.log | grep error
# cat xxx.log | grep -n error 并显示错误所在的行号
# cat xxx.log | grep -n -c error 统计出现错误总共的行数
注:这几个命令非常重要和常用,切记!
3 sort 排序
#将系统中的密码文件以冒号分割后的第一列排序
# cat /etc/passwd | sort -t ':' -k 1
注:默认是按字符排序,如果按数字排序则是-n,如:
# cat /etc/passwd | sort -t ':' -k 1 -n
4 wc 统计字符
#统计系统中的密码文件有多少个单词
# cat /etc/hosts | wc -w
解析:
wc默认统计行数/单词数/字符数;wc -l统计行数;wc -w统计单词数;wc -c统计字符数
5 uniq 去重
#统计登录系统的每个用户的次数并排序
# last | cut -d ' ' -f 1 | sort | uniq -c
解析:这是个组合命令,稍显复杂,不清楚的可以留言问我
6 tr 字符转换或删除,支持正则
#将xxx.txt文件中的小写转大写
# cat xxx.txt | tr a-z A-Z
解析:上述是转换后默认输出到控制台,原文件并不会改变,
若cat xxx.txt | tr a-z A-Z > xxx.txt,则会清空xxx.txt;
若cat xxx.txt | tr a-z A-Z > yyy.txt,则会将转换后的内容输出到指定文件
7 join 连接文件相同行,并有去重效果
1.txt中数据:
xwz 23
allen 33
2.txt中数据:
xwz 男
allen 女
# join 1.txt 2.txt输出的数据是:
xwz 23 男
allen 33 女
注:join自行多去尝试,有问题留言
8 paste 合并文件
# paste 1.txt 2.txt
输出数据是:
xwz 23 xwz 男
allen 33 allen 女
注:paste是按行在后面追加,可自行多去尝试
余下的几个用的不多,烦请伙伴们自行尝试,有问题留言即可,必回复!
9 tee 双向重定向
10 col 过滤控制字符
11 expend TAB转空格
12 xargs 给命令传递参数
特此声明:
分享文章有完整的知识架构图,将从以下几个方面系统展开:
1 基础(Linux/Spring boot/并发)
2 性能调优(jvm/tomcat/mysql)
3 高并发分布式
4 微服务体系
如果您觉得文章不错,请关注阿伦故事,您的支持是我坚持的莫大动力,在此受小弟一拜!
每篇福利:
网友评论