DPIPE(1)
π dpipe β bestie, it's the bi-directional pipe π
okay so real talk, this one lives in the General Commands Manual section (1), and it's genuinely one of the most iconic little tools you'll ever meet. no cap. let's get into it π«Ά
β¨ NAME β¨
dpipe β the bi-directional pipe command. yes. bi-directional. two-way. both directions. the pipes go BOTH WAYS. π
π SYNOPSIS π
dpipe [ command [ args ] ] = [ command [ args ] ]
dpipe [ command [ args ] ] = [ command [ args ] ] [ = [ command [ args ]
] ] ...
literally just that. commands, an =, more commands. slay. β¨
π¦ DESCRIPTION π¦
so dpipe is a general tool that runs two commands, and it diverts the standard output of the first command into the standard input of the second β and vice-versa. π it's giving two-way street. it's giving mutual. it's giving both of you talking at once and both of you listening.
think of it as the bi-directional extension of the | (pipe) syntax that literally every shell has. you know the pipe. we love the pipe. but the pipe only goes one way, and dpipe said "not me being limited like that" π.
and the =? bestie, the = was chosen as a metaphor of two parallel communication lines between the commands. two lines. parallel. one symbol. iconic. π
you can also concatenate several tools together, because why stop at two. here's how the middle children work:
- Intermediate programs communicate using standard input and standard output with the preceding tool
- and they use alternate standard input and output (respectively file descriptors number 3 and 4) towards the following tool
and listen β if an intermediate tool should only process the data flowing in one direction, you just use { or } as a suffix for the preceding = and as a prefix of the following one. cute little directional arrows. we love a visual aid. π
oh and also β this tool was written as a tool for the Virtual Distributed Ethernet. lore. πΈ
π EXAMPLE π
okay these are the moment. pay attention. π
dpipe a = b
processes a and b are bidirectionally connected: stdin of a is connected to stdout of b and vice-versa. mutual exchange. healthy communication. π
dpipe a = b = c
a and b are connected as above. then the alternate stdin of b is connected to stdout of c, and the alternate stdout of b to stdin of c. so b is out here main-character-ing with two whole sets of ports. multitasking queen. β¨
dpipe a =} b }= c
this is a cycle of pipes: stdout of a is connected to stdin of b, stdout of b with stdin of c, and stdout of c to stdin of a. it's a loop. it's a circle. it comes back around. π
dpipe a =} b }={ c {= d = e
all the notations can be mixed together. this is a -> b -> d -> c and back to a; the alternate ports of d are connected to e. yes it's a lot. yes it's correct. read it twice, bestie, it slaps. π
π OPTIONS π
- no options.
that's it. that's the whole section. she has no flags. she has no --help. she simply is. and honestly? respect. π
πΈ NOTICE πΈ
Virtual Distributed Ethernet is not related in any way with www.vde.com ("Verband der Elektrotechnik, Elektronik und Informationstechnik" i.e. the German "Association for Electrical, Electronic & Information Technologies").
so like. same letters. different vibes. don't @ them. π
β SEE ALSO β
vde_switch(1), vde_plug(1), vde_plug2tap(1), vdeq(1). wirefilter(1).
the whole friend group. go say hi. π«Ά
π AUTHOR π
VDE is a project by Renzo Davoli <renzo@cs.unibo.it>. legend behaviour, honestly.
and that's the whole page, bestie π β brought to you by Virtual Distributed Ethernet, dated December 6, 2006, and yes I know that's old enough to be your mum's MySpace era but the tool still ate. go pipe something in both directions. periodt. π¦
π¦ where this page comes from
- alpine 3.24: vde2-doc 2.3.3-r7 Β· GPL
- arch rolling: vde2 2.3.3-10 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- nixos 26.05: vde2 2.3.3
- nixpkgs unstable: vde2 2.3.3
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms