openbsd_man_ftp.html - webdump_tests - Testfiles for webdump
 (HTM) git clone git://git.codemadness.org/webdump_tests
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
       openbsd_man_ftp.html (83176B)
       ---
            1 <!DOCTYPE html>
            2 <html>
            3 <head>
            4   <meta charset="UTF-8"/>
            5   <meta name="viewport" content="width=device-width, initial-scale=1.0">
            6   <link rel="stylesheet" href="/mandoc.css" type="text/css" media="all">
            7   <title>ftp(1) - OpenBSD manual pages</title>
            8 </head>
            9 <body>
           10 <header>
           11 <section>
           12 <h1><a href="https://www.openbsd.org/">OpenBSD</a> manual page server</h1>
           13 </section>
           14 <form role="search" action="/" method="get" autocomplete="off" autocapitalize="none">
           15   <fieldset>
           16     <legend>Manual Page Search Parameters</legend>
           17     <label>Search query:
           18       <input type="search" name="query" value="ftp" size="40">
           19     </label>
           20     <button type="submit" name="apropos" value="0">man</button>
           21     <button type="submit" name="apropos" value="1">apropos</button>
           22     <br/>
           23     <select name="sec" aria-label="Manual section">
           24       <option value="0">All Sections</option>
           25       <option value="1">1 - General Commands</option>
           26       <option value="2">2 - System Calls</option>
           27       <option value="3">3 - Library Functions</option>
           28       <option value="3p">3p - Perl Library</option>
           29       <option value="4">4 - Device Drivers</option>
           30       <option value="5">5 - File Formats</option>
           31       <option value="6">6 - Games</option>
           32       <option value="7">7 - Miscellaneous Information</option>
           33       <option value="8">8 - System Manager's Manual</option>
           34       <option value="9">9 - Kernel Developer's Manual</option>
           35     </select>
           36     <select name="arch" aria-label="CPU architecture">
           37       <option value="default" selected="selected">All Architectures</option>
           38       <option>amd64</option>
           39       <option>alpha</option>
           40       <option>armv7</option>
           41       <option>arm64</option>
           42       <option>hppa</option>
           43       <option>i386</option>
           44       <option>landisk</option>
           45       <option>loongson</option>
           46       <option>luna88k</option>
           47       <option>macppc</option>
           48       <option>mips64</option>
           49       <option>octeon</option>
           50       <option>powerpc64</option>
           51       <option>riscv64</option>
           52       <option>sparc64</option>
           53       <option>amiga</option>
           54       <option>arc</option>
           55       <option>armish</option>
           56       <option>arm32</option>
           57       <option>atari</option>
           58       <option>aviion</option>
           59       <option>beagle</option>
           60       <option>cats</option>
           61       <option>hppa64</option>
           62       <option>hp300</option>
           63       <option>ia64</option>
           64       <option>mac68k</option>
           65       <option>mvme68k</option>
           66       <option>mvme88k</option>
           67       <option>mvmeppc</option>
           68       <option>palm</option>
           69       <option>pc532</option>
           70       <option>pegasos</option>
           71       <option>pmax</option>
           72       <option>powerpc</option>
           73       <option>sgi</option>
           74       <option>socppc</option>
           75       <option>solbourne</option>
           76       <option>sparc</option>
           77       <option>sun3</option>
           78       <option>vax</option>
           79       <option>wgrisc</option>
           80       <option>x68k</option>
           81       <option>zaurus</option>
           82     </select>
           83     <select name="manpath" aria-label="Manual path">
           84       <option selected="selected">OpenBSD-current</option>
           85       <option>OpenBSD-7.2</option>
           86       <option>OpenBSD-7.1</option>
           87       <option>OpenBSD-7.0</option>
           88       <option>OpenBSD-6.9</option>
           89       <option>OpenBSD-6.8</option>
           90       <option>OpenBSD-6.7</option>
           91       <option>OpenBSD-6.6</option>
           92       <option>OpenBSD-6.5</option>
           93       <option>OpenBSD-6.4</option>
           94       <option>OpenBSD-6.3</option>
           95       <option>OpenBSD-6.2</option>
           96       <option>OpenBSD-6.1</option>
           97       <option>OpenBSD-6.0</option>
           98       <option>OpenBSD-5.9</option>
           99       <option>OpenBSD-5.8</option>
          100       <option>OpenBSD-5.7</option>
          101       <option>OpenBSD-5.6</option>
          102       <option>OpenBSD-5.5</option>
          103       <option>OpenBSD-5.4</option>
          104       <option>OpenBSD-5.3</option>
          105       <option>OpenBSD-5.2</option>
          106       <option>OpenBSD-5.1</option>
          107       <option>OpenBSD-5.0</option>
          108       <option>OpenBSD-4.9</option>
          109       <option>OpenBSD-4.8</option>
          110       <option>OpenBSD-4.7</option>
          111       <option>OpenBSD-4.6</option>
          112       <option>OpenBSD-4.5</option>
          113       <option>OpenBSD-4.4</option>
          114       <option>OpenBSD-4.3</option>
          115       <option>OpenBSD-4.2</option>
          116       <option>OpenBSD-4.1</option>
          117       <option>OpenBSD-4.0</option>
          118       <option>OpenBSD-3.9</option>
          119       <option>OpenBSD-3.8</option>
          120       <option>OpenBSD-3.7</option>
          121       <option>OpenBSD-3.6</option>
          122       <option>OpenBSD-3.5</option>
          123       <option>OpenBSD-3.4</option>
          124       <option>OpenBSD-3.3</option>
          125       <option>OpenBSD-3.2</option>
          126       <option>OpenBSD-3.1</option>
          127       <option>OpenBSD-3.0</option>
          128       <option>OpenBSD-2.9</option>
          129       <option>OpenBSD-2.8</option>
          130       <option>OpenBSD-2.7</option>
          131       <option>OpenBSD-2.6</option>
          132       <option>OpenBSD-2.5</option>
          133       <option>OpenBSD-2.4</option>
          134       <option>OpenBSD-2.3</option>
          135       <option>OpenBSD-2.2</option>
          136     </select>
          137   </fieldset>
          138 </form>
          139 </header>
          140 <hr>
          141 <div class="head" role="doc-pageheader" aria-label="Manual header
          142   line"><span class="head-ltitle">FTP(1)</span> <span class="head-vol">General
          143   Commands Manual</span> <span class="head-rtitle">FTP(1)</span></div>
          144 <main class="manual-text">
          145 <section class="Sh">
          146 <h2 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h2>
          147 <p class="Pp"><code class="Nm">ftp</code> &#x2014;
          148     <span class="Nd" role="doc-subtitle">Internet file transfer
          149   program</span></p>
          150 </section>
          151 <section class="Sh">
          152 <h2 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h2>
          153 <table class="Nm">
          154   <tr>
          155     <td><code class="Nm">ftp</code></td>
          156     <td>[<code class="Fl">-46AadEegiMmnptVv</code>] [<code class="Fl">-D</code>
          157       <var class="Ar">title</var>] [<code class="Fl">-k</code>
          158       <var class="Ar">seconds</var>] [<code class="Fl">-P</code>
          159       <var class="Ar">port</var>] [<code class="Fl">-r</code>
          160       <var class="Ar">seconds</var>] [<code class="Fl">-s</code>
          161       <var class="Ar">sourceaddr</var>] [<var class="Ar">host</var>
          162       [<var class="Ar">port</var>]]</td>
          163   </tr>
          164 </table>
          165 <br/>
          166 <table class="Nm">
          167   <tr>
          168     <td><code class="Nm">ftp</code></td>
          169     <td>[<code class="Fl">-C</code>] [<code class="Fl">-N</code>
          170       <var class="Ar">name</var>] [<code class="Fl">-o</code>
          171       <var class="Ar">output</var>] [<code class="Fl">-s</code>
          172       <var class="Ar">sourceaddr</var>]
          173       ftp://[<var class="Ar">user</var>:<var class="Ar">password</var><span class="No">@</span>]<var class="Ar">host</var>[:<var class="Ar">port</var>]<span class="No">/</span><var class="Ar">file</var>[/]
          174       <var class="Ar">...</var></td>
          175   </tr>
          176 </table>
          177 <br/>
          178 <table class="Nm">
          179   <tr>
          180     <td><code class="Nm">ftp</code></td>
          181     <td>[<code class="Fl">-CTu</code>] [<code class="Fl">-c</code>
          182       <var class="Ar">cookie</var>] [<code class="Fl">-N</code>
          183       <var class="Ar">name</var>] [<code class="Fl">-o</code>
          184       <var class="Ar">output</var>] [<code class="Fl">-S</code>
          185       <var class="Ar">ssl_options</var>] [<code class="Fl">-s</code>
          186       <var class="Ar">sourceaddr</var>] [<code class="Fl">-U</code>
          187       <var class="Ar">useragent</var>] [<code class="Fl">-w</code>
          188       <var class="Ar">seconds</var>]
          189       http[s]://[<var class="Ar">user</var>:<var class="Ar">password</var><span class="No">@</span>]<var class="Ar">host</var>[:<var class="Ar">port</var>]<span class="No">/</span><var class="Ar">file</var>
          190       <var class="Ar">...</var></td>
          191   </tr>
          192 </table>
          193 <br/>
          194 <table class="Nm">
          195   <tr>
          196     <td><code class="Nm">ftp</code></td>
          197     <td>[<code class="Fl">-C</code>] [<code class="Fl">-N</code>
          198       <var class="Ar">name</var>] [<code class="Fl">-o</code>
          199       <var class="Ar">output</var>] [<code class="Fl">-s</code>
          200       <var class="Ar">sourceaddr</var>] file:<var class="Ar">file ...</var></td>
          201   </tr>
          202 </table>
          203 <br/>
          204 <table class="Nm">
          205   <tr>
          206     <td><code class="Nm">ftp</code></td>
          207     <td>[<code class="Fl">-C</code>] [<code class="Fl">-N</code>
          208       <var class="Ar">name</var>] [<code class="Fl">-o</code>
          209       <var class="Ar">output</var>] [<code class="Fl">-s</code>
          210       <var class="Ar">sourceaddr</var>]
          211       <var class="Ar">host</var>:/<var class="Ar">file</var>[/]
          212       <var class="Ar">...</var></td>
          213   </tr>
          214 </table>
          215 </section>
          216 <section class="Sh">
          217 <h2 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h2>
          218 <p class="Pp"><code class="Nm">ftp</code> is the user interface to the Internet
          219     standard File Transfer Protocol (FTP). The program allows a user to transfer
          220     files to and from a remote network site.</p>
          221 <p class="Pp">The latter four usage formats will fetch a file using either the
          222     FTP, HTTP, or HTTPS protocols into the current directory. This is ideal for
          223     scripts. Refer to <a class="Sx" href="#AUTO_FETCHING_FILES">AUTO-FETCHING
          224     FILES</a> below for more information.</p>
          225 <p class="Pp">The options are as follows:</p>
          226 <dl class="Bl-tag">
          227   <dt id="4"><a class="permalink" href="#4"><code class="Fl">-4</code></a></dt>
          228   <dd>Forces <code class="Nm">ftp</code> to use IPv4 addresses only.</dd>
          229   <dt id="6"><a class="permalink" href="#6"><code class="Fl">-6</code></a></dt>
          230   <dd>Forces <code class="Nm">ftp</code> to use IPv6 addresses only.</dd>
          231   <dt id="A"><a class="permalink" href="#A"><code class="Fl">-A</code></a></dt>
          232   <dd>Force active mode FTP. By default, <code class="Nm">ftp</code> will try to
          233       use passive mode FTP and fall back to active mode if passive is not
          234       supported by the server. This option causes <code class="Nm">ftp</code> to
          235       always use an active connection. It is only useful for connecting to very
          236       old servers that do not implement passive mode properly.</dd>
          237   <dt id="a"><a class="permalink" href="#a"><code class="Fl">-a</code></a></dt>
          238   <dd>Causes <code class="Nm">ftp</code> to bypass the normal login procedure
          239       and use an anonymous login instead.</dd>
          240   <dt id="C"><a class="permalink" href="#C"><code class="Fl">-C</code></a></dt>
          241   <dd>Continue a previously interrupted file transfer.
          242       <code class="Nm">ftp</code> will continue transferring from an offset
          243       equal to the length of <var class="Ar">file</var>.
          244     <p class="Pp">Resuming HTTP(S) transfers are only supported if the remote
          245         server supports the &#x201C;Range&#x201D; header.</p>
          246   </dd>
          247   <dt id="c"><a class="permalink" href="#c"><code class="Fl">-c</code></a>
          248     <var class="Ar">cookie</var></dt>
          249   <dd>Load a Netscape-like cookiejar file for HTTP and HTTPS transfers. With
          250       this option relevant cookies from the jar are sent with each HTTP(S)
          251       request. Setting the <code class="Ev">http_cookies</code> environment
          252       variable has the same effect. If both the
          253       <code class="Ev">http_cookies</code> environment variable is set and the
          254       <code class="Fl">-c</code> argument is given, the latter takes
          255     precedence.</dd>
          256   <dt id="D"><a class="permalink" href="#D"><code class="Fl">-D</code></a>
          257     <var class="Ar">title</var></dt>
          258   <dd>Specify a short <var class="Ar">title</var> for the start of the progress
          259       bar.</dd>
          260   <dt id="d"><a class="permalink" href="#d"><code class="Fl">-d</code></a></dt>
          261   <dd>Enables debugging.</dd>
          262   <dt id="E"><a class="permalink" href="#E"><code class="Fl">-E</code></a></dt>
          263   <dd>Disables EPSV/EPRT command on IPv4 connections.</dd>
          264   <dt id="e"><a class="permalink" href="#e"><code class="Fl">-e</code></a></dt>
          265   <dd>Disables command line editing. Useful for Emacs ange-ftp.</dd>
          266   <dt id="g"><a class="permalink" href="#g"><code class="Fl">-g</code></a></dt>
          267   <dd>Disables file name globbing.</dd>
          268   <dt id="i"><a class="permalink" href="#i"><code class="Fl">-i</code></a></dt>
          269   <dd>Turns off interactive prompting during multiple file transfers.</dd>
          270   <dt id="k"><a class="permalink" href="#k"><code class="Fl">-k</code></a>
          271     <var class="Ar">seconds</var></dt>
          272   <dd>When greater than zero, sends a byte after each
          273       <var class="Ar">seconds</var> period over the control connection during
          274       long transfers, so that incorrectly configured network equipment won't
          275       aggressively drop it. The FTP protocol supports a
          276       <code class="Dv">NOOP</code> command that can be used for that purpose.
          277       This assumes the FTP server can deal with extra commands coming over the
          278       control connection during a transfer. Well-behaved servers queue those
          279       commands, and process them after the transfer. By default,
          280       <code class="Nm">ftp</code> will send a byte every 60 seconds.</dd>
          281   <dt id="M"><a class="permalink" href="#M"><code class="Fl">-M</code></a></dt>
          282   <dd>Causes <code class="Nm">ftp</code> to never display the progress meter in
          283       cases where it would do so by default.</dd>
          284   <dt id="m"><a class="permalink" href="#m"><code class="Fl">-m</code></a></dt>
          285   <dd>Causes <code class="Nm">ftp</code> to always display the progress meter in
          286       cases where it would not do so by default.</dd>
          287   <dt id="N"><a class="permalink" href="#N"><code class="Fl">-N</code></a>
          288     <var class="Ar">name</var></dt>
          289   <dd>Use this alternative name instead of <code class="Nm">ftp</code> in some
          290       error reports.</dd>
          291   <dt id="n"><a class="permalink" href="#n"><code class="Fl">-n</code></a></dt>
          292   <dd>Restrains <code class="Nm">ftp</code> from attempting
          293       &#x201C;auto-login&#x201D; upon initial connection. If auto-login is
          294       enabled, <code class="Nm">ftp</code> will check the
          295       <span class="Pa">.netrc</span> file (see below) in the user's home
          296       directory for an entry describing an account on the remote machine. If no
          297       entry exists, <code class="Nm">ftp</code> will prompt for the remote
          298       machine login name (default is the user identity on the local machine)
          299       and, if necessary, prompt for a password and an account with which to log
          300       in.</dd>
          301   <dt id="o"><a class="permalink" href="#o"><code class="Fl">-o</code></a>
          302     <var class="Ar">output</var></dt>
          303   <dd>When fetching a single file or URL, save the contents in
          304       <var class="Ar">output</var>. To make the contents go to stdout, use
          305       &#x2018;-&#x2019; for <var class="Ar">output</var>.</dd>
          306   <dt id="P"><a class="permalink" href="#P"><code class="Fl">-P</code></a>
          307     <var class="Ar">port</var></dt>
          308   <dd>Sets the port number to <var class="Ar">port</var>.</dd>
          309   <dt id="p"><a class="permalink" href="#p"><code class="Fl">-p</code></a></dt>
          310   <dd>Enable passive mode operation for use behind connection filtering
          311       firewalls. This option has been deprecated as <code class="Nm">ftp</code>
          312       now tries to use passive mode by default, falling back to active mode if
          313       the server does not support passive connections.</dd>
          314   <dt id="r"><a class="permalink" href="#r"><code class="Fl">-r</code></a>
          315     <var class="Ar">seconds</var></dt>
          316   <dd>Retry to connect if failed, pausing for number of
          317       <var class="Ar">seconds</var>.</dd>
          318   <dt id="S"><a class="permalink" href="#S"><code class="Fl">-S</code></a>
          319     <var class="Ar">ssl_options</var></dt>
          320   <dd>SSL/TLS options to use with HTTPS transfers. The following settings are
          321       available:
          322     <dl class="Bl-tag">
          323       <dt id="cafile"><a class="permalink" href="#cafile"><code class="Cm">cafile</code></a>=<var class="Ar">/path/to/cert.pem</var></dt>
          324       <dd>PEM encoded file containing CA certificates used for certificate
          325           validation.</dd>
          326       <dt id="capath"><a class="permalink" href="#capath"><code class="Cm">capath</code></a>=<var class="Ar">/path/to/certs/</var></dt>
          327       <dd>Directory containing PEM encoded CA certificates used for certificate
          328           validation. Such a directory can be prepared using the c_rehash script
          329           distributed with OpenSSL.</dd>
          330       <dt id="ciphers"><a class="permalink" href="#ciphers"><code class="Cm">ciphers</code></a>=<var class="Ar">cipher_list</var></dt>
          331       <dd>Specify the list of ciphers that will be used by
          332           <code class="Nm">ftp</code>. See the
          333           <a class="Xr" href="/openssl.1" aria-label="openssl, section
          334           1">openssl(1)</a> <code class="Cm">ciphers</code> subcommand.</dd>
          335       <dt id="depth"><a class="permalink" href="#depth"><code class="Cm">depth</code></a>=<var class="Ar">max_depth</var></dt>
          336       <dd>Maximum depth of the certificate chain allowed when performing
          337           validation.</dd>
          338       <dt id="do"><a class="permalink" href="#do"><code class="Cm">do</code></a></dt>
          339       <dd>Perform server certificate validation.</dd>
          340       <dt id="dont"><a class="permalink" href="#dont"><code class="Cm">dont</code></a></dt>
          341       <dd>Don't perform server certificate validation.</dd>
          342       <dt id="muststaple"><a class="permalink" href="#muststaple"><code class="Cm">muststaple</code></a></dt>
          343       <dd>Require the server to present a valid OCSP stapling in the TLS
          344           handshake.</dd>
          345       <dt id="noverifytime"><a class="permalink" href="#noverifytime"><code class="Cm">noverifytime</code></a></dt>
          346       <dd>Disable validation of certificate times and OCSP validation.</dd>
          347       <dt id="protocols"><a class="permalink" href="#protocols"><code class="Cm">protocols</code></a>=<var class="Ar">protocol_list</var></dt>
          348       <dd>Specify the TLS protocols that will be supported by
          349           <code class="Nm">ftp</code> (see
          350           <a class="Xr" href="/tls_config_parse_protocols.3" aria-label="tls_config_parse_protocols,
          351           section 3">tls_config_parse_protocols(3)</a> for details).</dd>
          352       <dt id="session"><a class="permalink" href="#session"><code class="Cm">session</code></a>=<var class="Ar">/path/to/session</var></dt>
          353       <dd>Specify a file to use for TLS session data. If this file has a
          354           non-zero length, the session data will be read from this file and the
          355           client will attempt to resume the TLS session with the server. Upon
          356           completion of a successful TLS handshake this file will be updated
          357           with new session data, if available. This file will be created if it
          358           does not already exist.</dd>
          359     </dl>
          360     <p class="Pp">By default, server certificate validation is performed, and if
          361         it fails <code class="Nm">ftp</code> will abort. If no
          362         <code class="Cm">cafile</code> or <code class="Cm">capath</code> setting
          363         is provided, <span class="Pa">/etc/ssl/cert.pem</span> will be used.</p>
          364   </dd>
          365   <dt id="s"><a class="permalink" href="#s"><code class="Fl">-s</code></a>
          366     <var class="Ar">sourceaddr</var></dt>
          367   <dd>Set the source address for connections, which is useful on machines with
          368       multiple interfaces.</dd>
          369   <dt id="T"><a class="permalink" href="#T"><code class="Fl">-T</code></a></dt>
          370   <dd>Send an &#x201C;If-Modified-Since&#x201D; header to the remote to
          371       determine if the remote file's timestamp has changed.</dd>
          372   <dt id="t"><a class="permalink" href="#t"><code class="Fl">-t</code></a></dt>
          373   <dd>Enables packet tracing.</dd>
          374   <dt id="U"><a class="permalink" href="#U"><code class="Fl">-U</code></a>
          375     <var class="Ar">useragent</var></dt>
          376   <dd>Set <var class="Ar">useragent</var> as the User-Agent for HTTP(S) URL
          377       requests. If not specified, the default User-Agent is &#x201C;OpenBSD
          378       ftp&#x201D;.</dd>
          379   <dt id="u"><a class="permalink" href="#u"><code class="Fl">-u</code></a></dt>
          380   <dd>Disable setting the local file's timestamps based on the
          381       &#x201C;Last-Modified&#x201D; header. By default the local file's
          382       timestamps are set to match those from the remote.</dd>
          383   <dt id="V"><a class="permalink" href="#V"><code class="Fl">-V</code></a></dt>
          384   <dd>Disable verbose mode, overriding the default of enabled when input is from
          385       a terminal.</dd>
          386   <dt id="v"><a class="permalink" href="#v"><code class="Fl">-v</code></a></dt>
          387   <dd>Enable verbose mode. This is the default if input is from a terminal.
          388       Forces <code class="Nm">ftp</code> to show all responses from the remote
          389       server, as well as report on data transfer statistics.</dd>
          390   <dt id="w"><a class="permalink" href="#w"><code class="Fl">-w</code></a>
          391     <var class="Ar">seconds</var></dt>
          392   <dd>Wait for <var class="Ar">seconds</var> for the remote server to connect
          393       before giving up.</dd>
          394 </dl>
          395 <p class="Pp">The host with which <code class="Nm">ftp</code> is to communicate
          396     may be specified on the command line. If this is done,
          397     <code class="Nm">ftp</code> will immediately attempt to establish a
          398     connection to an FTP server on that host; otherwise,
          399     <code class="Nm">ftp</code> will enter its command interpreter and await
          400     instructions from the user. When <code class="Nm">ftp</code> is awaiting
          401     commands, the prompt &#x201C;ftp&gt;&#x201D; is provided to the user. The
          402     following commands are recognized by <code class="Nm">ftp</code>:</p>
          403 <dl class="Bl-tag">
          404   <dt id="!"><a class="permalink" href="#!"><code class="Ic">!</code></a>
          405     [<var class="Ar">command</var> [<var class="Ar">arg ...</var>]]</dt>
          406   <dd>Invoke an interactive shell on the local machine. If there are arguments,
          407       the first is taken to be a command to execute directly, with the rest of
          408       the arguments as its arguments.</dd>
          409   <dt id="$"><a class="permalink" href="#$"><code class="Ic">$</code></a>
          410     <var class="Ar">macro-name</var> [<var class="Ar">arg ...</var>]</dt>
          411   <dd>Execute the macro <var class="Ar">macro-name</var> that was defined with
          412       the <code class="Ic">macdef</code> command. Arguments are passed to the
          413       macro unglobbed.</dd>
          414   <dt id="?"><a class="permalink" href="#?"><code class="Ic">?</code></a>
          415     [<var class="Ar">command</var>]</dt>
          416   <dd>A synonym for <code class="Ic">help</code>.</dd>
          417   <dt id="account"><a class="permalink" href="#account"><code class="Ic">account</code></a>
          418     [<var class="Ar">password</var>]</dt>
          419   <dd>Supply a supplemental password required by a remote system for access to
          420       resources once a login has been successfully completed. If no argument is
          421       included, the user will be prompted for an account password in a
          422       non-echoing input mode.</dd>
          423   <dt id="append"><a class="permalink" href="#append"><code class="Ic">append</code></a>
          424     <var class="Ar">local-file</var> [<var class="Ar">remote-file</var>]</dt>
          425   <dd>Append a local file to a file on the remote machine. If
          426       <var class="Ar">remote-file</var> is left unspecified, the local file name
          427       is used in naming the remote file after being altered by any
          428       <code class="Ic">ntrans</code> or <code class="Ic">nmap</code> setting.
          429       File transfer uses the current settings for <code class="Ic">type</code>,
          430       <code class="Ic">format</code>, <code class="Ic">mode</code>, and
          431       <code class="Ic">structure</code>.</dd>
          432   <dt id="ascii"><a class="permalink" href="#ascii"><code class="Ic">ascii</code></a></dt>
          433   <dd>Set the file transfer <code class="Ic">type</code> to network ASCII.</dd>
          434   <dt id="bell"><a class="permalink" href="#bell"><code class="Ic">bell</code></a>
          435     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          436   <dd>Arrange that a bell be sounded after each file transfer command is
          437       completed.</dd>
          438   <dt id="binary"><a class="permalink" href="#binary"><code class="Ic">binary</code></a></dt>
          439   <dd>Set the file transfer <code class="Ic">type</code> to support binary image
          440       transfer. This is the default type.</dd>
          441   <dt id="bye"><a class="permalink" href="#bye"><code class="Ic">bye</code></a></dt>
          442   <dd>Terminate the FTP session with the remote server and exit
          443       <code class="Nm">ftp</code>. An end-of-file will also terminate the
          444       session and exit.</dd>
          445   <dt id="case"><a class="permalink" href="#case"><code class="Ic">case</code></a>
          446     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          447   <dd>Toggle remote computer file name case mapping during
          448       <code class="Ic">mget</code> commands. When <code class="Ic">case</code>
          449       is on (default is off), remote computer file names with all letters in
          450       upper case are written in the local directory with the letters mapped to
          451       lower case.</dd>
          452   <dt id="cd"><a class="permalink" href="#cd"><code class="Ic">cd</code></a>
          453     <var class="Ar">remote-directory</var></dt>
          454   <dd>Change the working directory on the remote machine to
          455       <var class="Ar">remote-directory</var>.</dd>
          456   <dt id="cdup"><a class="permalink" href="#cdup"><code class="Ic">cdup</code></a></dt>
          457   <dd>Change the remote machine working directory to the parent of the current
          458       remote machine working directory.</dd>
          459   <dt id="chmod"><a class="permalink" href="#chmod"><code class="Ic">chmod</code></a>
          460     <var class="Ar">mode file</var></dt>
          461   <dd>Change the permission modes of <var class="Ar">file</var> on the remote
          462       system to <var class="Ar">mode</var>.</dd>
          463   <dt id="close"><a class="permalink" href="#close"><code class="Ic">close</code></a></dt>
          464   <dd>Terminate the FTP session with the remote server and return to the command
          465       interpreter. Any defined macros are erased.</dd>
          466   <dt id="cr"><a class="permalink" href="#cr"><code class="Ic">cr</code></a>
          467     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          468   <dd>Toggle carriage return stripping during ASCII type file retrieval. Records
          469       are denoted by a carriage return/linefeed sequence during ASCII type file
          470       transfer. When <code class="Ic">cr</code> is on (the default), carriage
          471       returns are stripped from this sequence to conform with the
          472       <span class="Ux">UNIX</span> single linefeed record delimiter. Records on
          473       non-UNIX remote systems may contain single linefeeds; when an ASCII type
          474       transfer is made, these linefeeds may be distinguished from a record
          475       delimiter only when <code class="Ic">cr</code> is off.</dd>
          476   <dt id="debug"><a class="permalink" href="#debug"><code class="Ic">debug</code></a>
          477     [<code class="Ic">on</code> | <code class="Ic">off</code> |
          478     <var class="Ar">debuglevel</var>]</dt>
          479   <dd>Toggle debugging mode. If an optional <var class="Ar">debuglevel</var> is
          480       specified, it is used to set the debugging level. When debugging is on,
          481       <code class="Nm">ftp</code> prints each command sent to the remote
          482       machine, preceded by the string
          483       &#x2018;<code class="Li">--&gt;</code>&#x2019;.</dd>
          484   <dt id="delete"><a class="permalink" href="#delete"><code class="Ic">delete</code></a>
          485     <var class="Ar">remote-file</var></dt>
          486   <dd>Delete the file <var class="Ar">remote-file</var> on the remote
          487     machine.</dd>
          488   <dt id="dir"><a class="permalink" href="#dir"><code class="Ic">dir</code></a>
          489     [<var class="Ar">remote-directory</var>
          490     [<var class="Ar">local-file</var>]]</dt>
          491   <dd>A synonym for <code class="Ic">ls</code>.</dd>
          492   <dt id="disconnect"><a class="permalink" href="#disconnect"><code class="Ic">disconnect</code></a></dt>
          493   <dd>A synonym for <code class="Ic">close</code>.</dd>
          494   <dt id="edit"><a class="permalink" href="#edit"><code class="Ic">edit</code></a>
          495     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          496   <dd>Toggle command line editing, and context sensitive command and file
          497       completion. This is automatically enabled if input is from a terminal, and
          498       disabled otherwise.</dd>
          499   <dt id="epsv4"><a class="permalink" href="#epsv4"><code class="Ic">epsv4</code></a>
          500     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          501   <dd>Toggle use of EPSV/EPRT command on IPv4 connection.</dd>
          502   <dt id="exit"><a class="permalink" href="#exit"><code class="Ic">exit</code></a></dt>
          503   <dd>A synonym for <code class="Ic">bye</code>.</dd>
          504   <dt id="form"><a class="permalink" href="#form"><code class="Ic">form</code></a>
          505     <var class="Ar">format</var></dt>
          506   <dd>Set the file transfer <code class="Ic">form</code> to
          507       <var class="Ar">format</var>. The default format is
          508     &#x201C;file&#x201D;.</dd>
          509   <dt id="ftp"><a class="permalink" href="#ftp"><code class="Ic">ftp</code></a>
          510     <var class="Ar">host</var> [<var class="Ar">port</var>]</dt>
          511   <dd>A synonym for <code class="Ic">open</code>.</dd>
          512   <dt id="gate"><a class="permalink" href="#gate"><code class="Ic">gate</code></a>
          513     [<code class="Ic">on</code> | <code class="Ic">off</code> |
          514     <var class="Ar">host</var> [<var class="Ar">port</var>]]</dt>
          515   <dd>Toggle gate-ftp mode. This will not be permitted if the gate-ftp server
          516       hasn't been set (either explicitly by the user, or from the
          517       <code class="Ev">FTPSERVER</code> environment variable). If
          518       <var class="Ar">host</var> is given, then gate-ftp mode will be enabled,
          519       and the gate-ftp server will be set to <var class="Ar">host</var>. If
          520       <var class="Ar">port</var> is also given, that will be used as the port to
          521       connect to on the gate-ftp server.</dd>
          522   <dt id="get"><a class="permalink" href="#get"><code class="Ic">get</code></a>
          523     <var class="Ar">remote-file</var> [<var class="Ar">local-file</var>]</dt>
          524   <dd>Retrieve the <var class="Ar">remote-file</var> and store it on the local
          525       machine. If the local file name is not specified, it is given the same
          526       name it has on the remote machine, subject to alteration by the current
          527       <code class="Ic">case</code>, <code class="Ic">ntrans</code>, and
          528       <code class="Ic">nmap</code> settings. The current settings for
          529       <code class="Ic">type</code>, <code class="Ic">form</code>,
          530       <code class="Ic">mode</code>, and <code class="Ic">structure</code> are
          531       used while transferring the file.</dd>
          532   <dt id="glob"><a class="permalink" href="#glob"><code class="Ic">glob</code></a>
          533     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          534   <dd>Toggle filename expansion for <code class="Ic">mdelete</code>,
          535       <code class="Ic">mget</code> and <code class="Ic">mput</code>. If globbing
          536       is turned off with <code class="Ic">glob</code>, the file name arguments
          537       are taken literally and not expanded. Globbing for
          538       <code class="Ic">mput</code> is done as in
          539       <a class="Xr" href="/csh.1" aria-label="csh, section 1">csh(1)</a>. For
          540       <code class="Ic">mdelete</code> and <code class="Ic">mget</code>, each
          541       remote file name is expanded separately on the remote machine and the
          542       lists are not merged. Expansion of a directory name is likely to be
          543       different from expansion of the name of an ordinary file: the exact result
          544       depends on the foreign operating system and FTP server, and can be
          545       previewed by doing &#x201C;mls remote-files -&#x201D;. Note:
          546       <code class="Ic">mget</code> and <code class="Ic">mput</code> are not
          547       meant to transfer entire directory subtrees of files. That can be done by
          548       transferring a <a class="Xr" href="/tar.1" aria-label="tar, section
          549       1">tar(1)</a> archive of the subtree (in binary mode).</dd>
          550   <dt id="hash"><a class="permalink" href="#hash"><code class="Ic">hash</code></a>
          551     [<code class="Ic">on</code> | <code class="Ic">off</code> |
          552     <var class="Ar">size</var>]</dt>
          553   <dd>Toggle hash mark (&#x2018;<code class="Li">#</code>&#x2019;) printing for
          554       each data block transferred. The size of a data block defaults to 1024
          555       bytes. This can be changed by specifying <var class="Ar">size</var> in
          556       bytes.</dd>
          557   <dt id="help"><a class="permalink" href="#help"><code class="Ic">help</code></a>
          558     [<var class="Ar">command</var>]</dt>
          559   <dd>Print an informative message about the meaning of
          560       <var class="Ar">command</var>. If no argument is given,
          561       <code class="Nm">ftp</code> prints a list of the known commands.</dd>
          562   <dt id="idle"><a class="permalink" href="#idle"><code class="Ic">idle</code></a>
          563     [<var class="Ar">seconds</var>]</dt>
          564   <dd>Set the inactivity timer on the remote server to
          565       <var class="Ar">seconds</var> seconds. If <var class="Ar">seconds</var> is
          566       omitted, the current inactivity timer is printed.</dd>
          567   <dt id="lcd"><a class="permalink" href="#lcd"><code class="Ic">lcd</code></a>
          568     [<var class="Ar">local-directory</var>]</dt>
          569   <dd>Change the working directory on the local machine. If no
          570       <var class="Ar">local-directory</var> is specified, the user's home
          571       directory is used.</dd>
          572   <dt id="less"><a class="permalink" href="#less"><code class="Ic">less</code></a>
          573     <var class="Ar">file</var></dt>
          574   <dd>A synonym for <code class="Ic">page</code>.</dd>
          575   <dt id="lpwd"><a class="permalink" href="#lpwd"><code class="Ic">lpwd</code></a></dt>
          576   <dd>Print the working directory on the local machine.</dd>
          577   <dt id="ls"><a class="permalink" href="#ls"><code class="Ic">ls</code></a>
          578     [<var class="Ar">remote-directory</var>
          579     [<var class="Ar">local-file</var>]]</dt>
          580   <dd>Print a listing of the contents of a directory on the remote machine. The
          581       listing includes any system-dependent information that the server chooses
          582       to include; for example, most <span class="Ux">UNIX</span> systems will
          583       produce output from the command &#x2018;<code class="Li">ls
          584       -l</code>&#x2019;. If <var class="Ar">remote-directory</var> is left
          585       unspecified, the current working directory is used. If interactive
          586       prompting is on, <code class="Nm">ftp</code> will prompt the user to
          587       verify that the last argument is indeed the target local file for
          588       receiving <code class="Ic">ls</code> output. If no local file is
          589       specified, or if <var class="Ar">local-file</var> is &#x2018;-&#x2019;,
          590       the output is sent to the terminal.</dd>
          591   <dt id="macdef"><a class="permalink" href="#macdef"><code class="Ic">macdef</code></a>
          592     <var class="Ar">macro-name</var></dt>
          593   <dd>Define a macro. Subsequent lines are stored as the macro
          594       <var class="Ar">macro-name</var>; a null line (consecutive newline
          595       characters in a file or carriage returns from the terminal) terminates
          596       macro input mode. There is a limit of 16 macros and 4096 total characters
          597       in all defined macros. Macro names can be a maximum of 8 characters.
          598       Macros are only applicable to the current session they are defined in (or
          599       if defined outside a session, to the session invoked with the next
          600       <code class="Ic">open</code> command), and remain defined until a
          601       <code class="Ic">close</code> command is executed. To invoke a macro, use
          602       the <code class="Ic">$</code> command (see above).
          603     <p class="Pp">The macro processor interprets
          604         &#x2018;<code class="Li">$</code>&#x2019; and
          605         &#x2018;<code class="Li">\</code>&#x2019; as special characters. A
          606         &#x2018;<code class="Li">$</code>&#x2019; followed by a number (or
          607         numbers) is replaced by the corresponding argument on the macro
          608         invocation command line. A &#x2018;<code class="Li">$</code>&#x2019;
          609         followed by an &#x2018;i&#x2019; tells the macro processor that the
          610         executing macro is to be looped. On the first pass
          611         &#x2018;<code class="Li">$i</code>&#x2019; is replaced by the first
          612         argument on the macro invocation command line, on the second pass it is
          613         replaced by the second argument, and so on. A
          614         &#x2018;<code class="Li">\</code>&#x2019; followed by any character is
          615         replaced by that character. Use the
          616         &#x2018;<code class="Li">\</code>&#x2019; to prevent special treatment
          617         of the &#x2018;<code class="Li">$</code>&#x2019;.</p>
          618   </dd>
          619   <dt id="mdelete"><a class="permalink" href="#mdelete"><code class="Ic">mdelete</code></a>
          620     [<var class="Ar">remote-files</var>]</dt>
          621   <dd>Delete the <var class="Ar">remote-files</var> on the remote machine.</dd>
          622   <dt id="mdir"><a class="permalink" href="#mdir"><code class="Ic">mdir</code></a>
          623     <var class="Ar">remote-files local-file</var></dt>
          624   <dd>A synonym for <code class="Ic">mls</code>.</dd>
          625   <dt id="mget"><a class="permalink" href="#mget"><code class="Ic">mget</code></a>
          626     [<code class="Fl">-cnr</code>] [<code class="Fl">-d</code>
          627     <var class="Ar">depth</var>] <var class="Ar">remote-files</var></dt>
          628   <dd>Expand the <var class="Ar">remote-files</var> on the remote machine and do
          629       a <code class="Ic">get</code> for each file name thus produced. See
          630       <code class="Ic">glob</code> for details on the filename expansion.
          631       Resulting file names will then be processed according to
          632       <code class="Ic">case</code>, <code class="Ic">ntrans</code>, and
          633       <code class="Ic">nmap</code> settings. Files are transferred into the
          634       local working directory, which can be changed with
          635       &#x2018;<code class="Li">lcd directory</code>&#x2019;; new local
          636       directories can be created with &#x2018;<code class="Li">! mkdir
          637       directory</code>&#x2019;.
          638     <p class="Pp">The options are as follows:</p>
          639     <dl class="Bl-tag">
          640       <dt id="c~2"><a class="permalink" href="#c~2"><code class="Fl">-c</code></a></dt>
          641       <dd>Use <code class="Ic">reget</code> instead of
          642           <code class="Ic">get</code>.</dd>
          643       <dt id="d~2"><a class="permalink" href="#d~2"><code class="Fl">-d</code></a>
          644         <var class="Ar">depth</var></dt>
          645       <dd>Specify the maximum recursion level <var class="Ar">depth</var>. The
          646           default is 0, which means unlimited.</dd>
          647       <dt id="n~2"><a class="permalink" href="#n~2"><code class="Fl">-n</code></a></dt>
          648       <dd>Use <code class="Ic">newer</code> instead of
          649           <code class="Ic">get</code>.</dd>
          650       <dt id="r~2"><a class="permalink" href="#r~2"><code class="Fl">-r</code></a></dt>
          651       <dd>Recursively descend the directory tree, transferring all files and
          652           directories.</dd>
          653     </dl>
          654   </dd>
          655   <dt id="mkdir"><a class="permalink" href="#mkdir"><code class="Ic">mkdir</code></a>
          656     <var class="Ar">directory-name</var></dt>
          657   <dd>Make a directory on the remote machine.</dd>
          658   <dt id="mls"><a class="permalink" href="#mls"><code class="Ic">mls</code></a>
          659     <var class="Ar">remote-files local-file</var></dt>
          660   <dd>Like <code class="Ic">ls</code>, except multiple remote files may be
          661       specified, and the <var class="Ar">local-file</var> must be specified. If
          662       interactive prompting is on, <code class="Nm">ftp</code> will prompt the
          663       user to verify that the last argument is indeed the target local file for
          664       receiving <code class="Ic">mls</code> output.</dd>
          665   <dt id="mode"><a class="permalink" href="#mode"><code class="Ic">mode</code></a>
          666     [<var class="Ar">mode-name</var>]</dt>
          667   <dd>Set the file transfer <code class="Ic">mode</code> to
          668       <var class="Ar">mode-name</var>. The default mode is
          669       &#x201C;stream&#x201D; mode.</dd>
          670   <dt id="modtime"><a class="permalink" href="#modtime"><code class="Ic">modtime</code></a>
          671     <var class="Ar">file</var></dt>
          672   <dd>Show the last modification time of <var class="Ar">file</var> on the
          673       remote machine.</dd>
          674   <dt id="more"><a class="permalink" href="#more"><code class="Ic">more</code></a>
          675     <var class="Ar">file</var></dt>
          676   <dd>A synonym for <code class="Ic">page</code>.</dd>
          677   <dt id="mput"><a class="permalink" href="#mput"><code class="Ic">mput</code></a>
          678     [<code class="Fl">-cr</code>] [<code class="Fl">-d</code>
          679     <var class="Ar">depth</var>] <var class="Ar">local-files</var></dt>
          680   <dd>Expand wild cards in the list of local files given as arguments and do a
          681       <code class="Ic">put</code> for each file in the resulting list. See
          682       <code class="Ic">glob</code> for details of filename expansion. Resulting
          683       file names will then be processed according to
          684       <code class="Ic">ntrans</code> and <code class="Ic">nmap</code> settings.
          685     <p class="Pp">The options are as follows:</p>
          686     <dl class="Bl-tag">
          687       <dt id="c~3"><a class="permalink" href="#c~3"><code class="Fl">-c</code></a></dt>
          688       <dd>Use <code class="Ic">reput</code> instead of
          689           <code class="Ic">put</code>.</dd>
          690       <dt id="d~3"><a class="permalink" href="#d~3"><code class="Fl">-d</code></a>
          691         <var class="Ar">depth</var></dt>
          692       <dd>Specify the maximum recursion level <var class="Ar">depth</var>. The
          693           default is 0, which means unlimited.</dd>
          694       <dt id="r~3"><a class="permalink" href="#r~3"><code class="Fl">-r</code></a></dt>
          695       <dd>Recursively descend the directory tree, transferring all files and
          696           directories.</dd>
          697     </dl>
          698   </dd>
          699   <dt id="msend"><a class="permalink" href="#msend"><code class="Ic">msend</code></a>
          700     [<code class="Fl">-c</code>] <var class="Ar">local-files</var></dt>
          701   <dd>A synonym for <code class="Ic">mput</code>.</dd>
          702   <dt id="newer"><a class="permalink" href="#newer"><code class="Ic">newer</code></a>
          703     <var class="Ar">remote-file</var> [<var class="Ar">local-file</var>]</dt>
          704   <dd>Get the file only if the modification time of the remote file is more
          705       recent than the file on the current system. If the file does not exist on
          706       the current system, the remote file is considered
          707       <code class="Ic">newer</code>. Otherwise, this command is identical to
          708       <var class="Ar">get</var>.</dd>
          709   <dt id="nlist"><a class="permalink" href="#nlist"><code class="Ic">nlist</code></a>
          710     [<var class="Ar">remote-directory</var>
          711     [<var class="Ar">local-file</var>]]</dt>
          712   <dd>Print a list of the files in a directory on the remote machine. If
          713       <var class="Ar">remote-directory</var> is left unspecified, the current
          714       working directory is used. If interactive prompting is on,
          715       <code class="Nm">ftp</code> will prompt the user to verify that the last
          716       argument is indeed the target local file for receiving
          717       <code class="Ic">nlist</code> output. If no local file is specified, or if
          718       <var class="Ar">local-file</var> is &#x2018;-&#x2019;, the output is sent
          719       to the terminal. Note that on some servers, the
          720       <code class="Ic">nlist</code> command will only return information on
          721       normal files (not directories or special files).</dd>
          722   <dt id="nmap"><a class="permalink" href="#nmap"><code class="Ic">nmap</code></a>
          723     [<var class="Ar">inpattern outpattern</var>]</dt>
          724   <dd>Set or unset the filename mapping mechanism. If no arguments are
          725       specified, the filename mapping mechanism is unset. If arguments are
          726       specified, remote filenames are mapped during <code class="Ic">mput</code>
          727       commands and <code class="Ic">put</code> commands issued without a
          728       specified remote target filename. If arguments are specified, local
          729       filenames are mapped during <code class="Ic">mget</code> commands and
          730       <code class="Ic">get</code> commands issued without a specified local
          731       target filename. This command is useful when connecting to a non-UNIX
          732       remote computer with different file naming conventions or practices.
          733     <p class="Pp">The mapping follows the pattern set by
          734         <var class="Ar">inpattern</var> and <var class="Ar">outpattern</var>.
          735         <var class="Ar">inpattern</var> is a template for incoming filenames
          736         (which may have already been processed according to the
          737         <code class="Ic">ntrans</code> and <code class="Ic">case</code>
          738         settings). Variable templating is accomplished by including the
          739         sequences &#x2018;<code class="Li">$1</code>&#x2019;,
          740         &#x2018;<code class="Li">$2</code>&#x2019;, ...,
          741         &#x2018;<code class="Li">$9</code>&#x2019; in
          742         <var class="Ar">inpattern</var>. Use
          743         &#x2018;<code class="Li">\</code>&#x2019; to prevent this special
          744         treatment of the &#x2018;<code class="Li">$</code>&#x2019; character.
          745         All other characters are treated literally, and are used to determine
          746         the <code class="Ic">nmap</code> <var class="Ar">inpattern</var>
          747         variable values.</p>
          748     <p class="Pp">For example, given <var class="Ar">inpattern</var> $1.$2 and
          749         the remote file name &quot;mydata.data&quot;, $1 would have the value
          750         &quot;mydata&quot;, and $2 would have the value &quot;data&quot;. The
          751         <var class="Ar">outpattern</var> determines the resulting mapped
          752         filename. The sequences &#x2018;<code class="Li">$1</code>&#x2019;,
          753         &#x2018;<code class="Li">$2</code>&#x2019;, ...,
          754         &#x2018;<code class="Li">$9</code>&#x2019; are replaced by any value
          755         resulting from the <var class="Ar">inpattern</var> template. The
          756         sequence &#x2018;<code class="Li">$0</code>&#x2019; is replaced by the
          757         original filename. Additionally, the sequence
          758         &#x2018;[<var class="Ar">seq1</var>, <var class="Ar">seq2</var>]&#x2019;
          759         is replaced by <var class="Ar">seq1</var> if <var class="Ar">seq1</var>
          760         is not a null string; otherwise it is replaced by
          761         <var class="Ar">seq2</var>. For example:</p>
          762     <p class="Pp"></p>
          763     <div class="Bd Bd-indent"><code class="Li">nmap $1.$2.$3
          764       [$1,$2].[$2,file]</code></div>
          765     <p class="Pp">This command would yield the output filename
          766         <span class="Pa">myfile.data</span> for input filenames
          767         <span class="Pa">myfile.data</span> and
          768         <span class="Pa">myfile.data.old</span>;
          769         <span class="Pa">myfile.file</span> for the input filename
          770         <span class="Pa">myfile</span>; and
          771         <span class="Pa">myfile.myfile</span> for the input filename
          772         <span class="Pa">.myfile</span>. Spaces may be included in
          773         <var class="Ar">outpattern</var> by quoting them, as in the following
          774         example:</p>
          775     <div class="Bd Pp Bd-indent Li">
          776     <pre>nmap $1.$2 &quot;$1 $2&quot;</pre>
          777     </div>
          778     <p class="Pp">Use the &#x2018;<code class="Li">\</code>&#x2019; character to
          779         prevent special treatment of the
          780         &#x2018;<code class="Li">$</code>&#x2019;,
          781         &#x2018;<code class="Li">[</code>&#x2019;,
          782         &#x2018;<code class="Li">]</code>&#x2019;, and
          783         &#x2018;<code class="Li">,</code>&#x2019; characters.</p>
          784   </dd>
          785   <dt id="ntrans"><a class="permalink" href="#ntrans"><code class="Ic">ntrans</code></a>
          786     [<var class="Ar">inchars</var> [<var class="Ar">outchars</var>]]</dt>
          787   <dd>Set or unset the filename character translation mechanism. If no arguments
          788       are specified, the filename character translation mechanism is unset. If
          789       arguments are specified, characters in remote filenames are translated
          790       during <code class="Ic">mput</code> commands and
          791       <code class="Ic">put</code> commands issued without a specified remote
          792       target filename. If arguments are specified, characters in local filenames
          793       are translated during <code class="Ic">mget</code> commands and
          794       <code class="Ic">get</code> commands issued without a specified local
          795       target filename. This command is useful when connecting to a non-UNIX
          796       remote computer with different file naming conventions or practices.
          797       Characters in a filename matching a character in
          798       <var class="Ar">inchars</var> are replaced with the corresponding
          799       character in <var class="Ar">outchars</var>. If the character's position
          800       in <var class="Ar">inchars</var> is longer than the length of
          801       <var class="Ar">outchars</var>, the character is deleted from the file
          802       name.</dd>
          803   <dt id="open"><a class="permalink" href="#open"><code class="Ic">open</code></a>
          804     <var class="Ar">host</var> [<var class="Ar">port</var>]</dt>
          805   <dd>Establish a connection to the specified <var class="Ar">host</var> FTP
          806       server. An optional port number may be supplied, in which case
          807       <code class="Nm">ftp</code> will attempt to contact an FTP server at that
          808       port. If the <code class="Ic">auto-login</code> option is on (default),
          809       <code class="Nm">ftp</code> will also attempt to automatically log the
          810       user in to the FTP server (see below).</dd>
          811   <dt id="page"><a class="permalink" href="#page"><code class="Ic">page</code></a>
          812     <var class="Ar">file</var></dt>
          813   <dd>Retrieve <code class="Ic">file</code> and display with the program defined
          814       in <code class="Ev">PAGER</code> (defaulting to
          815       <a class="Xr" href="/more.1" aria-label="more, section 1">more(1)</a> if
          816       <code class="Ev">PAGER</code> is null or not defined).</dd>
          817   <dt id="passive"><a class="permalink" href="#passive"><code class="Ic">passive</code></a>
          818     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          819   <dd>Toggle passive mode. If passive mode is turned on (default is on),
          820       <code class="Nm">ftp</code> will send a <code class="Dv">EPSV</code>
          821       command for all data connections instead of the usual
          822       <code class="Dv">PORT</code> command. The <code class="Dv">PASV</code>
          823       command requests that the remote server open a port for the data
          824       connection and return the address of that port. The remote server listens
          825       on that port and the client connects to it. When using the more
          826       traditional <code class="Dv">PORT</code> command, the client listens on a
          827       port and sends that address to the remote server, who connects back to it.
          828       Passive mode is useful when using <code class="Nm">ftp</code> through a
          829       gateway router or host that controls the directionality of traffic. (Note
          830       that though FTP servers are required to support the
          831       <code class="Dv">PASV</code> command by RFC 1123, some do not.)</dd>
          832   <dt id="preserve"><a class="permalink" href="#preserve"><code class="Ic">preserve</code></a>
          833     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          834   <dd>Toggle preservation of modification times on retrieved files.</dd>
          835   <dt id="progress"><a class="permalink" href="#progress"><code class="Ic">progress</code></a>
          836     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          837   <dd>Toggle display of transfer progress bar. The progress bar will be disabled
          838       for a transfer that has <var class="Ar">local-file</var> as
          839       &#x2018;-&#x2019; or a command that starts with &#x2018;|&#x2019;. Refer
          840       to <a class="Sx" href="#FILE_NAMING_CONVENTIONS">FILE NAMING
          841       CONVENTIONS</a> for more information.</dd>
          842   <dt id="prompt"><a class="permalink" href="#prompt"><code class="Ic">prompt</code></a>
          843     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          844   <dd>Toggle interactive prompting. Interactive prompting occurs during multiple
          845       file transfers to allow the user to selectively retrieve or store files.
          846       If prompting is turned off (default is on), any
          847       <code class="Ic">mget</code> or <code class="Ic">mput</code> will transfer
          848       all files, and any <code class="Ic">mdelete</code> will delete all files.
          849     <p class="Pp">When prompting is on, the following commands are available at
          850         a prompt:</p>
          851     <div class="Bd-indent">
          852     <dl class="Bl-tag">
          853       <dt><code class="Ic">?</code></dt>
          854       <dd>Print help message.</dd>
          855       <dt id="a~2"><a class="permalink" href="#a~2"><code class="Ic">a</code></a></dt>
          856       <dd>Answer &#x201C;yes&#x201D; to the current file and automatically
          857           answer &#x201C;yes&#x201D; to any remaining files for the current
          858           command.</dd>
          859       <dt id="n~3"><a class="permalink" href="#n~3"><code class="Ic">n</code></a></dt>
          860       <dd>Do not transfer the file.</dd>
          861       <dt id="p~2"><a class="permalink" href="#p~2"><code class="Ic">p</code></a></dt>
          862       <dd>Answer &#x201C;yes&#x201D; to the current file and turn off prompt
          863           mode (as if &#x201C;prompt off&#x201D; had been given).</dd>
          864       <dt id="q"><a class="permalink" href="#q"><code class="Ic">q</code></a></dt>
          865       <dd>Answer &#x201C;no&#x201D; to the current file and automatically answer
          866           &#x201C;no&#x201D; to any remaining files for the current
          867         command.</dd>
          868       <dt id="y"><a class="permalink" href="#y"><code class="Ic">y</code></a></dt>
          869       <dd>Transfer the file.</dd>
          870     </dl>
          871     </div>
          872   </dd>
          873   <dt id="proxy"><a class="permalink" href="#proxy"><code class="Ic">proxy</code></a>
          874     <var class="Ar">command</var></dt>
          875   <dd>Execute an FTP command on a secondary control connection. This command
          876       allows simultaneous connection to two remote FTP servers for transferring
          877       files between the two servers. The first <code class="Ic">proxy</code>
          878       command should be an <code class="Ic">open</code>, to establish the
          879       secondary control connection. Enter the command <code class="Ic">proxy
          880       ?</code> to see other FTP commands executable on the secondary connection.
          881       The following commands behave differently when prefaced by
          882       <code class="Ic">proxy</code>: <code class="Ic">open</code> will not
          883       define new macros during the auto-login process;
          884       <code class="Ic">close</code> will not erase existing macro definitions;
          885       <code class="Ic">get</code> and <code class="Ic">mget</code> transfer
          886       files from the host on the primary control connection to the host on the
          887       secondary control connection; and <code class="Ic">put</code>,
          888       <code class="Ic">mput</code>, and <code class="Ic">append</code> transfer
          889       files from the host on the secondary control connection to the host on the
          890       primary control connection. Third party file transfers depend upon support
          891       of the FTP protocol <code class="Dv">PASV</code> command by the server on
          892       the secondary control connection.</dd>
          893   <dt id="put"><a class="permalink" href="#put"><code class="Ic">put</code></a>
          894     <var class="Ar">local-file</var> [<var class="Ar">remote-file</var>]</dt>
          895   <dd>Store a local file on the remote machine. If
          896       <var class="Ar">remote-file</var> is left unspecified, the local file name
          897       is used after processing according to any <code class="Ic">ntrans</code>
          898       or <code class="Ic">nmap</code> settings in naming the remote file. File
          899       transfer uses the current settings for <code class="Ic">type</code>,
          900       <code class="Ic">format</code>, <code class="Ic">mode</code>, and
          901       <code class="Ic">structure</code>.</dd>
          902   <dt id="pwd"><a class="permalink" href="#pwd"><code class="Ic">pwd</code></a></dt>
          903   <dd>Print the name of the current working directory on the remote
          904     machine.</dd>
          905   <dt id="quit"><a class="permalink" href="#quit"><code class="Ic">quit</code></a></dt>
          906   <dd>A synonym for <code class="Ic">bye</code>.</dd>
          907   <dt id="quote"><a class="permalink" href="#quote"><code class="Ic">quote</code></a>
          908     <var class="Ar">arg ...</var></dt>
          909   <dd>The arguments specified are sent, verbatim, to the remote FTP server.</dd>
          910   <dt id="recv"><a class="permalink" href="#recv"><code class="Ic">recv</code></a>
          911     <var class="Ar">remote-file</var> [<var class="Ar">local-file</var>]</dt>
          912   <dd>A synonym for <code class="Ic">get</code>.</dd>
          913   <dt id="reget"><a class="permalink" href="#reget"><code class="Ic">reget</code></a>
          914     <var class="Ar">remote-file</var> [<var class="Ar">local-file</var>]</dt>
          915   <dd>Reget acts like get, except that if <var class="Ar">local-file</var>
          916       exists and is smaller than <var class="Ar">remote-file</var>,
          917       <var class="Ar">local-file</var> is presumed to be a partially transferred
          918       copy of <var class="Ar">remote-file</var> and the transfer is continued
          919       from the apparent point of failure. This command is useful when
          920       transferring very large files over networks that are prone to dropping
          921       connections.</dd>
          922   <dt id="rename"><a class="permalink" href="#rename"><code class="Ic">rename</code></a>
          923     <var class="Ar">from-name to-name</var></dt>
          924   <dd>Rename the file <var class="Ar">from-name</var> on the remote machine to
          925       the file <var class="Ar">to-name</var>.</dd>
          926   <dt id="reput"><a class="permalink" href="#reput"><code class="Ic">reput</code></a>
          927     <var class="Ar">local-file</var> [<var class="Ar">remote-file</var>]</dt>
          928   <dd>Reput acts like put, except that if <var class="Ar">remote-file</var>
          929       exists and is smaller than <var class="Ar">local-file</var>,
          930       <var class="Ar">remote-file</var> is presumed to be a partially
          931       transferred copy of <var class="Ar">local-file</var> and the transfer is
          932       continued from the apparent point of failure. This command is useful when
          933       transferring very large files over networks that are prone to dropping
          934       connections.</dd>
          935   <dt id="reset"><a class="permalink" href="#reset"><code class="Ic">reset</code></a></dt>
          936   <dd>Clear reply queue. This command re-synchronizes command/reply sequencing
          937       with the remote FTP server. Resynchronization may be necessary following a
          938       violation of the FTP protocol by the remote server.</dd>
          939   <dt id="restart"><a class="permalink" href="#restart"><code class="Ic">restart</code></a>
          940     <var class="Ar">marker</var></dt>
          941   <dd>Restart the immediately following <code class="Ic">get</code> or
          942       <code class="Ic">put</code> at the indicated <var class="Ar">marker</var>.
          943       On <span class="Ux">UNIX</span> systems, <var class="Ar">marker</var> is
          944       usually a byte offset into the file.</dd>
          945   <dt id="rhelp"><a class="permalink" href="#rhelp"><code class="Ic">rhelp</code></a>
          946     [<var class="Ar">command-name</var>]</dt>
          947   <dd>Request help from the remote FTP server. If a
          948       <var class="Ar">command-name</var> is specified, it is supplied to the
          949       server as well.</dd>
          950   <dt id="rmdir"><a class="permalink" href="#rmdir"><code class="Ic">rmdir</code></a>
          951     <var class="Ar">directory-name</var></dt>
          952   <dd>Delete a directory on the remote machine.</dd>
          953   <dt id="rstatus"><a class="permalink" href="#rstatus"><code class="Ic">rstatus</code></a>
          954     [<var class="Ar">file</var>]</dt>
          955   <dd>With no arguments, show status of remote machine. If
          956       <var class="Ar">file</var> is specified, show status of
          957       <var class="Ar">file</var> on remote machine.</dd>
          958   <dt id="runique"><a class="permalink" href="#runique"><code class="Ic">runique</code></a>
          959     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          960   <dd>Toggle storing of files on the local system with unique filenames. If a
          961       file already exists with a name equal to the target local filename for a
          962       <code class="Ic">get</code> or <code class="Ic">mget</code> command, a
          963       &#x201C;.1&#x201D; is appended to the name. If the resulting name matches
          964       another existing file, a &#x201C;.2&#x201D; is appended to the original
          965       name. If this process continues up to &#x201C;.99&#x201D;, an error
          966       message is printed, and the transfer does not take place. The generated
          967       unique filename will be reported. Note that
          968       <code class="Ic">runique</code> will not affect local files generated from
          969       a shell command (see below). The default value is off.</dd>
          970   <dt id="send"><a class="permalink" href="#send"><code class="Ic">send</code></a>
          971     <var class="Ar">local-file</var> [<var class="Ar">remote-file</var>]</dt>
          972   <dd>A synonym for <code class="Ic">put</code>.</dd>
          973   <dt id="sendport"><a class="permalink" href="#sendport"><code class="Ic">sendport</code></a>
          974     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          975   <dd>Toggle the use of <code class="Dv">PORT</code> commands. By default,
          976       <code class="Nm">ftp</code> will attempt to use a
          977       <code class="Dv">PORT</code> command when establishing a connection for
          978       each data transfer. The use of <code class="Dv">PORT</code> commands can
          979       prevent delays when performing multiple file transfers. If the
          980       <code class="Dv">PORT</code> command fails, <code class="Nm">ftp</code>
          981       will use the default data port. When the use of
          982       <code class="Dv">PORT</code> commands is disabled, no attempt will be made
          983       to use <code class="Dv">PORT</code> commands for each data transfer. This
          984       is useful for certain FTP implementations which do ignore
          985       <code class="Dv">PORT</code> commands but, incorrectly, indicate they've
          986       been accepted.</dd>
          987   <dt id="site"><a class="permalink" href="#site"><code class="Ic">site</code></a>
          988     <var class="Ar">arg ...</var></dt>
          989   <dd>The arguments specified are sent, verbatim, to the remote FTP server as a
          990       <code class="Dv">SITE</code> command.</dd>
          991   <dt id="size"><a class="permalink" href="#size"><code class="Ic">size</code></a>
          992     <var class="Ar">file</var></dt>
          993   <dd>Return size of <var class="Ar">file</var> on remote machine.</dd>
          994   <dt id="status"><a class="permalink" href="#status"><code class="Ic">status</code></a></dt>
          995   <dd>Show the current status of <code class="Nm">ftp</code>.</dd>
          996   <dt id="sunique"><a class="permalink" href="#sunique"><code class="Ic">sunique</code></a>
          997     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
          998   <dd>Toggle storing of files on remote machine under unique file names. The
          999       remote FTP server must support the FTP protocol
         1000       <code class="Dv">STOU</code> command for successful completion. The remote
         1001       server will report the unique name. Default value is off.</dd>
         1002   <dt id="system"><a class="permalink" href="#system"><code class="Ic">system</code></a></dt>
         1003   <dd>Show the type of operating system running on the remote machine.</dd>
         1004   <dt id="trace"><a class="permalink" href="#trace"><code class="Ic">trace</code></a>
         1005     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
         1006   <dd>Toggle packet tracing.</dd>
         1007   <dt id="type"><a class="permalink" href="#type"><code class="Ic">type</code></a>
         1008     [<var class="Ar">type-name</var>]</dt>
         1009   <dd>Set the file transfer <code class="Ic">type</code> to
         1010       <var class="Ar">type-name</var>. If no type is specified, the current type
         1011       is printed. The default type is &#x201C;binary&#x201D;.</dd>
         1012   <dt id="umask"><a class="permalink" href="#umask"><code class="Ic">umask</code></a>
         1013     [<var class="Ar">newmask</var>]</dt>
         1014   <dd>Set the default umask on the remote server to
         1015       <var class="Ar">newmask</var>. If <var class="Ar">newmask</var> is
         1016       omitted, the current umask is printed.</dd>
         1017   <dt id="user"><a class="permalink" href="#user"><code class="Ic">user</code></a>
         1018     <var class="Ar">username</var> [<var class="Ar">password</var>
         1019     [<var class="Ar">account</var>]]</dt>
         1020   <dd>Identify yourself to the remote FTP server. If the
         1021       <var class="Ar">password</var> is not specified and the server requires
         1022       it, <code class="Nm">ftp</code> will prompt the user for it (after
         1023       disabling local echo). If an <var class="Ar">account</var> field is not
         1024       specified, and the FTP server requires it, the user will be prompted for
         1025       it. If an <var class="Ar">account</var> field is specified, an account
         1026       command will be relayed to the remote server after the login sequence is
         1027       completed if the remote server did not require it for logging in. Unless
         1028       <code class="Nm">ftp</code> is invoked with &#x201C;auto-login&#x201D;
         1029       disabled, this process is done automatically on initial connection to the
         1030       FTP server.</dd>
         1031   <dt id="verbose"><a class="permalink" href="#verbose"><code class="Ic">verbose</code></a>
         1032     [<code class="Ic">on</code> | <code class="Ic">off</code>]</dt>
         1033   <dd>Toggle verbose mode. In verbose mode, all responses from the FTP server
         1034       are displayed to the user. In addition, if verbose is on, when a file
         1035       transfer completes, statistics regarding the efficiency of the transfer
         1036       are reported. By default, verbose is on.</dd>
         1037 </dl>
         1038 <p class="Pp">Command arguments which have embedded spaces may be quoted with
         1039     quote (&#x2018;<code class="Li">&quot;</code>&#x2019;) marks.</p>
         1040 <p class="Pp">Commands which toggle settings can take an explicit
         1041     <code class="Ic">on</code> or <code class="Ic">off</code> argument to force
         1042     the setting appropriately.</p>
         1043 <p class="Pp">If <code class="Nm">ftp</code> receives a
         1044     <code class="Dv">SIGINFO</code> (see the &#x201C;status&#x201D; argument of
         1045     <a class="Xr" href="/stty.1" aria-label="stty, section 1">stty(1)</a>)
         1046     signal whilst a transfer is in progress, the current transfer rate
         1047     statistics will be written to the standard error output, in the same format
         1048     as the standard completion message.</p>
         1049 </section>
         1050 <section class="Sh">
         1051 <h2 class="Sh" id="AUTO-FETCHING_FILES"><a class="permalink" href="#AUTO-FETCHING_FILES">AUTO-FETCHING
         1052   FILES</a></h2>
         1053 <p class="Pp">In addition to standard commands, this version of
         1054     <code class="Nm">ftp</code> supports an auto-fetch feature. To enable
         1055     auto-fetch, simply pass the list of hostnames/files on the command line.</p>
         1056 <p class="Pp">The following formats are valid syntax for an auto-fetch
         1057   element:</p>
         1058 <dl class="Bl-tag">
         1059   <dt><var class="Ar">host</var>:/<var class="Ar">file</var>[/]</dt>
         1060   <dd>&#x201C;Classic&#x201D; <code class="Nm">ftp</code> format.</dd>
         1061   <dt>ftp://[<var class="Ar">user</var>:<var class="Ar">password</var><span class="No">@</span>]<var class="Ar">host</var>[:<var class="Ar">port</var>]<span class="No">/</span><var class="Ar">file</var>[/]</dt>
         1062   <dd> An FTP URL, retrieved using the FTP protocol if
         1063       <code class="Ev">ftp_proxy</code> isn't defined. Otherwise, transfer using
         1064       HTTP via the proxy defined in <code class="Ev">ftp_proxy</code>. If a
         1065       <var class="Ar">user</var> and <var class="Ar">password</var> are given
         1066       and <code class="Ev">ftp_proxy</code> isn't defined, log in as
         1067       <var class="Ar">user</var> with a password of
         1068       <var class="Ar">password</var>.</dd>
         1069   <dt>http://[<var class="Ar">user</var>:<var class="Ar">password</var><span class="No">@</span>]<var class="Ar">host</var>[:<var class="Ar">port</var>]<span class="No">/</span><var class="Ar">file</var></dt>
         1070   <dd> An HTTP URL, retrieved using the HTTP protocol. If
         1071       <code class="Ev">http_proxy</code> is defined, it is used as a URL to an
         1072       HTTP proxy server. If a <var class="Ar">user</var> and
         1073       <var class="Ar">password</var> are given and
         1074       <code class="Ev">http_proxy</code> isn't defined, log in as
         1075       <var class="Ar">user</var> with a password of
         1076       <var class="Ar">password</var> using Basic authentication.</dd>
         1077   <dt>https://[<var class="Ar">user</var>:<var class="Ar">password</var><span class="No">@</span>]<var class="Ar">host</var>[:<var class="Ar">port</var>]<span class="No">/</span><var class="Ar">file</var></dt>
         1078   <dd> An HTTPS URL, retrieved using the HTTPS protocol. If
         1079       <code class="Ev">http_proxy</code> is defined, this HTTPS proxy server
         1080       will be used to fetch the file using the CONNECT method. If a
         1081       <var class="Ar">user</var> and <var class="Ar">password</var> are given
         1082       and <code class="Ev">http_proxy</code> isn't defined, log in as
         1083       <var class="Ar">user</var> with a password of
         1084       <var class="Ar">password</var> using Basic authentication.</dd>
         1085   <dt>file:<var class="Ar">file</var></dt>
         1086   <dd><var class="Ar">file</var> is retrieved from a mounted file system.</dd>
         1087 </dl>
         1088 <p class="Pp">If a classic format or an FTP URL format has a trailing
         1089     &#x2018;/&#x2019;, then <code class="Nm">ftp</code> will connect to the site
         1090     and <code class="Ic">cd</code> to the directory given as the path, and leave
         1091     the user in interactive mode ready for further input.</p>
         1092 <p class="Pp">If <var class="Ar">file</var> contains a glob character and
         1093     globbing is enabled (see <code class="Ic">glob</code>), then the equivalent
         1094     of <code class="Ic">mget</code> <var class="Ar">file</var> is performed.</p>
         1095 <p class="Pp">If no <code class="Fl">-o</code> option is specified, and the
         1096     directory component of <var class="Ar">file</var> contains no globbing
         1097     characters, then it is stored in the current directory as the
         1098     <a class="Xr" href="/basename.1" aria-label="basename, section
         1099     1">basename(1)</a> of <var class="Ar">file</var>. If
         1100     <code class="Fl">-o</code> <var class="Ar">output</var> is specified, then
         1101     <var class="Ar">file</var> is stored as <var class="Ar">output</var>.
         1102     Otherwise, the remote name is used as the local name.</p>
         1103 </section>
         1104 <section class="Sh">
         1105 <h2 class="Sh" id="ABORTING_A_FILE_TRANSFER"><a class="permalink" href="#ABORTING_A_FILE_TRANSFER">ABORTING
         1106   A FILE TRANSFER</a></h2>
         1107 <p class="Pp">To abort a file transfer, use the terminal interrupt key (usually
         1108     Ctrl-C). Sending transfers will be immediately halted. Receiving transfers
         1109     will be halted by sending an FTP protocol <code class="Dv">ABOR</code>
         1110     command to the remote server, and discarding any further data received. The
         1111     speed at which this is accomplished depends upon the remote server's support
         1112     for <code class="Dv">ABOR</code> processing. If the remote server does not
         1113     support the <code class="Dv">ABOR</code> command, an
         1114     &#x2018;<code class="Li">ftp&gt;</code>&#x2019; prompt will not appear until
         1115     the remote server has completed sending the requested file.</p>
         1116 <p class="Pp">The terminal interrupt key sequence will be ignored when
         1117     <code class="Nm">ftp</code> has completed any local processing and is
         1118     awaiting a reply from the remote server. A long delay in this mode may
         1119     result from the ABOR processing described above, or from unexpected behavior
         1120     by the remote server, including violations of the FTP protocol. If the delay
         1121     results from unexpected remote server behavior, the local
         1122     <code class="Nm">ftp</code> program must be killed by hand.</p>
         1123 </section>
         1124 <section class="Sh">
         1125 <h2 class="Sh" id="FILE_NAMING_CONVENTIONS"><a class="permalink" href="#FILE_NAMING_CONVENTIONS">FILE
         1126   NAMING CONVENTIONS</a></h2>
         1127 <p class="Pp">Files specified as arguments to <code class="Nm">ftp</code>
         1128     commands are processed according to the following rules.</p>
         1129 <ol class="Bl-enum">
         1130   <li>If &#x2018;-&#x2019; is specified as a local file name, the standard input
         1131       (for reading) or standard output (for writing) is used.</li>
         1132   <li>If the first character of a local file name is &#x2018;|&#x2019;, the
         1133       remainder of the argument is interpreted as a shell command.
         1134       <code class="Nm">ftp</code> then forks a shell, using
         1135       <a class="Xr" href="/popen.3" aria-label="popen, section 3">popen(3)</a>
         1136       with the argument supplied, and reads (writes) from the standard output
         1137       (standard input). If the shell command includes spaces, the argument must
         1138       be quoted; e.g., &quot;ls -lt&quot;. A particularly useful example of this
         1139       mechanism is: &quot;ls . |more&quot;.</li>
         1140   <li>Failing the above checks, if &#x201C;globbing&#x201D; is enabled, local
         1141       file names are expanded according to the rules used in the
         1142       <a class="Xr" href="/csh.1" aria-label="csh, section 1">csh(1)</a>
         1143       <code class="Ic">glob</code> command. If the <code class="Nm">ftp</code>
         1144       command expects a single local file (e.g., <code class="Ic">put</code>),
         1145       only the first filename generated by the &#x201C;globbing&#x201D;
         1146       operation is used.</li>
         1147   <li>For <code class="Ic">mget</code> commands and <code class="Ic">get</code>
         1148       commands with unspecified local file names, the local filename is the
         1149       remote filename, which may be altered by a <code class="Ic">case</code>,
         1150       <code class="Ic">ntrans</code>, or <code class="Ic">nmap</code> setting.
         1151       The resulting filename may then be altered if
         1152       <code class="Ic">runique</code> is on.</li>
         1153   <li>For <code class="Ic">mput</code> commands and <code class="Ic">put</code>
         1154       commands with unspecified remote file names, the remote filename is the
         1155       local filename, which may be altered by a <code class="Ic">ntrans</code>
         1156       or <code class="Ic">nmap</code> setting. The resulting filename may then
         1157       be altered by the remote server if <code class="Ic">sunique</code> is
         1158     on.</li>
         1159 </ol>
         1160 </section>
         1161 <section class="Sh">
         1162 <h2 class="Sh" id="FILE_TRANSFER_PARAMETERS"><a class="permalink" href="#FILE_TRANSFER_PARAMETERS">FILE
         1163   TRANSFER PARAMETERS</a></h2>
         1164 <p class="Pp">The FTP specification specifies many parameters which may affect a
         1165     file transfer. The <code class="Ic">type</code> may be one of
         1166     &#x201C;ascii&#x201D;, &#x201C;binary&#x201D;, or &#x201C;image&#x201D;.
         1167     <code class="Nm">ftp</code> supports the ASCII and image types of file
         1168     transfer.</p>
         1169 <p class="Pp"><code class="Nm">ftp</code> supports only the default values for
         1170     the remaining file transfer parameters: <code class="Ic">mode</code>,
         1171     <code class="Ic">form</code>, and <code class="Ic">struct</code>.</p>
         1172 </section>
         1173 <section class="Sh">
         1174 <h2 class="Sh" id="THE_.netrc_FILE"><a class="permalink" href="#THE_.netrc_FILE">THE
         1175   .netrc FILE</a></h2>
         1176 <p class="Pp">The <span class="Pa">.netrc</span> file contains login and
         1177     initialization information used by the auto-login process. It resides in the
         1178     user's home directory. The following tokens are recognized; they may be
         1179     separated by spaces, tabs, or new-lines:</p>
         1180 <dl class="Bl-tag">
         1181   <dt id="machine"><a class="permalink" href="#machine"><code class="Ic">machine</code></a>
         1182     <var class="Ar">name</var></dt>
         1183   <dd>Identify a remote machine <var class="Ar">name</var>. The auto-login
         1184       process searches the <span class="Pa">.netrc</span> file for a
         1185       <code class="Ic">machine</code> token that matches the remote machine
         1186       specified on the <code class="Nm">ftp</code> command line or as an
         1187       <code class="Ic">open</code> command argument. Once a match is made, the
         1188       subsequent <span class="Pa">.netrc</span> tokens are processed, stopping
         1189       when the end of file is reached or another <code class="Ic">machine</code>
         1190       or a <code class="Ic">default</code> token is encountered.</dd>
         1191   <dt id="default"><a class="permalink" href="#default"><code class="Ic">default</code></a></dt>
         1192   <dd>This is the same as <code class="Ic">machine</code>
         1193       <var class="Ar">name</var> except that <code class="Ic">default</code>
         1194       matches any name. There can be only one <code class="Ic">default</code>
         1195       token, and it must be after all <code class="Ic">machine</code> tokens.
         1196       This is normally used as:
         1197     <p class="Pp"></p>
         1198     <div class="Bd Bd-indent"><code class="Li">default login anonymous password
         1199       user@site</code></div>
         1200     <p class="Pp">thereby giving the user <var class="Ar">automatic</var>
         1201         anonymous FTP login to machines not specified in
         1202         <span class="Pa">.netrc</span>. This can be overridden by using the
         1203         <code class="Fl">-n</code> flag to disable auto-login.</p>
         1204   </dd>
         1205   <dt id="login"><a class="permalink" href="#login"><code class="Ic">login</code></a>
         1206     <var class="Ar">name</var></dt>
         1207   <dd>Identify a user on the remote machine. If this token is present, the
         1208       auto-login process will initiate a login using the specified
         1209       <var class="Ar">name</var>.</dd>
         1210   <dt id="password"><a class="permalink" href="#password"><code class="Ic">password</code></a>
         1211     <var class="Ar">string</var></dt>
         1212   <dd>Supply a password. If this token is present, the auto-login process will
         1213       supply the specified string if the remote server requires a password as
         1214       part of the login process. Note that if this token is present in the
         1215       <span class="Pa">.netrc</span> file for any user other than
         1216       <var class="Ar">anonymous</var>, <code class="Nm">ftp</code> will abort
         1217       the auto-login process if the <span class="Pa">.netrc</span> is readable
         1218       by anyone besides the user.</dd>
         1219   <dt id="account~2"><a class="permalink" href="#account~2"><code class="Ic">account</code></a>
         1220     <var class="Ar">string</var></dt>
         1221   <dd>Supply an additional account password. If this token is present, the
         1222       auto-login process will supply the specified string if the remote server
         1223       requires an additional account password, or the auto-login process will
         1224       initiate an <code class="Dv">ACCT</code> command if it does not.</dd>
         1225   <dt id="macdef~2"><a class="permalink" href="#macdef~2"><code class="Ic">macdef</code></a>
         1226     <var class="Ar">name</var></dt>
         1227   <dd>Define a macro. This token functions like the <code class="Nm">ftp</code>
         1228       <code class="Ic">macdef</code> command functions. A macro is defined with
         1229       the specified name; its contents begin with the next
         1230       <span class="Pa">.netrc</span> line and continue until a null line
         1231       (consecutive new-line characters) is encountered. Like the other tokens in
         1232       the <span class="Pa">.netrc</span> file, a <code class="Ic">macdef</code>
         1233       is applicable only to the <code class="Ic">machine</code> definition
         1234       preceding it. A <code class="Ic">macdef</code> entry cannot be utilized by
         1235       multiple <code class="Ic">machine</code> definitions; rather, it must be
         1236       defined following each <code class="Ic">machine</code> it is intended to
         1237       be used with. If a macro named <code class="Ic">init</code> is defined, it
         1238       is automatically executed as the last step in the auto-login process.</dd>
         1239 </dl>
         1240 </section>
         1241 <section class="Sh">
         1242 <h2 class="Sh" id="COMMAND_LINE_EDITING"><a class="permalink" href="#COMMAND_LINE_EDITING">COMMAND
         1243   LINE EDITING</a></h2>
         1244 <p class="Pp"><code class="Nm">ftp</code> supports interactive command line
         1245     editing, via the <a class="Xr" href="/editline.3" aria-label="editline,
         1246     section 3">editline(3)</a> library. It is enabled with the
         1247     <code class="Ic">edit</code> command, and is enabled by default if input is
         1248     from a tty. Previous lines can be recalled and edited with the arrow keys,
         1249     and other GNU Emacs-style editing keys may be used as well.</p>
         1250 <p class="Pp">The <a class="Xr" href="/editline.3" aria-label="editline, section
         1251     3">editline(3)</a> library is configured with a
         1252     <span class="Pa">.editrc</span> file - refer to
         1253     <a class="Xr" href="/editrc.5" aria-label="editrc, section 5">editrc(5)</a>
         1254     for more information.</p>
         1255 <p class="Pp">An extra key binding is available to <code class="Nm">ftp</code>
         1256     to provide context sensitive command and filename completion (including
         1257     remote file completion). To use this, bind a key to the
         1258     <a class="Xr" href="/editline.3" aria-label="editline, section
         1259     3">editline(3)</a> command <code class="Ic">ftp-complete</code>. By default,
         1260     this is bound to the TAB key.</p>
         1261 </section>
         1262 <section class="Sh">
         1263 <h2 class="Sh" id="ENVIRONMENT"><a class="permalink" href="#ENVIRONMENT">ENVIRONMENT</a></h2>
         1264 <p class="Pp"><code class="Nm">ftp</code> utilizes the following environment
         1265     variables:</p>
         1266 <dl class="Bl-tag">
         1267   <dt id="FTPMODE"><a class="permalink" href="#FTPMODE"><code class="Ev">FTPMODE</code></a></dt>
         1268   <dd>Overrides the default operation mode. Recognized values are:
         1269     <p class="Pp"></p>
         1270     <div class="Bd-indent">
         1271     <dl class="Bl-tag Bl-compact">
         1272       <dt>passive</dt>
         1273       <dd>passive mode FTP only</dd>
         1274       <dt>active</dt>
         1275       <dd>active mode FTP only</dd>
         1276       <dt>auto</dt>
         1277       <dd>automatic determination of passive or active (this is the
         1278         default)</dd>
         1279       <dt>gate</dt>
         1280       <dd>gate-ftp mode</dd>
         1281     </dl>
         1282     </div>
         1283   </dd>
         1284   <dt id="FTPSERVER"><a class="permalink" href="#FTPSERVER"><code class="Ev">FTPSERVER</code></a></dt>
         1285   <dd>Host to use as gate-ftp server when <code class="Ic">gate</code> is
         1286       enabled.</dd>
         1287   <dt id="FTPSERVERPORT"><a class="permalink" href="#FTPSERVERPORT"><code class="Ev">FTPSERVERPORT</code></a></dt>
         1288   <dd>Port to use when connecting to gate-ftp server when
         1289       <code class="Ic">gate</code> is enabled. Default is port returned by a
         1290       <code class="Fn">getservbyname</code>() lookup of
         1291       &#x201C;ftpgate/tcp&#x201D;.</dd>
         1292   <dt id="HOME"><a class="permalink" href="#HOME"><code class="Ev">HOME</code></a></dt>
         1293   <dd>For default location of a <span class="Pa">.netrc</span> file, if one
         1294       exists.</dd>
         1295   <dt id="PAGER"><a class="permalink" href="#PAGER"><code class="Ev">PAGER</code></a></dt>
         1296   <dd>Used by <code class="Ic">page</code> to display files.</dd>
         1297   <dt id="SHELL"><a class="permalink" href="#SHELL"><code class="Ev">SHELL</code></a></dt>
         1298   <dd>For default shell.</dd>
         1299   <dt id="ftp_proxy"><a class="permalink" href="#ftp_proxy"><code class="Ev">ftp_proxy</code></a></dt>
         1300   <dd>URL of FTP proxy to use when making FTP URL requests (if not defined, use
         1301       the standard FTP protocol).</dd>
         1302   <dt id="http_proxy"><a class="permalink" href="#http_proxy"><code class="Ev">http_proxy</code></a></dt>
         1303   <dd>URL of HTTP proxy to use when making HTTP or HTTPS URL requests.</dd>
         1304   <dt id="http_cookies"><a class="permalink" href="#http_cookies"><code class="Ev">http_cookies</code></a></dt>
         1305   <dd>Path of a Netscape-like cookiejar file to use when making HTTP or HTTPS
         1306       URL requests.</dd>
         1307 </dl>
         1308 </section>
         1309 <section class="Sh">
         1310 <h2 class="Sh" id="PORT_ALLOCATION"><a class="permalink" href="#PORT_ALLOCATION">PORT
         1311   ALLOCATION</a></h2>
         1312 <p class="Pp">For active mode data connections, <code class="Nm">ftp</code> will
         1313     listen to a random high TCP port. The interval of ports used are
         1314     configurable using <a class="Xr" href="/sysctl.8" aria-label="sysctl,
         1315     section 8">sysctl(8)</a> variables
         1316     <var class="Va">net.inet.ip.porthifirst</var> and
         1317     <var class="Va">net.inet.ip.porthilast</var>.</p>
         1318 </section>
         1319 <section class="Sh">
         1320 <h2 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
         1321   ALSO</a></h2>
         1322 <p class="Pp"><a class="Xr" href="/basename.1" aria-label="basename, section
         1323     1">basename(1)</a>, <a class="Xr" href="/csh.1" aria-label="csh, section
         1324     1">csh(1)</a>, <a class="Xr" href="/more.1" aria-label="more, section
         1325     1">more(1)</a>, <a class="Xr" href="/stty.1" aria-label="stty, section
         1326     1">stty(1)</a>, <a class="Xr" href="/tar.1" aria-label="tar, section
         1327     1">tar(1)</a>, <a class="Xr" href="/tftp.1" aria-label="tftp, section
         1328     1">tftp(1)</a>, <a class="Xr" href="/editline.3" aria-label="editline,
         1329     section 3">editline(3)</a>,
         1330     <a class="Xr" href="/getservbyname.3" aria-label="getservbyname, section
         1331     3">getservbyname(3)</a>, <a class="Xr" href="/popen.3" aria-label="popen,
         1332     section 3">popen(3)</a>, <a class="Xr" href="/editrc.5" aria-label="editrc,
         1333     section 5">editrc(5)</a>,
         1334     <a class="Xr" href="/services.5" aria-label="services, section
         1335     5">services(5)</a>, <a class="Xr" href="/ftp-proxy.8" aria-label="ftp-proxy,
         1336     section 8">ftp-proxy(8)</a>, <a class="Xr" href="/ftpd.8" aria-label="ftpd,
         1337     section 8">ftpd(8)</a></p>
         1338 </section>
         1339 <section class="Sh">
         1340 <h2 class="Sh" id="STANDARDS"><a class="permalink" href="#STANDARDS">STANDARDS</a></h2>
         1341 <p class="Pp"><cite class="Rs"><span class="RsA">J. Postel</span> and
         1342     <span class="RsA">J. Reynolds</span>, <span class="RsT">FILE TRANSFER
         1343     PROTOCOL (FTP)</span>, <span class="RsR">RFC 959</span>,
         1344     <span class="RsD">October 1985</span>.</cite></p>
         1345 <p class="Pp"><cite class="Rs"><span class="RsA">P. Hethmon</span>,
         1346     <span class="RsT">Extensions to FTP</span>, <span class="RsR">RFC
         1347     3659</span>, <span class="RsD">March 2007</span>.</cite></p>
         1348 </section>
         1349 <section class="Sh">
         1350 <h2 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h2>
         1351 <p class="Pp">The <code class="Nm">ftp</code> command appeared in
         1352     <span class="Ux">4.2BSD</span>.</p>
         1353 </section>
         1354 <section class="Sh">
         1355 <h2 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h2>
         1356 <p class="Pp">Correct execution of many commands depends upon proper behavior by
         1357     the remote server.</p>
         1358 <p class="Pp">In the recursive mode of <code class="Ic">mget</code>, files and
         1359     directories starting with whitespace are ignored because the list cannot be
         1360     parsed any other way.</p>
         1361 </section>
         1362 </main>
         1363 <div class="foot" role="doc-pagefooter" aria-label="Manual footer
         1364   line"><span class="foot-left"></span><span class="foot-date">September 15,
         1365   2022</span> <span class="foot-os">OpenBSD-current</span></div>
         1366 </body>
         1367 </html>