码迷,mamicode.com
首页 > 其他好文 > 详细

RHEL-用户基础-管道

时间:2014-11-07 06:30:21      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:rhel   管道   用户基础   

管道


主要概念

1.用UNIX所谓的“管道”可以把一个进程标准输出流与另一个进程的标准输入流连接起来。

2.UNIX中的许多命令被设计为过滤器,从标准输入中读取输入,将输出传送到标准输出。

3.bash用“|”在两个命令之间创建管道。


进程的输出可以被重定向到终端显示器以外的地方,或者可以让进程从终端键盘以外的地方读取输入。(简而言之:进程的输入可以不从键盘,进程的输出也可以不从显示器)

一种最常用、最有利的重定向形式是把这二者结合起来,在这种形势下,一个命令输出(标准输出)被直接“用管道输送”到另一个命令的输入(标准输入)中,从而构成了Linux(和UNIX)所谓的管道(pipe)。


当两个命令用管道连接起来时,第一个进程的标准输出流被直接连接到第二个进程的标准输入序列。

连接在管道中的所有进程被称为进程组(process group)


管道:把前一个命令的输出,作为后一个命令的输入

命令1 | 命令2 | 命令3 |···


把passwd中用户名取出来,进行排序

[root@host2 tmp]# cut -d: -f1 /etc/passwd | sort


把passwd中UID号取出来,进行排序

[root@host2 tmp]# cut -d: -f3 /etc/passwd | sort -n


把passwd中用户名取出来,进行排序,然后变成大写

[root@host2 tmp]# cut -d: -f1 /etc/passwd | sort | tr ‘a-z‘ ‘A-Z‘


【tee】

tee - read from standard input and write to standard output and files

从标准输入读取数据,并且发送至标准输出和文件

即:屏幕输出一份,保存至文件一份

[root@host2 tmp]# echo "Hello Red Squirrel" | tee /tmp/hello.out
Hello Red Squirrel
[root@host2 tmp]# cat hello.out 
Hello Red Squirrel


【wc】

wc - print newline, word, and byte counts for each file


只显示文件的行数,不能显示其他信息:

[root@host2 tmp]# wc -l /etc/passwd | cut -d‘ ‘ -f1
33

[备注:cut -d的‘‘中间是空格]



题目:

1.统计/usr/bin目录下的文件个数

[root@host2 tmp]# ls /usr/bin/ | wc -l
1434


2.取出当前系统上所有用户的shell,要求每种shell只显示一次,并且按顺序进行显示

[root@host2 tmp]# cut -d: -f7 /etc/passwd | sort -u
/bin/bash
/bin/sync
/sbin/halt
/sbin/nologin
/sbin/shutdown


3.思考:如何显示/var/log目录下每个的内容类型?

[root@host2 tmp]# file /var/log/*


4.取出/etc/inittab文件中的第5行

[root@host2 tmp]# head -5 /etc/inittab | tail -1
# System initialization is started by /etc/init/rcS.conf


5.取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中

[root@host2 tmp]# tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users
haldaemon:/sbin/nologin


6.显示/etc目录下所有以pa开头的文件,并统计其个数

[root@host2 tmp]# ls -d /etc/pa* | wc -l
4


7.不使用文本编辑器,将alias cls=clear 一行内容添加至当前用户的.bashrc文件中

[root@host2 tmp]# echo "alias cls=clear" >> ~/.bashrc


本文出自 “天天向上” 博客,请务必保留此出处http://liyasong.blog.51cto.com/3096629/1573826

RHEL-用户基础-管道

标签:rhel   管道   用户基础   

原文地址:http://liyasong.blog.51cto.com/3096629/1573826

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!