1ftp(1)                           User Commands                          ftp(1)
2
3
4

NAME

6       ftp - file transfer program
7

SYNOPSIS

9       ftp [-adfginpstvx] [-m GSS Mech] [-T timeout]
10            [hostname [port]]
11
12

DESCRIPTION

14       The  ftp  command  is  the user interface to the Internet standard File
15       Transfer Protocol (FTP). ftp transfers files to and from a remote  net‐
16       work site.
17
18
19       The  host  and  optional  port  with which ftp is to communicate can be
20       specified on the  command  line.  If  this  is  done,  ftp  immediately
21       attempts  to establish a connection to an FTP server on that host. Oth‐
22       erwise, ftp enters its command interpreter and awaits instructions from
23       the  user. When ftp is awaiting commands from the user, it displays the
24       prompt ftp>.
25

OPTIONS

27       The following options can be specified at the command line, or  to  the
28       command interpreter:
29
30       -a            Uses  GSSAPI  authentication  only. If the authentication
31                     fails, this option closes the connection.
32
33
34       -d            Enables debugging.
35
36
37       -f            Forwards local security credentials to the remote server.
38
39
40       -g            Disables filename "globbing".
41
42
43       -i            Turns off  interactive  prompting  during  multiple  file
44                     transfers.
45
46
47       -m            Specifies the GSS-API mechanism to use. The default is to
48                     use the kerberos_v5 mechanism. Supported alternatives are
49                     defined in /etc/gss/mech (see mech(4)).
50
51
52       -n            Does not attempt "auto-login" upon initial connection. If
53                     auto-login is not disabled, ftp checks the .netrc file in
54                     the  user's  home  directory  for  an entry describing an
55                     account on the remote machine. If no  entry  exists,  ftp
56                     prompts  for  the login name of the account on the remote
57                     machine (the default is  the  login  name  on  the  local
58                     machine),  and,  if necessary, prompts for a password and
59                     an account with which to login.
60
61
62       -p            Enables passive mode for data transfers. This command  is
63                     useful  when  connecting  to  a remote host from behind a
64                     connection filtering firewall.
65
66
67       -s            Skips the SYST command that is sent  by  default  to  all
68                     remote  servers  upon  connection.  The system command is
69                     what enables the automatic use of binary mode rather than
70                     the protocol default ascii mode.
71
72                     As some older servers cannot handle the ftp command, this
73                     directive is provided  to  allow  inter-operability  with
74                     these servers.
75
76
77       -t            Enables packet tracing (unimplemented).
78
79
80       -T timeout    Enables  global  connection  timer,  specified in seconds
81                     (decimal). There is a timer for  the  control  connection
82                     that  is  reset  when  anything is sent to the server and
83                     disabled while the client is prompting  for  user  input.
84                     Another  independent timer is used to monitor incoming or
85                     outgoing data connections.
86
87
88       -v            Shows all responses from the remote server,  as  well  as
89                     report  on data transfer statistics. This is turned on by
90                     default if ftp is running interactively  with  its  input
91                     coming from the user's terminal.
92
93
94       -x            Attempts to use GSSAPI for authentication and encryption.
95                     Data and Command channel protection is set to "private".
96
97
98
99       The following commands can be specified to the command interpreter:
100
101       !
102
103           [ command ] Runs command as a shell command on the  local  machine.
104           If no command is given, invokes an interactive shell.
105
106
107       $ macro-name [ args ]
108
109           Executes the macro macro-name that was defined with the macdef com‐
110           mand. Arguments are passed to the macro unglobbed.
111
112
113       account [ passwd ]
114
115           Supplies a supplemental password required by a  remote  system  for
116           access  to  resources once a login has been successfully completed.
117           If no argument is included, the user is  prompted  for  an  account
118           password in a non-echoing input mode.
119
120
121       append local-file [ remote-file ]
122
123           Appends  a  local  file to a file on the remote machine. If remote-
124           file is not specified, the local file  name  is  used,  subject  to
125           alteration  by  any ntrans or nmap settings. File transfer uses the
126           current settings for "representation type", "file  structure",  and
127           "transfer mode".
128
129
130       ascii
131
132           Sets  the  "representation  type"  to  "network ASCII". This is the
133           default type.
134
135
136       bell
137
138           Sounds a bell after each file transfer command is completed.
139
140
141       binary
142
143           Sets the "representation type" to "image".
144
145
146       bye
147
148           Terminates the FTP session with the remote server and exit ftp.  An
149           EOF also terminates the session and exit.
150
151
152       case
153
154           Toggles  remote  computer  file  name case mapping during mget com‐
155           mands. When case is on (default is off), remote computer file names
156           with  all  letters in upper case are written in the local directory
157           with the letters mapped to lower case.
158
159
160       cd remote-directory
161
162           Changes the working directory on  the  remote  machine  to  remote-
163           directory.
164
165
166       cdup
167
168           Changes  the  remote machine working directory to the parent of the
169           current remote machine working directory.
170
171
172       clear
173
174           Sets the protection level on data transfers to "clear". If no  ADAT
175           command succeeded, then this is the default protection level.
176
177
178       close
179
180           Terminates  the  FTP  session with the remote server, and return to
181           the command interpreter. Any defined macros are erased.
182
183
184       cr
185
186           Toggles  RETURN  stripping  during  "network   ASCII"   type   file
187           retrieval. Records are denoted by a RETURN/LINEFEED sequence during
188           "network ASCII" type file transfer. When cr is  on  (the  default),
189           RETURN  characters  are stripped from this sequence to conform with
190           the UNIX system single LINEFEED record delimiter. Records  on  non-
191           UNIX-system  remote  hosts  can contain single LINEFEED characters;
192           when an "network ASCII" type transfer is made, these LINEFEED char‐
193           acters can be distinguished from a record delimiter only when cr is
194           off.
195
196
197       delete remote-file
198
199           Deletes the file remote-file on the remote machine.
200
201
202       debug
203
204           Toggles debugging mode. When debugging is on, ftp prints each  com‐
205           mand sent to the remote machine, preceded by the string ->.
206
207
208       dir [ remote-directory [ local-file ]]
209
210           Prints  a  listing  of  the  directory  contents  in the directory,
211           remote-directory, and, optionally, placing  the  output  in  local-
212           file.  If  no directory is specified, the current working directory
213           on the remote machine is used. If no local file  is  specified,  or
214           local-file is , output is sent to the terminal.
215
216
217       disconnect
218
219           A synonym for close.
220
221
222       form [ format-name ]
223
224           Sets  the  carriage  control  format subtype of the "representation
225           type" to format-name. The  only  valid  format-name  is  non-print,
226           which corresponds to the default "non-print" subtype.
227
228
229       get remote-file [ local-file ]
230
231           Retrieves the remote-file and store it on the local machine. If the
232           local file name is not specified, it is given the same name it  has
233           on  the  remote machine, subject to alteration by the current case,
234           ntrans, and nmap settings. The current settings for "representation
235           type",  "file structure", and "transfer mode" are used while trans‐
236           ferring the file.
237
238
239       glob
240
241           Toggles filename expansion, or "globbing", for  mdelete,  mget  and
242           mput. If globbing is turned off, filenames are taken literally.
243
244           Globbing  for  mput is done as in sh(1). For mdelete and mget, each
245           remote file name is expanded separately on the remote machine,  and
246           the lists are not merged.
247
248           Expansion  of  a directory name is likely to be radically different
249           from expansion of the name of an ordinary file:  the  exact  result
250           depends  on  the remote operating system and FTP server, and can be
251           previewed with the command, mls remote-files −.
252
253           mget and mput are not meant to transfer entire  directory  subtrees
254           of  files.  You can do this by transferring a tar(1) archive of the
255           subtree (using a "representation type" of "image"  as  set  by  the
256           binary command).
257
258
259       hash
260
261           Toggles hash-sign (#) printing for each data block transferred. The
262           size of a data block is 8192 bytes.
263
264
265       help [ command ]
266
267           Prints an informative message about the meaning of command.  If  no
268           argument is given, ftp prints a list of the known commands.
269
270
271       lcd [ directory ]
272
273           Changes the working directory on the local machine. If no directory
274           is specified, the user's home directory is used.
275
276
277       ls [ -al | remote-directory [ local-file ]]
278
279           By default, prints an abbreviated listing  of  the  contents  of  a
280           directory  on  the  remote  machine.  This  default behavior can be
281           changed to make ls a synonym of the dir command. This change can be
282           achieved  by  setting FTP_LS_SENDS_NLST to 'no' in /etc/default/ftp
283           or in the environment. See ftp(4) for details.
284
285           The -a option lists all entries, including those that begin with  a
286           dot  (.),  which are normally not listed. The -l option lists files
287           in long format, giving mode, number of links, owner, group, size in
288           bytes,  and time of last modification for each file. If the file is
289           a special file, the size field instead contains the major and minor
290           device  numbers rather than a size. If the file is a symbolic link,
291           the filename is printed followed by "" and  the  pathname  of  the
292           referenced file.
293
294           If remote-directory is left unspecified, the current working direc‐
295           tory is used.
296
297           If no local file is specified, or if local-file is , the output is
298           sent to the terminal.
299
300
301       macdef macro-name
302
303           Defines  a  macro.  Subsequent lines are stored as the macro macro-
304           name. A null line (consecutive NEWLINE  characters  in  a  file  or
305           RETURN  characters  from the terminal) terminates macro input mode.
306           There is a limit of 16 macros and  4096  total  characters  in  all
307           defined macros. Macros remain defined until a close command is exe‐
308           cuted.
309
310           The macro processor interprets $ and \ as special characters.  A  $
311           followed  by a number (or numbers) is replaced by the corresponding
312           argument on the macro invocation command line. A $ followed by an i
313           signals  that  macro  processor  that  the executing macro is to be
314           looped. On the first pass, $i is replaced by the first argument  on
315           the  macro  invocation  command  line;  on  the  second pass, it is
316           replaced by the second argument, and so on. A  \  followed  by  any
317           character  is replaced by that character. Use the \ to prevent spe‐
318           cial treatment of the $.
319
320
321       mdelete remote-files
322
323           Deletes the remote-files on the remote machine.
324
325
326       mdir remote-files local-file
327
328           Like dir, except multiple remote files can be specified. If  inter‐
329           active  prompting  is  on,  ftp prompts the user to verify that the
330           last argument is indeed the target local file  for  receiving  mdir
331           output.
332
333
334       mget remote-files
335
336           Expands  the  remote-files  on  the remote machine and do a get for
337           each file name thus produced. See glob for details on the  filename
338           expansion.  Resulting  file  names are processed according to case,
339           ntrans, and nmap settings. Files are  transferred  into  the  local
340           working  directory,  which  can  be changed with lcd directory. New
341           local directories can be created with ! mkdir directory.
342
343
344       mkdir directory-name
345
346           Makes a directory on the remote machine.
347
348
349       mls remote-files local-file
350
351           Like ls(1), except multiple  remote  files  can  be  specified.  If
352           interactive  prompting  is  on, ftp prompts the user to verify that
353           the last argument is indeed the target local file for receiving mls
354           output.
355
356
357       mode [ mode-name ]
358
359           Sets  the "transfer mode" to mode-name. The only valid mode-name is
360           stream, which corresponds to the default "stream" mode. This imple‐
361           mentation only supports stream, and requires that it be specified.
362
363
364       mput local-files
365
366           Expands  wild  cards  in the list of local files given as arguments
367           and do a put for each file in the  resulting  list.  See  glob  for
368           details  of  filename expansion. Resulting file names are processed
369           according to ntrans and nmap settings.
370
371
372       nlist [ -al | remote-directory [ local-file ]]
373
374           Prints an abbreviated listing of the contents of a directory on the
375           remote  machine,  listing only those files that can be retrieved by
376           the get command, unless the -a or -l option  is  used.  If  remote-
377           directory  is  left  unspecified,  the current working directory is
378           used.
379
380           The -a option lists all entries, including those that begin with  a
381           dot  (.),  which are normally not listed. The -l option lists files
382           in long format the same way it does when used with the ls command.
383
384
385       nmap [ inpattern outpattern ]
386
387           Sets or unsets the filename mapping mechanism. If no arguments  are
388           specified,  the  filename  mapping mechanism is unset. If arguments
389           are specified, remote filenames are mapped during mput commands and
390           put  commands issued without a specified remote target filename. If
391           arguments are specified, local filenames  are  mapped  during  mget
392           commands  and  get commands issued without a specified local target
393           filename.
394
395           This command is useful when connecting to a non-UNIX-system  remote
396           host  with different file naming conventions or practices. The map‐
397           ping follows the pattern set by inpattern and outpattern. inpattern
398           is  a  template for incoming filenames (which can have already been
399           processed according to the ntrans and case settings). Variable tem‐
400           plating  is accomplished by including the sequences $1, $2, ..., $9
401           in inpattern. Use \ to prevent this  special  treatment  of  the  $
402           character. All other characters are treated literally, and are used
403           to determine the nmap inpattern variable values.
404
405           For example,  given  inpattern  $1.$2  and  the  remote  file  name
406           mydata.data,  $1 would have the value mydata, and $2 would have the
407           value data.
408
409           The  outpattern  determines  the  resulting  mapped  filename.  The
410           sequences  $1, $2, ..., $9 are replaced by any value resulting from
411           the inpattern template. The sequence $0 is replaced by the original
412           filename.  Additionally,  the  sequence  [seq1,seq2] is replaced by
413           seq1 if seq1 is not a null string;  otherwise  it  is  replaced  by
414           seq2.
415
416           For  example,  the  command  nmap  $1.$2.$3 [$1,$2].[$2,file] would
417           yield  the  output  filename  myfile.data   for   input   filenames
418           myfile.data and myfile.data.old, myfile.file for the input filename
419           myfile, and myfile.myfile for the  input  filename  .myfile.  SPACE
420           characters can be included in outpattern, as in the example nmap $1
421           | sed "s/ *$//" > $1. Use the \ character to prevent special treat‐
422           ment of the $, [, ], and ,, characters.
423
424
425       ntrans [ inchars [ outchars ] ]
426
427           Sets  or unsets the filename character translation mechanism. If no
428           arguments are specified, the filename character translation  mecha‐
429           nism  is  unset.  If  arguments are specified, characters in remote
430           filenames are translated during  mput  commands  and  put  commands
431           issued  without  a specified remote target filename, and characters
432           in local filenames are translated during mget commands and get com‐
433           mands issued without a specified local target filename.
434
435           This  command is useful when connecting to a non-UNIX-system remote
436           host with different file naming conventions or  practices.  Charac‐
437           ters  in  a  filename  matching a character in inchars are replaced
438           with the corresponding character in outchars.  If  the  character's
439           position  in  inchars  is  longer  than the length of outchars, the
440           character is deleted from the file name.
441
442           Only 16 characters can be translated when using the ntrans  command
443           under  ftp.  Use  case  (described above) if needing to convert the
444           entire alphabet.
445
446
447       open host [ port ]
448
449           Establishes a connection to  the  specified  host  FTP  server.  An
450           optional  port  number can be supplied, in which case, ftp attempts
451           to contact an FTP server at that port. If the auto-login option  is
452           on  (default  setting),  ftp also attempts to automatically log the
453           user in to the FTP server.
454
455
456       passive
457
458           Toggles passive mode. When passive  mode  is  turned  on,  the  ftp
459           client sends the PASV command requesting that the FTP server open a
460           port for the data connection and return the address of  that  port.
461           The  remote  server listens on that port and the client connects to
462           it. When passive mode is turned off, the ftp client sends the  PORT
463           command  to  the server specifying an address for the remote server
464           to connect back to. Passive mode is useful when the connections  to
465           the ftp client are controlled, for example, when behind a firewall.
466           When connecting to an IPv6-enabled FTP server, EPSV can be used  in
467           place of PASV and EPRT in place of PORT.
468
469
470       private
471
472           Sets  the  protection  level  on  data transfers to "private". Data
473           transmissions  are  confidentiality—  and  integrity—protected   by
474           encryption.  If  no  ADAT command succeeded, then the only possible
475           level is "clear".
476
477
478       prompt
479
480           Toggles interactive prompting. Interactive prompting occurs  during
481           multiple  file  transfers to allow the user to selectively retrieve
482           or store files. By default, prompting is turned on. If prompting is
483           turned  off,  any mget or mput transfers all files, and any mdelete
484           deletes all files.
485
486
487       protect protection-level
488
489           Sets the protection level on data  transfers  to  protection-level.
490           The valid protection levels are "clear" for unprotected data trans‐
491           missions, "safe" for data  transmissions  that  are  integrity-pro‐
492           tected  by cryptographic checksum, and "private" for data transmis‐
493           sions that are confidentiality— and integrity— protected by encryp‐
494           tion. If no ADAT command succeeded, then the only possible level is
495           "clear". If no level is specified, the current  level  is  printed.
496           The default protection level is "clear".
497
498
499       proxy ftp-command
500
501           Executes  an  FTP  command  on a secondary control connection. This
502           command allows simultaneous connection to two  remote  FTP  servers
503           for  transferring  files  between  the two servers. The first proxy
504           command should be an open, to establish the secondary control  con‐
505           nection.  Enter  the command proxy ? to see other FTP commands exe‐
506           cutable on the secondary connection.
507
508           The following commands behave differently when prefaced  by  proxy:
509           open  does  not  define  new  macros during the auto-login process,
510           close does not erase  existing  macro  definitions,  get  and  mget
511           transfer  files  from the host on the primary control connection to
512           the host on the secondary control connection, and put,  mputd,  and
513           append  transfer  files from the host on the secondary control con‐
514           nection to the host on the primary control connection.
515
516           Third party file transfers depend upon support of the PASV  command
517           by the server on the secondary control connection.
518
519
520       put local-file [ remote-file ]
521
522           Stores  a  local file on the remote machine. If remote-file is left
523           unspecified, the local file name is used after processing according
524           to  any  ntrans  or  nmap  settings in naming the remote file. File
525           transfer uses the current settings for "representation type", "file
526           structure", and "transfer mode".
527
528
529       pwd
530
531           Prints  the  name  of  the  current working directory on the remote
532           machine.
533
534
535       quit
536
537           A synonym for bye.
538
539
540       quote arg1 arg2 ...
541
542           Sends the arguments specified, verbatim, to the remote FTP  server.
543           A single FTP reply code is expected in return. (The remotehelp com‐
544           mand displays a list of valid arguments.)
545
546           quote should be used only by experienced  users  who  are  familiar
547           with the FTP protocol.
548
549
550       recv remote-file [ local-file ]
551
552            A synonym for get.
553
554
555       reget remote-file [ local-file ]
556
557           The  reget  command acts like get, except that if local-file exists
558           and is smaller than remote-file, local-file is  presumed  to  be  a
559           partially  transferred copy of remote-file and the transfer is con‐
560           tinued from the apparent point of failure. This command  is  useful
561           when transferring large files over networks that are prone to drop‐
562           ping connections.
563
564
565       remotehelp [ command-name ]
566
567           Requests help from the remote FTP  server.  If  a  command-name  is
568           specified it is supplied to the server as well.
569
570
571       rename from to
572
573           Renames the file from on the remote machine to have the name to.
574
575
576       reset
577
578           Clears  reply  queue.  This  command  re-synchronizes command/reply
579           sequencing with the remote FTP  server.  Resynchronization  can  be
580           necessary  following  a violation of the FTP protocol by the remote
581           server.
582
583
584       restart [ marker ]
585
586           Restarts the immediately following get  or  put  at  the  indicated
587           marker.  On  UNIX systems, marker is usually a byte offset into the
588           file. When followed by an mget, the restart applies  to  the  first
589           get  performed. Specifying a marker of 0 clears the restart marker.
590           If no argument is specified, the current  restart  status  is  dis‐
591           played.
592
593
594       rmdir directory-name
595
596           Deletes a directory on the remote machine.
597
598
599       runique
600
601           Toggles storing of files on the local system with unique filenames.
602           If a file already exists with a name  equal  to  the  target  local
603           filename  for  a get or mget command, a .1 is appended to the name.
604           If the resulting name  matches  another  existing  file,  a  .2  is
605           appended to the original name. If this process continues up to .99,
606           an error message is printed, and the transfer does not take  place.
607           The  generated unique filename is reported. runique does not affect
608           local files generated from a shell command. The  default  value  is
609           off.
610
611
612       safe
613
614           Sets  the protection level on data transfers to "safe". Data trans‐
615           missions are integrity-protected by cryptographic checksum.  If  no
616           ADAT command succeeded, then the only possible level is "clear".
617
618
619       send local-file [ remote-file ]
620
621           A synonym for put.
622
623
624       sendport
625
626           Toggles the use of PORT commands. By default, ftp attempts to use a
627           PORT command when establishing a connection for each data transfer.
628           The  use of PORT commands can prevent delays when performing multi‐
629           ple file transfers. If the PORT command fails, ftp uses the default
630           data port. When the use of PORT commands is disabled, no attempt is
631           made to use PORT commands for each data transfer.  This  is  useful
632           when connected to certain FTP implementations that ignore PORT com‐
633           mands but incorrectly indicate they have been accepted.
634
635
636       site arg1 [ arg2 ] ...
637
638           Sends the arguments specified, verbatim, to the remote  FTP  server
639           as a SITE command.
640
641
642       status
643
644           Show the current status of ftp.
645
646
647       struct [ struct-name ]
648
649           Sets  the file structure to struct-name. The only valid struct-name
650           is file, which corresponds to the  default  "file"  structure.  The
651           implementation  only  supports file, and requires that it be speci‐
652           fied.
653
654
655       sunique
656
657           Toggles storing of files on remote machine under unique file names.
658           The  remote FTP server must support the STOU command for successful
659           completion. The remote server  reports  the  unique  name.  Default
660           value is off.
661
662
663       tcpwindow [ size ]
664
665           Sets  the TCP window size to be used for data connections. Specify‐
666           ing a size of 0 stops the explicit setting of the TCP  window  size
667           on  data connections. If no argument is specified, the current set‐
668           ting is displayed.
669
670
671       tenex
672
673           Sets the "representation type" to that  needed  to  talk  to  TENEX
674           machines.
675
676
677       trace
678
679           Toggles packet tracing (unimplemented).
680
681
682       type [ type-name ]
683
684           Sets  the  "representation type" to type-name. The valid type-names
685           are ascii for "network ASCII", binary or  image  for  "image",  and
686           tenex  for "local byte size" with a byte size of 8 (used to talk to
687           TENEX machines). If no type  is  specified,  the  current  type  is
688           printed. The default type is "network ASCII".
689
690
691       user user-name [ password [ account ]]
692
693           Identify  yourself to the remote FTP server. If the password is not
694           specified and the server requires it, ftp prompts the user  for  it
695           (after disabling local echo). If an account field is not specified,
696           and the FTP server requires it, the user is prompted for it. If  an
697           account  field  is  specified, an account command is relayed to the
698           remote server after the login sequence is completed if  the  remote
699           server  did  not  require  it for logging in. Unless ftp is invoked
700           with "auto-login" disabled, this process is done  automatically  on
701           initial connection to the FTP server.
702
703
704       verbose
705
706           Toggles  verbose  mode. In verbose mode, all responses from the FTP
707           server are displayed to the user. In addition, if verbose  mode  is
708           on,  when a file transfer completes, statistics regarding the effi‐
709           ciency of the transfer are reported. By default, verbose mode is on
710           if ftp's commands are coming from a terminal, and off otherwise.
711
712
713       ? [ command ]
714
715           A synonym for help.
716
717
718
719       Command  arguments  which have embedded spaces can be quoted with quote
720       (") marks.
721
722
723       If any command argument which is not indicated as being optional is not
724       specified, ftp prompts for that argument.
725

ABORTING A FILE TRANSFER

727       To  abort  a  file  transfer,  use  the terminal interrupt key. Sending
728       transfers is immediately halted.  Receiving  transfers  are  halted  by
729       sending an FTP protocol ABOR command to the remote server, and discard‐
730       ing any further data received. The speed at which this is  accomplished
731       depends  upon  the  remote server's support for ABOR processing. If the
732       remote server does not support the ABOR command, an  ftp>  prompt  does
733       not  appear until the remote server has completed sending the requested
734       file.
735
736
737       The terminal interrupt key sequence is ignored when ftp  has  completed
738       any  local processing and is awaiting a reply from the remote server. A
739       long delay in this mode can result from the ABOR  processing  described
740       above, or from unexpected behavior by the remote server, including vio‐
741       lations of the ftp protocol.  If  the  delay  results  from  unexpected
742       remote server behavior, the local ftp program must be killed by hand.
743

FILE NAMING CONVENTIONS

745       Local  files  specified  as  arguments  to  ftp  commands are processed
746       according to the following rules.
747
748       1)    If the file name is specified, the standard input (for reading)
749             or standard output (for writing) is used.
750
751
752       2)    If  the  first  character of the file name is |, the remainder of
753             the argument is interpreted as a shell command. ftp then forks  a
754             shell,  using  popen(3C)  with  the  argument supplied, and reads
755             (writes) from the standard output (standard input) of that shell.
756             If the shell command includes SPACE characters, the argument must
757             be quoted; for example "| ls -lt". A particularly useful  example
758             of this mechanism is: "dir | more".
759
760
761       3)    Failing  the  above  checks,  if  globbing is enabled, local file
762             names are expanded according to the rules used in the sh(1);  see
763             the  glob command. If the ftp command expects a single local file
764             (for example, put), only the  first  filename  generated  by  the
765             globbing operation is used.
766
767
768       4)    For  mget  commands  and get commands with unspecified local file
769             names, the local filename is the remote filename,  which  can  be
770             altered  by  a case, ntrans, or nmap setting. The resulting file‐
771             name can then be altered if runique is on.
772
773
774       5)    For mput commands and put commands with unspecified  remote  file
775             names,  the  remote  filename is the local filename, which can be
776             altered by a ntrans or nmap setting. The resulting  filename  can
777             then be altered by the remote server if sunique is on.
778
779

FILE TRANSFER PARAMETERS

781       The FTP specification specifies many parameters which can affect a file
782       transfer.
783
784
785       The "representation type" can be  one  of  "network  ASCII",  "EBCDIC",
786       "image",  or "local byte size" with a specified byte size (for PDP-10's
787       and PDP-20's mostly). The "network ASCII" and  "EBCDIC"  types  have  a
788       further  subtype  which specifies whether vertical format control (NEW‐
789       LINE characters, form feeds, and so on) are to be passed through ("non-
790       print"),  provided in TELNET format ("TELNET format controls"), or pro‐
791       vided in ASA (FORTRAN) ("carriage control (ASA)") format. ftp  supports
792       the  "network ASCII" (subtype "non-print" only) and "image" types, plus
793       "local byte size" with a byte size of 8 for  communicating  with  TENEX
794       machines.
795
796
797       The  "file structure" can be one of file (no record structure), record,
798       or page. ftp supports only the default value, which is file.
799
800
801       The "transfer mode" can be one of stream,  block,  or  compressed.  ftp
802       supports only the default value, which is stream.
803

USAGE

805       See  largefile(5)  for  the  description  of  the  behavior of ftp when
806       encountering files greater than or equal to 2 Gbyte (2^31 bytes).
807
808
809       The ftp command is IPv6-enabled. See ip6(7P).
810

FILES

812       ~/.netrc
813

ATTRIBUTES

815       See attributes(5) for descriptions of the following attributes:
816
817
818
819
820       ┌─────────────────────────────┬─────────────────────────────┐
821       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
822       ├─────────────────────────────┼─────────────────────────────┤
823       │Availability                 │SUNWbip                      │
824       ├─────────────────────────────┼─────────────────────────────┤
825       │CSI                          │enabled                      │
826       └─────────────────────────────┴─────────────────────────────┘
827

SEE ALSO

829       ls(1),  rcp(1),  sh(1),   tar(1),   in.ftpd(1M),   popen(3C),   ftp(4),
830       ftpusers(4), mech(4), netrc(4), attributes(5), largefile(5), ip6(7P)
831
832
833       Allman,  M.,  Ostermann,  S., and Metz, C. RFC 2428, FTP Extensions for
834       IPv6 and NATs. The Internet Society. September 1998.
835
836
837       Lunt, S. J. RFC 2228, FTP Security Extensions. Internet Draft. November
838       1993.
839
840
841       Postel,  Jon,  and Joyce Reynolds. RFC 959, File Transfer Protocol (FTP
842       ). Network Information Center. October 1985.
843
844
845       Piscitello, D. RFC 1639, FTP Operation Over Big Address  Records  (FOO‐
846       BAR). Network Working Group. June 1994.
847

NOTES

849       Failure  to  log in can arise from an explicit denial by the remote FTP
850       server because the account is listed in /etc/ftpusers. See  in.ftpd(1M)
851       and ftpusers(4).
852
853
854       Correct  execution of many commands depends upon proper behavior by the
855       remote server.
856
857
858       An error in the treatment of carriage returns in the 4.2 BSD code  han‐
859       dling  transfers  with  a  "representation type" of "network ASCII" has
860       been corrected. This correction can result in  incorrect  transfers  of
861       binary  files to and from 4.2 BSD servers using a "representation type"
862       of "network ASCII". Avoid this problem by using the "image" type.
863
864
865
866SunOS 5.11                        6 Jun 2006                            ftp(1)
Impressum