-.\" $OpenBSD: sftp.1,v 1.5 2001/02/07 18:10:39 stevesk Exp $
+.\" $OpenBSD: sftp.1,v 1.15 2001/04/12 23:17:54 mouring Exp $
.\"
-.\" Copyright (c) 2001 Damien Miller. All rights reserved.
+.\" Copyright (c) 2001 Damien Miller. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd Febuary 4, 2001
+.Dd February 4, 2001
.Dt SFTP 1
.Os
.Sh NAME
.Nm sftp
-.Nd Secure file tranfer program
+.Nd Secure file transfer program
.Sh SYNOPSIS
.Nm sftp
.Op Fl vC
+.Op Fl b Ar batchfile
.Op Fl o Ar ssh_option
-.Op Ar hostname | user@hostname
+.Op Ar host
+.Nm sftp
+.Op [\fIuser\fR@]\fIhost\fR[:\fIfile\fR [\fIfile\fR]]
+.Nm sftp
+.Op [\fIuser\fR@]\fIhost\fR[:\fIdir\fR[\fI/\fR]]
.Sh DESCRIPTION
.Nm
is an interactive file transfer program, similar to
.Ar hostname ,
then enters an interactive command mode.
.Pp
+The second usage format will fetch files automaticly if a non-interactive
+authentication is used, else it do so after an interactive authenication
+is used.
+.Pp
+The last usage format allows the sftp client to start in a remote directory.
+.Pp
The options are as follows:
.Bl -tag -width Ds
-.It Fl v
-Raise logging level. This option is also passed to ssh.
+.It Fl b Ar batchfile
+Batch mode reads a series of commands from an input
+.Ar batchfile
+instead of
+.Em stdin .
+Since it lacks user interaction it should be used in conjunction with
+non-interactive authentication.
+.Nm
+will abort if any of the following
+commands fail:
+.Ic get , put , rename , ln , rm , mkdir , chdir , lchdir
+and
+.Ic lmkdir .
.It Fl C
Enables compression (via ssh's
.Fl C
.It Fl o Ar ssh_option
Specify an option to be directly passed to
.Xr ssh 1 .
+.It Fl v
+Raise logging level. This option is also passed to ssh.
.El
.Sh INTERACTIVE COMMANDS
Once in interactive mode,
.Nm
understands a set of commands similar to those of
.Xr ftp 1 .
-Commands are case insensitive.
+Commands are case insensitive and pathnames may be enclosed in quotes if they
+contain spaces.
.Bl -tag -width Ds
.It Ic cd Ar path
Change remote directory to
.Ar own .
.Ar own
must be a numeric UID.
-.It Ic help
-Display help text.
-.It Ic get Ar remote-path Op Ar local-path
+.It Ic exit
+Quit sftp.
+.It Xo Ic get
+.Op Ar flags
+.Ar remote-path
+.Op Ar local-path
+.Xc
Retrieve the
.Ar remote-path
and store it on the local machine.
If the local
path name is not specified, it is given the same name it has on the
-remote machine.
+remote machine. If the
+.Fl P
+flag is specified, then the file's full permission and access time are
+copied too.
+.It Ic help
+Display help text.
.It Ic lls Op Ar ls-options Op Ar path
Display local directory listing of either
.Ar path
.It Ic lmkdir Ar path
Create local directory specified by
.Ar path .
+.It Ic ln Ar oldpath Ar newpath
+Create a symbolic link from
+.Ar oldpath
+to
+.Ar newpath .
.It Ic lpwd
Print local working directory.
.It Ic ls Op Ar path
.It Ic mkdir Ar path
Create remote directory specified by
.Ar path .
-.It Ic put Ar local-path Op Ar remote-path
+.It Xo Ic put
+.Op Ar flags
+.Ar local-path
+.Op Ar local-path
+.Xc
Upload
.Ar local-path
-and store it on the remote machine. If the remote path name is not specified,
-it is given the same name it has on the local machine.
+and store it on the remote machine. If the remote path name is not
+specified, it is given the same name it has on the local machine. If the
+.Fl P
+flag is specified, then the file's full permission and access time are
+copied too.
.It Ic pwd
Display remote working directory.
-.It Ic exit
-Quit sftp.
.It Ic quit
Quit sftp.
.It Ic rename Ar oldpath Ar newpath
.It Ic rm Ar path
Delete remote file specified by
.Ar path .
+.It Ic symlink Ar oldpath Ar newpath
+Create a symbolic link from
+.Ar oldpath
+to
+.Ar newpath .
.It Ic ! Ar command
Execute
.Ar command
Damien Miller <djm@mindrot.org>
.Sh SEE ALSO
.Xr ssh 1 ,
+.Xr sftp-server 8 ,
.Xr ssh-add 1 ,
.Xr ssh-keygen 1 ,
.Xr sshd 8 ,