您的位置:首页 > 运维架构 > Linux

Linux常用命令之管道/wc

2015-07-28 10:31 519 查看
8、管道命令

“ | ”,竖线符号代表的就是管道符

管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,所以又称为半双工管道。

介绍:

管道可以根据一组命令按照数据流向的方式来进行操作。简单的说,第一个命令执行后,不回显结果,而是把结果通过管道传递给第二个命令,第二个命令处理后再传给第三个….直到没有管道符后才终止命令,并回显最终结果。

管道可以把不同的命令组合成强大的指令集合。比如,对文件夹下所有的txt结尾的文件重命名,就需要三个管道符号,四个命令完成。

缺点:

数据只能从一个进程流向另一个进程(其中一个读管道,一个写管道)。如果要进行双工通信,需要建立两个管道。

管道只能用于父子进程或兄弟进程间通信,也就是说管道只能用于具有亲缘关系的进程间通信。

管道所传输的是无格式的字节流。

通过管道通信的两个进程,一个进程向管道写数据,另一个从中读数据。写入的数据每次都添加到管道缓冲区的末尾,读数据的时候都是冲缓冲区的头部读出数据的。

利用管道查看/root/install.log文件的内容并分页显示

[root@admin ~]# cat install.log | more


9、wc统计文件行数、字数、字节数并显示

语法:wc [-lwc] filename

选项与参数:

-l : 统计文本文件内容的行数

-w : 统计文本文件内容的字数。(一个字由空白、跳格或换行符分隔的字符串)

-c : 统计文本文件内容总的字节数

-m :统计文件的字符数。如果当前系统不支持多字节字符时,其将显示与-c参数相同结果。

现有一个a.txt文件,其内容如下:

[root@admin t2]# cat a.txt
adfasd
234123
adsftgrt


#通过管道命令使用wc命令统计/home/t2/a.txt文件行数、字数等
[root@admin /]# cat /home/t2/a.txt | wc
3       3      23
代表该文件内容有3个字符串3行23个字母

#直接使用wc查看该文件
[root@admin /]# wc /home/t2/a.txt
3  3 23 /home/t2/a.txt
比使用管道命令多显示了一个文件路劲及文件名

#修改一下文件a.txt
[root@admin t2]# cat a.txt
adfasd   this is last one
234123
adsftgrt

#统计文件的行数
[root@admin t2]# wc -l a.txt
3 a.txt
统计行数时,实际统计的是换行符\n,所以存在空行也会算着一行

#统计文件a.txt的单词数,单词之间以空白字符为界定
[root@admin t2]# wc -w a.txt
7 a.txt

#统计文件a.txt文件的字节数
[root@admin t2]# wc -c a.txt
42 a.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: