-\versionid $Id: psftp.but,v 1.5 2002/08/07 19:20:06 simon Exp $
+\define{versionidpsftp} \versionid $Id$
\C{psftp} Using PSFTP to transfer files securely
will look for \c{filename.dat} in your remote working directory on
the server.
-To change your remote working directory, use the \c{cd} command. To
-display your current remote working directory, type \c{pwd}.
+To change your remote working directory, use the \c{cd} command. If
+you don't provide an argument, \c{cd} will return you to your home
+directory on the server (more precisely, the remote directory you were
+in at the start of the connection).
+
+To display your current remote working directory, type \c{pwd}.
\S{psftp-cmd-lcd} The \c{lcd} and \c{lpwd} commands: changing the
local working directory
This will fetch the file on the server called \c{myfile.dat}, but
will save it to your local machine under the name \c{newname.dat}.
+To fetch an entire directory recursively, you can use the \c{-r}
+option:
+
+\c get -r mydir
+\c get -r mydir newname
+
+(If you want to fetch a file whose name starts with a hyphen, you
+may have to use the \c{--} special argument, which stops \c{get}
+from interpreting anything as a switch after it. For example,
+\cq{get -- -silly-name-}.)
+
\S{psftp-cmd-put} The \c{put} command: send a file to the server
To upload a file to the server from your local PC, you use the
This will send the local file called \c{myfile.dat}, but will store
it on the server under the name \c{newname.dat}.
+To send an entire directory recursively, you can use the \c{-r}
+option:
+
+\c put -r mydir
+\c put -r mydir newname
+
+(If you want to send a file whose name starts with a hyphen, you may
+have to use the \c{--} special argument, which stops \c{put} from
+interpreting anything as a switch after it. For example, \cq{put --
+-silly-name-}.)
+
+\S{psftp-cmd-mgetput} The \c{mget} and \c{mput} commands: fetch or
+send multiple files
+
+\c{mget} works almost exactly like \c{get}, except that it allows
+you to specify more than one file to fetch at once. You can do this
+in two ways:
+
+\b by giving two or more explicit file names (\cq{mget file1.txt
+file2.txt})
+
+\b by using a wildcard (\cq{mget *.txt}).
+
+Every argument to \c{mget} is treated as the name of a file to fetch
+(unlike \c{get}, which will interpret at most one argument like
+that, and a second argument will be treated as an alternative name
+under which to store the retrieved file), or a wildcard expression
+matching more than one file.
+
+\c{mput} is similar to \c{put}, with the same differences.
+
\S{psftp-cmd-regetput} The \c{reget} and \c{reput} commands:
resuming file transfers
\c dir /home/fred
\c dir sources
+And you can list a subset of the contents of a directory by
+providing a wildcard:
+
+\c dir /home/fred/*.txt
+\c dir sources/*.c
+
The \c{ls} command works exactly the same way as \c{dir}.
\S{psftp-cmd-chmod} The \c{chmod} command: change permissions on
\H{psftp-pubkey} Using public key authentication with PSFTP
Like PuTTY, PSFTP can authenticate using a public key instead of a
-password. There are two ways you can do this.
+password. There are three ways you can do this.
Firstly, PSFTP can use PuTTY saved sessions in place of hostnames.
So you might do this:
hostname: type \c{psftp sessionname}, where \c{sessionname} is
replaced by the name of your saved session.
-Secondly, PSFTP will attempt to authenticate using Pageant if Pageant
+Secondly, you can supply the name of a private key file on the command
+line, with the \c{-i} option. See \k{using-cmdline-identity} for more
+information.
+
+Thirdly, PSFTP will attempt to authenticate using Pageant if Pageant
is running (see \k{pageant}). So you would do this:
\b Ensure Pageant is running, and has your private key stored in it.