tail head cat sleep
QR code linking to this page

Manual Pages  — RSH


rsh – remote shell



rsh [-46dnN] [-l username] [-t timeout] host [command]


rsh is deprecated and will be removed from future versions of the FreeBSD base system. If rsh is still required, it can be installed from ports or packages (net/bsdrcmds).


The rsh utility executes command on host.

The rsh utility copies its standard input to the remote command, the standard output of the remote command to its standard output, and the standard error of the remote command to its standard error. Interrupt, quit and terminate signals are propagated to the remote command; rsh normally terminates when the remote command does. The options are as follows:
  Use IPv4 addresses only.
  Use IPv6 addresses only.
  Turn on socket debugging (using setsockopt(2)) on the TCP sockets used for communication with the remote host.
-l username
  Allow the remote username to be specified. By default, the remote username is the same as the local username. Authorization is determined as in rlogin(1).
  Opposite to -n option: do not send the "end of file" (EOF) indication for input stream to the remote host. This option makes the rsh utility compatible with protocol implementations confused by receiving EOF, like some Cisco IOS versions. Disables -n.
  Redirect input from the special device /dev/null (see the BUGS section of this manual page). Disables -N.
-t timeout
  Allow a timeout to be specified (in seconds). If no data is sent or received in this time, rsh will exit.

If no command is specified, you will be logged in on the remote host using rlogin(1).

Shell metacharacters which are not quoted are interpreted on local machine, while quoted metacharacters are interpreted on the remote machine. For example, the command

    rsh otherhost cat remotefile >> localfile

appends the remote file remotefile to the local file localfile, while

    rsh otherhost cat remotefile ">>" other_remotefile

appends remotefile to other_remotefile.




rlogin(1), setsockopt(2), rcmd(3), ruserok(3), hosts(5), hosts.equiv(5), rlogind(8), rshd(8)


The rsh command appeared in BSD 4.2 .


If you are using csh(1) and put a rsh in the background without redirecting its input away from the terminal, it will block even if no reads are posted by the remote command. If no input is desired you should redirect the input of rsh to /dev/null using the -n option.

You cannot run an interactive command (like ee(1) or vi(1)) using rsh; use rlogin(1) instead.

Stop signals stop the local rsh process only; this is arguably wrong, but currently hard to fix for reasons too complicated to explain here.

RSH (1) July 3, 2017

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.