Linux之管道

2019-07-20  本文已影响0人  阿伦故事2019

新加坡国立大学(新加坡)校训:“知识乃成功的关键。”


此篇是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 微服务体系

如果您觉得文章不错,请关注阿伦故事,您的支持是我坚持的莫大动力,在此受小弟一拜!


每篇福利:

上一篇 下一篇

猜你喜欢

热点阅读