-.\" $OpenBSD: sftp.1,v 1.1 2001/02/04 11:11:54 djm Exp $
+.\" $OpenBSD: sftp.1,v 1.18 2001/05/05 13:42:51 stevesk 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 v Li | Fl C
+.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
compression.
.Nm
connects and logs into the specified
-.Ar hostname
+.Ar host ,
then enters an interactive command mode.
.Pp
+The second usage format will retrieve files automatically if a non-interactive
+authentication method is used; otherwise it will do so after
+successful interactive authentication.
+.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 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
flag)
-.It Fl v
-Raise logging level. This option is also passed to ssh.
.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 ,
+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
+.It Ic cd Ar path
Change remote directory to
-.Ar path
-.It Ic LCD Ar path
+.Ar path .
+.It Ic lcd Ar path
Change local directory to
-.Ar path
-.It Ic CHGRP Ar grp Ar path
+.Ar path .
+.It Ic chgrp Ar grp Ar path
Change group of file
-.Ar path to
+.Ar path
+to
.Ar grp .
.Ar grp
-must be numeric.
-.It Ic CHMOD Ar mode Ar path
+must be a numeric GID.
+.It Ic chmod Ar mode Ar path
Change permissions of file
-.Ar path to
-.Ar mode
-.It Ic CHOWN Ar own Ar path
+.Ar path
+to
+.Ar mode .
+.It Ic chown Ar own Ar path
Change owner of file
-.Ar path to
+.Ar path
+to
.Ar own .
.Ar own
must be a numeric UID.
-.It Ic HELP
-Display help text
-.It Ic GET Ar remote-file Op Ar local-file
+.It Ic exit
+Quit sftp.
+.It Xo Ic get
+.Op Ar flags
+.Ar remote-path
+.Op Ar local-path
+.Xc
Retrieve the
-.Ar remote-file
+.Ar remote-path
and store it on the local machine.
If the local
-file name is not specified, it is given the same name it has on the
-remote machine.
-.It Ic LLS Op Ar ls-options Op Ar path
+path name is not specified, it is given the same name it has on the
+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
or current directory if
.Ar path
-was not specified.
-.It Ic LMKDIR Ar path
+is not specified.
+.It Ic lmkdir Ar path
Create local directory specified by
-.Ar path
-.It Ic LPWD
-Print local working directory
-.It Ic LS Op Ar path
+.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
Display remote directory listing of either
.Ar path
-or current directory, is
-.Ar path not specified.
-.It Ic LUMASK Ar umask
+or current directory if
+.Ar path
+is not specified.
+.It Ic lumask Ar umask
Set local umask to
-.Ar umask
-.It Ic MKDIR Ar path
+.Ar umask .
+.It Ic mkdir Ar path
Create remote directory specified by
-.Ar path
-.It Ic PUT local-file Op Ar remote-file
+.Ar path .
+.It Xo Ic put
+.Op Ar flags
+.Ar local-path
+.Op Ar local-path
+.Xc
Upload
-.Ar local-file
-and store it on the remote machine. If the local file name is not specified,
-it is given the same name it has on the local machine.
-.It Ic PWD
-Display remote working directory
-.It Ic EXIT
-Quit sftp
-.It Ic QUIT
-Quit sftp
-.It Ic RENAME Ar oldpath Ar newpath
+.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. 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 quit
+Quit sftp.
+.It Ic rename Ar oldpath Ar newpath
Rename remote file from
.Ar oldpath
to
-.Ar newpath
-.It Ic RMDIR Ar path
+.Ar newpath .
+.It Ic rmdir Ar path
Remove remote directory specified by
-.Ar path
-.It Ic RM Ar path
+.Ar path .
+.It Ic rm Ar path
Delete remote file specified by
-.Ar path
+.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
-in local shell
+in local shell.
.It Ic !
-Escape to local shell
+Escape to local shell.
+.It Ic ?
+Synonym for help.
+.El
.Sh AUTHORS
Damien Miller <djm@mindrot.org>
.Sh SEE ALSO
+.Xr scp 1 ,
.Xr ssh 1 ,
.Xr ssh-add 1 ,
.Xr ssh-keygen 1 ,
+.Xr sftp-server 8 ,
.Xr sshd 8
+.Rs
+.%A T. Ylonen
+.%A S. Lehtinen
+.%T "SSH File Transfer Protocol"
+.%N draft-ietf-secsh-filexfer-00.txt
+.%D January 2001
+.%O work in progress material
+.Re