suck
,
blow
—
transfer data over a TCP connection
suck |
[ -v ]
[-p
port ]
[remote-ip ] |
blow |
[ -v ]
[-p
port ]
[remote-ip ] |
Suck
and
blow
are simple programs used to transfer
data over a TCP connection.
Blow
is the
originator of the data, which is read from standard input, while
suck
is the recipient of the data, which is
written to standard output.
Either program may originate the TCP connection which is used for the transfer;
whichever program is supplied with the
remote-ip argument will be the originator.
The other program is expected to have already been started, with no
remote-ip argument, causing it to await a
connection from the peer.
These programs are often useful in conjunction with archiving programs such as
tar(1).
The options are as follows:
-v
- Increased verbosity.
-p
- Specify an alternate TCP port to use. The default port is 6060.
To transfer the directory hierarchy
mystuff
from machine A to machine B, first on machine B:
[machineB] $ suck | tar xvf -
and then on machine A:
[machineA] $ tar cvf - mystuff | blow machineB
If machine B was behind a firewall, you could do this instead:
[machineA] $ tar cvf - mystuff | blow
and then on machine B:
[machineB] $ suck machineA | tar xvf -
cpio(1),
tar(1)
Archie Cobbs
⟨archie@whistle.com⟩