X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/25d1ef439a295daea217cc983c4397d4ae416a78..9d210cac4691e1c74644c9d0b6a25d3a36af648e:/doc/psftp.but?ds=sidebyside diff --git a/doc/psftp.but b/doc/psftp.but index c16b35f6..5dc5d4e1 100644 --- a/doc/psftp.but +++ b/doc/psftp.but @@ -1,4 +1,4 @@ -\versionid $Id: psftp.but,v 1.6 2004/08/15 17:21:46 jacob Exp $ +\define{versionidpsftp} \versionid $Id$ \C{psftp} Using PSFTP to transfer files securely @@ -173,6 +173,48 @@ file whose name is \c{a file with "quotes" in it}. which passes its command line straight to Windows without splitting it up into words at all. See \k{psftp-cmd-pling}.) +\S{psftp-wildcards} Wildcards in PSFTP + +Several commands in PSFTP support \q{wildcards} to select multiple +files. + +For \e{local} file specifications (such as the first argument to +\c{put}), wildcard rules for the local operating system are used. For +instance, PSFTP running on Windows might require the use of \c{*.*} +where PSFTP on Unix would need \c{*}. + +For \e{remote} file specifications (such as the first argument to +\c{get}), PSFTP uses a standard wildcard syntax (similar to POSIX +wildcards): + +\b \c{*} matches any sequence of characters (including a zero-length +sequence). + +\b \c{?} matches exactly one character. + +\b \c{[abc]} matches exactly one character which can be \cw{a}, +\cw{b}, or \cw{c}. + +\lcont{ + +\c{[a-z]} matches any character in the range \cw{a} to \cw{z}. + +\c{[^abc]} matches a single character that is \e{not} \cw{a}, \cw{b}, +or \cw{c}. + +Special cases: \c{[-a]} matches a literal hyphen (\cw{-}) or \cw{a}; +\c{[^-a]} matches all other characters. \c{[a^]} matches a literal +caret (\cw{^}) or \cw{a}. + +} + +\b \c{\\} (backslash) before any of the above characters (or itself) +removes that character's special meaning. + +A leading period (\cw{.}) on a filename is not treated specially, +unlike in some Unix contexts; \c{get *} will fetch all files, whether +or not they start with a leading period. + \S{psftp-cmd-open} The \c{open} command: start a session If you started PSFTP by double-clicking in the GUI, or just by @@ -191,12 +233,19 @@ not opened successfully, PSFTP will terminate immediately. \S{psftp-cmd-quit} The \c{quit} command: end your session When you have finished your session, type the command \c{quit} to -terminate PSFTP and return to the command line (or just close the -PSFTP console window if you started it from the GUI). +close the connection, terminate PSFTP and return to the command line +(or just close the PSFTP console window if you started it from the +GUI). You can also use the \c{bye} and \c{exit} commands, which have exactly the same effect. +\S{psftp-cmd-close} The \c{close} command: close your connection + +If you just want to close the network connection but keep PSFTP +running, you can use the \c{close} command. You can then use the +\c{open} command to open a new connection. + \S{psftp-cmd-help} The \c{help} command: get quick online help If you type \c{help}, PSFTP will give a short list of the available @@ -252,6 +301,17 @@ specify the local file name after the remote one: 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 @@ -269,6 +329,40 @@ specify the remote file name after the local one: 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. + +The \c{-r} and \c{--} options from \c{get} are also available with +\c{mget}. + +\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 @@ -284,6 +378,13 @@ syntax of \c{get} and \c{put}: \c reget myfile.dat \c reget myfile.dat newname.dat +\c reget -r mydir + +These commands are intended mainly for resuming interrupted transfers. +They assume that the remote file or directory structure has not +changed in any way; if there have been changes, you may end up with +corrupted files. In particular, the \c{-r} option will not pick up +changes to files or directories already transferred in full. \S{psftp-cmd-dir} The \c{dir} command: list remote files @@ -296,6 +397,12 @@ You can also list the contents of a different directory by typing \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 @@ -413,7 +520,7 @@ using the Windows \c{ren} command to rename files on your local PC. \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: @@ -427,7 +534,11 @@ username to log in as (see \k{config-username}). 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.