linux中的通道命令|怎么用?

linux中的通道命令|怎么用?,第1张

管道命令 | 的用法为:

command 1 | command 2

功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2;

例如:

ls -l | more

该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。

又如 rpm -aq | less

简单来说就是,一个命令的结果作为另外一个命令(结果)的输入,管道是linux提供的一种常见的进程通信工具,也是很多shell命令能够灵活组合产生强大用途的一个重要工具。

管道是Linux由Unix那里继承过来的进程间的通信机制,它是Unix早期的一个重要通信机制。其思想是,在内存中创建一个共享文件,从而使通信双方利用这个共享文件来传递信息。由于这种方式具有单向传递数据的特点,所以这个作为传递消息的共享文件就叫做“管道”。

在管道的具体实现中,根据通信所使用的的文件是否具有名称,有“匿名管道”和“命名管道”。

管道

举例:ls -a | grep netkeeper

说明:就是把前一个命令的结果当成后一个命令的输入。结合本例就是先显示所有的文件,然后再用grep命令在ls的结果中查找包含netkeeper的文件。

重定向

举例:cat hello.c >/home/root/Documents/test.txt

说明:就是把原本应该输出(或输入)到一个地方的文件流输出(或输入)到另外一个地方。把文件方向给改变了,所以叫重定向。结合本例:cat本来是要把hello.c的内容显示到当前屏幕上,但是加了个重定向后,这个输出流就被定向到/home/root/Documents/目录下的test.txt文件中去了。

>与>>

>会覆盖目标文件;>>是向目标文件末尾追加内容。

如果目标文件不存在,那么这两个命令都会在指定的目录下新建文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7635287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存