动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

对Linux管道和重定向知识点的介绍

08-04 16:50 283浏览
举报 T字号
  • 大字
  • 中字
  • 小字

使用Linux操作系统的java程序员肯定对于shell这个Linux的远程工具不陌生,那对shell有一定了解的人也都知道Linux管道和重定向Linux中非常实用的ipc机制。Linux管道和重定向是linux系统进程间的一种通信方式,在系统管理中有重要作用。想要熟练掌握Linux服务器,对管道和重定向的学习是不可缺少的,所以,这篇文章整理了Linux管道和重定向的常用知识点,供需要的朋友们学习。

1、重定向输出覆盖: >向文件输出内容,文件不存在则新建文件再输出;文件存在先清空文件,再写入内容。例如:

echo  “write some”  >  t1.txt

2、重定向输出追加: >>向文件输出内容,文件不存在则新建文件再输出;文件存在,则新的内容追加到文件的后面。例如:

echo  “hello new word”  >>  t1.txt

存在文件t1.txt , 在原来内容的后面加入新的内容“hello new word

3、管道

Linux管道和重定向中的管道是UNIX环境中历史最悠久的进程间通信方式。就是用“|”连接两个命令,以前面一个命令的输出作为后面命令的输入,用于把管道左边的输出作为右边的输入。目前在任何一个shell中,都可以使用“|”连接两个命令,shell会将前后两个进程的输入输出用一个管道相连,以便达到进程间通信的目的

如果java零基础的小白不太明白的话,可以将管道理解为本质上是一个文件,前面的进程以写的方式打开文件,后面的进程以读的方式打开。这样前面写完后面读,于是就实现了通信。实际上管道的设计也是遵循UNIX的“一切皆文件”设计原则的,它本质上就是一个文件。Linux系统直接把管道实现成了一种文件系统,借助VFS给应用程序提供操作接口。

语法: 命令1 | 命令2 | 命令n例如:

echo  “hello linux”  |  wc

例如:echo  “hello linux”  |  grep “linux”

查看某个进程是否存在例如: 

ps  -ef  |  grep  “cat”

另外,对于Linux管道还需要知道的是管道可以分为2种类型:匿名管道命名管道这两种管道也叫做有名或无名管道。匿名管道最常见的形态就是我们在shell操作中最常用的”|”。它的特点是只能在父子进程中使用,父进程在产生子进程前必须打开一个管道文件,然后fork产生子进程,这样子进程通过拷贝父进程的进程地址空间获得同一个管道文件的描述符,以达到使用同一个管道通信的目的。此时除了父子进程外,没人知道这个管道文件的描述符,所以通过这个管道中的信息无法传递给其他进程。这保证了传输数据的安全性,当然也降低了管道了通用性,于是系统还提供了命名管道。

以上内容就是今天学习的Linux管道和重定向的知识,希望大家通过这篇文章可以更深一步的了解Linux,学好Linux管道和重定向,对于操作和使用Linux服务器是绝对有帮助的。大家可以在空余时间多多练习,多多学习java培训课程中更深入的知识点,不断的提高自己在java语言方面的能力水平。

0人推荐
共同学习,写下你的评论
0条评论
蛙课视频小助手
程序员蛙课视频小助手

6篇文章贡献23104字

作者相关文章更多>

推荐相关文章更多>

一篇文章带你入门Zookeeper

达芬奇09-04 11:00

高性能HTTP及反向代理服务器Nginx

军哥07-29 17:02

浅谈Tomcat服务器优化方法

Code大师09-01 16:01

Linux 的 scp 命令详解

Code大师09-04 10:18

java学习之Linux网络通讯和网络访问

蛙课视频小助手08-04 16:45

发评论

举报

0/150

取消