Version 4 of fish

Updated 2004-12-17 01:53:15 by SEH

FIles via SsH, or FIles via SHell, or something like that.

A protocol for file transfers over ssh (or the like) connections, providing FTP-like abilities to browse the remote file system, create directories, etc. while needing only /bin/sh and a few other standard POSIX features to be available on the server.

Apparently rather popular in the KDE community.

A format specification can be found at [L1 ].

SEH I'm trying to do something fun related to this, and I'm trying to poach some of the shell commands in the above referenced link, but there's one that I just don't quite get what's goin on. To store the contents of a file that is to be read from stdin, the following shell command is suggested:

 > /file/name; echo '### 001'; ( dd bs=4096 count=<size/4096>; dd bs=<size%4096> count=1 ) 2>/dev/null | ( cat > %s; cat > /dev/null ); echo '### 200'
 This command is for storing /file/name, which is exactly size bytes
 big. You probably think I went crazy. Well, I did not: that strange
 cat > /dev/null has purpose to discard any extra data which was not
 written to disk (due to for example out of space condition).

Now perhaps there is a typo and 'cat' was intended at the beginning of the line. Then apparently the dd commands are to check for overflow perhaps caused by disk failure, but the 'cat > %s' has me at sea.

Can anybody better at shell programming than me give a better explanation of just what's going on here?


Category internet