|
|
1.1 ! root 1: .\" Copyright (c) 1985 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)ftp.1 6.9 (Berkeley) 6/27/88 ! 6: .\" ! 7: .TH FTP 1C "April 29, 1985" ! 8: .UC 5 ! 9: .SH NAME ! 10: ftp \- ARPANET file transfer program ! 11: .SH SYNOPSIS ! 12: .B ftp ! 13: [ ! 14: .B \-v ! 15: ] [ ! 16: .B \-d ! 17: ] [ ! 18: .B \-i ! 19: ] [ ! 20: .B \-n ! 21: ] [ ! 22: .B \-g ! 23: ] [ ! 24: .B host ! 25: ] ! 26: .SH DESCRIPTION ! 27: .I Ftp ! 28: is the user interface to the ARPANET standard File Transfer Protocol. ! 29: The program allows a user to transfer files to and from a ! 30: remote network site. ! 31: .PP ! 32: The client host with which ! 33: .I ftp ! 34: is to communicate may be specified on the command line. ! 35: If this is done, ! 36: .I ftp ! 37: will immediately attempt to establish a connection to an FTP ! 38: server on that host; otherwise, ! 39: .I ftp ! 40: will enter its command interpreter and await instructions ! 41: from the user. When ! 42: .I ftp ! 43: is awaiting commands from the user the prompt \*(lqftp>\*(rq ! 44: is provided to the user. The following commands are recognized ! 45: by ! 46: .IR ftp : ! 47: .TP ! 48: \fB\&!\fP [ \fIcommand\fP [ \fIargs\fP ] ] ! 49: Invoke an interactive shell on the local machine. ! 50: If there are arguments, the first is taken to be a command to execute ! 51: directly, with the rest of the arguments as its arguments. ! 52: .TP ! 53: \fB\&$\fP \fImacro-name\fP [ \fIargs\fP ] ! 54: Execute the macro \fImacro-name\fP that was defined with the ! 55: \fBmacdef\fP command. ! 56: Arguments are passed to the macro unglobbed. ! 57: .TP ! 58: \fBaccount\fP [ \fIpasswd\fP ] ! 59: Supply a supplemental password required by a remote system for access ! 60: to resources once a login has been successfully completed. ! 61: If no argument is included, the user will be prompted for an account ! 62: password in a non-echoing input mode. ! 63: .TP ! 64: \fBappend\fP \fIlocal-file\fP [ \fIremote-file\fP ] ! 65: Append a local file to a file on the remote machine. If ! 66: .I remote-file ! 67: is left unspecified, the local file name is used in naming the ! 68: remote file after being altered by any ! 69: .I ntrans ! 70: or ! 71: .I nmap ! 72: setting. ! 73: File transfer uses the current settings for ! 74: .IR type , ! 75: .IR format , ! 76: .IR mode , ! 77: and ! 78: .IR structure . ! 79: .TP ! 80: .B ascii ! 81: Set the file transfer ! 82: .I type ! 83: to network ASCII. This is the default type. ! 84: .TP ! 85: .B bell ! 86: Arrange that a bell be sounded after each file transfer ! 87: command is completed. ! 88: .TP ! 89: .B binary ! 90: Set the file transfer ! 91: .I type ! 92: to support binary image transfer. ! 93: .TP ! 94: .B bye ! 95: Terminate the FTP session with the remote server ! 96: and exit ! 97: .IR ftp . ! 98: An end of file will also terminate the session and exit. ! 99: .TP ! 100: .B case ! 101: Toggle remote computer file name case mapping during ! 102: .B mget ! 103: commands. ! 104: When ! 105: .B case ! 106: is on (default is off), remote computer file names with all letters in ! 107: upper case are written in the local directory with the letters mapped ! 108: to lower case. ! 109: .TP ! 110: .BI cd " remote-directory" ! 111: Change the working directory on the remote machine ! 112: to ! 113: .IR remote-directory . ! 114: .TP ! 115: .B cdup ! 116: Change the remote machine working directory to the parent of the ! 117: current remote machine working directory. ! 118: .TP ! 119: .B close ! 120: Terminate the FTP session with the remote server, and ! 121: return to the command interpreter. ! 122: Any defined macros are erased. ! 123: .TP ! 124: .B cr ! 125: Toggle carriage return stripping during ! 126: ascii type file retrieval. ! 127: Records are denoted by a carriage return/linefeed sequence ! 128: during ascii type file transfer. ! 129: When ! 130: .B cr ! 131: is on (the default), carriage returns are stripped from this ! 132: sequence to conform with the UNIX single linefeed record ! 133: delimiter. ! 134: Records on non-UNIX remote systems may contain single linefeeds; ! 135: when an ascii type transfer is made, these linefeeds may be ! 136: distinguished from a record delimiter only when ! 137: .B cr ! 138: is off. ! 139: .TP ! 140: .BI delete " remote-file" ! 141: Delete the file ! 142: .I remote-file ! 143: on the remote machine. ! 144: .TP ! 145: \fBdebug\fP [ \fIdebug-value\fP ] ! 146: Toggle debugging mode. If an optional ! 147: .I debug-value ! 148: is specified it is used to set the debugging level. ! 149: When debugging is on, ! 150: .I ftp ! 151: prints each command sent to the remote machine, preceded ! 152: by the string \*(lq-->\*(rq. ! 153: .TP ! 154: \fBdir\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ] ! 155: Print a listing of the directory contents in the ! 156: directory, ! 157: .IR remote-directory , ! 158: and, optionally, placing the output in ! 159: .IR local-file . ! 160: If interactive prompting is on, ! 161: .I ftp ! 162: will prompt the user to verify that the last argument is indeed the ! 163: target local file for receiving ! 164: .B dir ! 165: output. ! 166: If no directory is specified, the current working ! 167: directory on the remote machine is used. If no local ! 168: file is specified, or \fIlocal-file\fP is \fB-\fP, ! 169: output comes to the terminal. ! 170: .TP ! 171: .B disconnect ! 172: A synonym for ! 173: .BR close . ! 174: .TP ! 175: .BI form " format" ! 176: Set the file transfer ! 177: .I form ! 178: to ! 179: .IR format . ! 180: The default format is \*(lqfile\*(rq. ! 181: .TP ! 182: \fBget\fP \fIremote-file\fP [ \fIlocal-file\fP ] ! 183: Retrieve the ! 184: .I remote-file ! 185: and store it on the local machine. If the local ! 186: file name is not specified, it is given the same ! 187: name it has on the remote machine, subject to ! 188: alteration by the current ! 189: .IR case , ! 190: .IR ntrans , ! 191: and ! 192: .I nmap ! 193: settings. ! 194: The current settings for ! 195: .IR type , ! 196: .IR form , ! 197: .IR mode , ! 198: and ! 199: .I structure ! 200: are used while transferring the file. ! 201: .TP ! 202: \fBglob\fP ! 203: Toggle filename expansion for \fBmdelete\fP, \fBmget\fP and \fBmput\fP. ! 204: If globbing is turned off with \fBglob\fP, the file name arguments ! 205: are taken literally and not expanded. ! 206: Globbing for \fBmput\fP is done as in \fBcsh\fP(1). ! 207: For \fBmdelete\fP and \fBmget\fP, each remote file name is expanded ! 208: separately on the remote machine and the lists are not merged. ! 209: Expansion of a directory name is likely to be ! 210: different from expansion of the name of an ordinary file: ! 211: the exact result depends on the foreign operating system and ftp server, ! 212: and can be previewed by doing `\fBmls\fP\ \fIremote-files\fP\ \fB-\fP'. ! 213: Note: \fBmget\fP and \fBmput\fP are not meant to transfer ! 214: entire directory subtrees of files. That can be done by ! 215: transferring a \fBtar\fP(1) archive of the subtree (in binary mode). ! 216: .TP ! 217: \fBhash\f ! 218: Toggle hash-sign (``#'') printing for each data block ! 219: transferred. The size of a data block is 1024 bytes. ! 220: .TP ! 221: \fBhelp\fP [ \fIcommand\fP ] ! 222: Print an informative message about the meaning of ! 223: .IR command . ! 224: If no argument is given, ! 225: .I ftp ! 226: prints a list of the known commands. ! 227: .TP ! 228: \fBlcd\fP [ \fIdirectory\fP ] ! 229: Change the working directory on the local machine. If ! 230: no ! 231: .I directory ! 232: is specified, the user's home directory is used. ! 233: .TP ! 234: \fBls\fP [ \fIremote-directory\fP ] [ \fIlocal-file\fP ] ! 235: Print an abbreviated listing of the contents of a ! 236: directory on the remote machine. If ! 237: .I remote-directory ! 238: is left unspecified, the current working directory is used. ! 239: If interactive prompting is on, ! 240: .I ftp ! 241: will prompt the user to verify that the last argument is indeed the ! 242: target local file for receiving ! 243: .B ls ! 244: output. ! 245: If no local file is specified, or if \fIlocal-file\fR is \fB-\fR, ! 246: the output is sent to the terminal. ! 247: .TP ! 248: \fBmacdef\fP \fImacro-name\fP ! 249: Define a macro. ! 250: Subsequent lines are stored as the macro ! 251: \fImacro-name\fP; a null line (consecutive newline characters ! 252: in a file or ! 253: carriage returns from the terminal) terminates macro input mode. ! 254: There is a limit of 16 macros and 4096 total characters in all ! 255: defined macros. ! 256: Macros remain defined until a ! 257: .B close ! 258: command is executed. ! 259: The macro processor interprets '$' and '\\' as special characters. ! 260: A '$' followed by a number (or numbers) is replaced by the ! 261: corresponding argument on the macro invocation command line. ! 262: A '$' followed by an 'i' signals that macro processor that the ! 263: executing macro is to be looped. On the first pass '$i' is ! 264: replaced by the first argument on the macro invocation command line, ! 265: on the second pass it is replaced by the second argument, and so on. ! 266: A '\\' followed by any character is replaced by that character. ! 267: Use the '\\' to prevent special treatment of the '$'. ! 268: .TP ! 269: \fBmdelete\fP [ \fIremote-files\fP ] ! 270: Delete the \fIremote-files\fP on the remote machine. ! 271: .TP ! 272: \fBmdir\fP \fIremote-files\fP \fIlocal-file\fP ! 273: Like \fBdir\fP, except multiple remote files may be specified. ! 274: If interactive prompting is on, ! 275: .I ftp ! 276: will prompt the user to verify that the last argument is indeed the ! 277: target local file for receiving ! 278: .B mdir ! 279: output. ! 280: .TP ! 281: \fBmget\fP \fIremote-files\fP ! 282: Expand the \fIremote-files\fP on the remote machine ! 283: and do a \fBget\fP for each file name thus produced. ! 284: See \fBglob\fR for details on the filename expansion. ! 285: Resulting file names will then be processed according to ! 286: .IR case , ! 287: .IR ntrans , ! 288: and ! 289: .I nmap ! 290: settings. ! 291: Files are transferred into the local working directory, ! 292: which can be changed with `\fBlcd\fP\ directory'; ! 293: new local directories can be created with `\fB!\fP\ mkdir\ directory'. ! 294: .TP ! 295: \fBmkdir\fP \fIdirectory-name\fP ! 296: Make a directory on the remote machine. ! 297: .TP ! 298: \fBmls\fP \fIremote-files\fP \fIlocal-file\fP ! 299: Like \fBls\fP, except multiple remote files may be specified. ! 300: If interactive prompting is on, ! 301: .I ftp ! 302: will prompt the user to verify that the last argument is indeed the ! 303: target local file for receiving ! 304: .B mls ! 305: output. ! 306: .TP ! 307: \fBmode\fP [ \fImode-name\fP ] ! 308: Set the file transfer ! 309: .I mode ! 310: to ! 311: .IR mode-name . ! 312: The default mode is \*(lqstream\*(rq mode. ! 313: .TP ! 314: \fBmput\fP \fIlocal-files\fP ! 315: Expand wild cards in the list of local files given as arguments ! 316: and do a \fBput\fR for each file in the resulting list. ! 317: See \fBglob\fP for details of filename expansion. ! 318: Resulting file names will then be processed according to ! 319: .I ntrans ! 320: and ! 321: .I nmap ! 322: settings. ! 323: .TP ! 324: \fBnmap\fP [ \fIinpattern\fP \fIoutpattern\fP ] ! 325: Set or unset the filename mapping mechanism. ! 326: If no arguments are specified, the filename mapping mechanism is unset. ! 327: If arguments are specified, remote filenames are mapped during ! 328: .B mput ! 329: commands and ! 330: .B put ! 331: commands issued without a specified remote target filename. ! 332: If arguments are specified, local filenames are mapped during ! 333: .B mget ! 334: commands and ! 335: .B get ! 336: commands issued without a specified local target filename. ! 337: This command is useful when connecting to a non-UNIX remote computer ! 338: with different file naming conventions or practices. ! 339: The mapping follows the pattern set by ! 340: .I inpattern ! 341: and ! 342: .IR outpattern . ! 343: .I Inpattern ! 344: is a template for incoming filenames (which may have already been ! 345: processed according to the ! 346: .B ntrans ! 347: and ! 348: .B case ! 349: settings). ! 350: Variable templating is accomplished by including the sequences '$1', '$2', ..., '$9' in ! 351: .IR inpattern . ! 352: Use '\\' to prevent this special treatment of the '$' character. ! 353: All other characters are treated literally, and are used to determine the ! 354: .B nmap ! 355: .I inpattern ! 356: variable values. ! 357: For exmaple, given ! 358: .I inpattern ! 359: $1.$2 and the remote file name "mydata.data", $1 would have the value ! 360: "mydata", and $2 would have the value "data". ! 361: The ! 362: .I outpattern ! 363: determines the resulting mapped filename. ! 364: The sequences '$1', '$2', ...., '$9' are replaced by any value resulting ! 365: from the ! 366: .I inpattern ! 367: template. ! 368: The sequence '$0' is replace by the original filename. ! 369: Additionally, the sequence '[\fIseq1\fP,\fIseq2\f\P]' is replaced by ! 370: .I seq1 ! 371: if ! 372: .I seq1 ! 373: is not a null string; otherwise it is replaced by ! 374: .IR seq2 . ! 375: For example, the command "nmap $1.$2.$3 [$1,$2].[$2,file]" would yield ! 376: the output filename "myfile.data" for input filenames "myfile.data" and ! 377: "myfile.data.old", "myfile.file" for the input filename "myfile", and ! 378: "myfile.myfile" for the input filename ".myfile". ! 379: Spaces may be included in ! 380: .IR outpattern , ! 381: as in the example: nmap $1 |sed "s/ *$//" > $1 . ! 382: Use the '\\' character to prevent special treatment ! 383: of the '$', '[', ']', and ',' characters. ! 384: .TP ! 385: \fBntrans\fP [ \fIinchars\fP [ \fIoutchars\fP ] ] ! 386: Set or unset the filename character translation mechanism. ! 387: If no arguments are specified, the filename character ! 388: translation mechanism is unset. ! 389: If arguments are specified, characters in ! 390: remote filenames are translated during ! 391: .B mput ! 392: commands and ! 393: .B put ! 394: commands issued without a specified remote target filename. ! 395: If arguments are specified, characters in ! 396: local filenames are translated during ! 397: .B mget ! 398: commands and ! 399: .B get ! 400: commands issued without a specified local target filename. ! 401: This command is useful when connecting to a non-UNIX remote computer ! 402: with different file naming conventions or practices. ! 403: Characters in a filename matching a character in ! 404: .I inchars ! 405: are replaced with the corresponding character in ! 406: .IR outchars . ! 407: If the character's position in ! 408: .I inchars ! 409: is longer than the length of ! 410: .IR outchars , ! 411: the character is deleted from the file name. ! 412: .TP ! 413: \fBopen\fP \fIhost\fP [ \fIport\fP ] ! 414: Establish a connection to the specified ! 415: .I host ! 416: FTP server. An optional port number may be supplied, ! 417: in which case, ! 418: .I ftp ! 419: will attempt to contact an FTP server at that port. ! 420: If the ! 421: .I auto-login ! 422: option is on (default), ! 423: .I ftp ! 424: will also attempt to automatically log the user in to ! 425: the FTP server (see below). ! 426: .TP ! 427: .B prompt ! 428: Toggle interactive prompting. Interactive prompting ! 429: occurs during multiple file transfers to allow the ! 430: user to selectively retrieve or store files. ! 431: If prompting is turned off (default is on), any \fBmget\fP or \fBmput\fP ! 432: will transfer all files, and any \fBmdelete\fP will delete all files. ! 433: .TP ! 434: \fBproxy\fP \fIftp-command\fP ! 435: Execute an ftp command on a secondary control connection. ! 436: This command allows simultaneous connection to two remote ftp ! 437: servers for transferring files between the two servers. ! 438: The first ! 439: .B proxy ! 440: command should be an ! 441: .BR open , ! 442: to establish the secondary control connection. ! 443: Enter the command "proxy ?" to see other ftp commands executable on the ! 444: secondary connection. ! 445: The following commands behave differently when prefaced by ! 446: .BR proxy : ! 447: .B open ! 448: will not define new macros during the auto-login process, ! 449: .B close ! 450: will not erase existing macro definitions, ! 451: .B get ! 452: and ! 453: .B mget ! 454: transfer files from the host on the primary control connection ! 455: to the host on the secondary control connection, and ! 456: .BR put , ! 457: .BR mput , ! 458: and ! 459: .B append ! 460: transfer files from the host on the secondary control connection ! 461: to the host on the primary control connection. ! 462: Third party file transfers depend upon support of the ftp protocol ! 463: PASV command by the server on the secondary control connection. ! 464: .TP ! 465: \fBput\fP \fIlocal-file\fP [ \fIremote-file\fP ] ! 466: Store a local file on the remote machine. If ! 467: .I remote-file ! 468: is left unspecified, the local file name is used ! 469: after processing according to any ! 470: .I ntrans ! 471: or ! 472: .I nmap ! 473: settings ! 474: in naming the remote file. File transfer uses the ! 475: current settings for ! 476: .IR type , ! 477: .IR format , ! 478: .IR mode , ! 479: and ! 480: .IR structure . ! 481: .TP ! 482: .B pwd ! 483: Print the name of the current working directory on the remote ! 484: machine. ! 485: .TP ! 486: .B quit ! 487: A synonym for ! 488: .BR bye . ! 489: .TP ! 490: .BI quote " arg1 arg2 ..." ! 491: The arguments specified are sent, verbatim, to the remote FTP ! 492: server. ! 493: .TP ! 494: \fBrecv\fP \fIremote-file\fP [ \fIlocal-file\fP ] ! 495: A synonym for get. ! 496: .TP ! 497: \fBremotehelp\fP [ \fIcommand-name\fP ] ! 498: Request help from the remote FTP server. If a ! 499: .I command-name ! 500: is specified it is supplied to the server as well. ! 501: .TP ! 502: \fBrename\fP [ \fIfrom\fP ] [ \fIto\fP ] ! 503: Rename the file ! 504: .I from ! 505: on the remote machine, to the file ! 506: .IR to . ! 507: .TP ! 508: .B reset ! 509: Clear reply queue. ! 510: This command re-synchronizes command/reply sequencing with the remote ! 511: ftp server. ! 512: Resynchronization may be neccesary following a violation of the ftp protocol ! 513: by the remote server. ! 514: .TP ! 515: .BI rmdir " directory-name" ! 516: Delete a directory on the remote machine. ! 517: .TP ! 518: .B runique ! 519: Toggle storing of files on the local system with unique filenames. ! 520: If a file already exists with a name equal to the target ! 521: local filename for a ! 522: .B get ! 523: or ! 524: .B mget ! 525: command, a ".1" is appended to the name. ! 526: If the resulting name matches another existing file, ! 527: a ".2" is appended to the original name. ! 528: If this process continues up to ".99", an error ! 529: message is printed, and the transfer does not take place. ! 530: The generated unique filename will be reported. ! 531: Note that ! 532: .B runique ! 533: will not affect local files generated from a shell command ! 534: (see below). ! 535: The default value is off. ! 536: .TP ! 537: \fBsend\fP \fIlocal-file\fP [ \fIremote-file\fP ] ! 538: A synonym for put. ! 539: .TP ! 540: .B sendport ! 541: Toggle the use of PORT commands. By default, ! 542: .I ftp ! 543: will attempt to use a PORT command when establishing ! 544: a connection for each data transfer. ! 545: The use of PORT commands can prevent delays ! 546: when performing multiple file transfers. If the PORT ! 547: command fails, ! 548: .I ftp ! 549: will use the default data port. When the use of PORT ! 550: commands is disabled, no attempt will be made to use ! 551: PORT commands for each data transfer. This is useful ! 552: for certain FTP implementations which do ignore PORT ! 553: commands but, incorrectly, indicate they've been accepted. ! 554: .TP ! 555: .B status ! 556: Show the current status of ! 557: .IR ftp . ! 558: .TP ! 559: \fBstruct\fP [ \fIstruct-name\fP ] ! 560: Set the file transfer ! 561: .I structure ! 562: to ! 563: .IR struct-name . ! 564: By default \*(lqstream\*(rq structure is used. ! 565: .TP ! 566: .B sunique ! 567: Toggle storing of files on remote machine under unique file names. ! 568: Remote ftp server must support ftp protocol STOU command for ! 569: successful completion. ! 570: The remote server will report unique name. ! 571: Default value is off. ! 572: .TP ! 573: .B tenex ! 574: Set the file transfer type to that needed to ! 575: talk to TENEX machines. ! 576: .TP ! 577: .B trace ! 578: Toggle packet tracing. ! 579: .TP ! 580: \fBtype\fP [ \fItype-name\fP ] ! 581: Set the file transfer ! 582: .I type ! 583: to ! 584: .IR type-name . ! 585: If no type is specified, the current type ! 586: is printed. The default type is network ASCII. ! 587: .TP ! 588: \fBuser\fP \fIuser-name\fP [ \fIpassword\fP ] [ \fIaccount\fP ] ! 589: Identify yourself to the remote FTP server. If the ! 590: password is not specified and the server requires it, ! 591: .I ftp ! 592: will prompt the user for it (after disabling local echo). ! 593: If an account field is not specified, and the FTP server ! 594: requires it, the user will be prompted for it. ! 595: If an account field is specified, an account command will ! 596: be relayed to the remote server after the login sequence ! 597: is completed if the remote server did not require it ! 598: for logging in. ! 599: Unless ! 600: .I ftp ! 601: is invoked with \*(lqauto-login\*(rq disabled, this ! 602: process is done automatically on initial connection to ! 603: the FTP server. ! 604: .TP ! 605: .B verbose ! 606: Toggle verbose mode. In verbose mode, all responses from ! 607: the FTP server are displayed to the user. In addition, ! 608: if verbose is on, when a file transfer completes, statistics ! 609: regarding the efficiency of the transfer are reported. By default, ! 610: verbose is on. ! 611: .TP ! 612: \fB?\fP [ \fIcommand\fP ] ! 613: A synonym for help. ! 614: .PP ! 615: Command arguments which have embedded spaces may be quoted with ! 616: quote (") marks. ! 617: .SH "ABORTING A FILE TRANSFER" ! 618: To abort a file transfer, use the terminal interrupt key ! 619: (usually Ctrl-C). ! 620: Sending transfers will be immediately halted. ! 621: Receiving transfers will be halted by sending a ftp protocol ABOR ! 622: command to the remote server, and discarding any further data received. ! 623: The speed at which this is accomplished depends upon the remote ! 624: server's support for ABOR processing. ! 625: If the remote server does not support the ABOR command, an "ftp>" ! 626: prompt will not appear until the remote server has completed ! 627: sending the requested file. ! 628: .PP ! 629: The terminal interrupt key sequence will be ignored when ! 630: .I ftp ! 631: has completed any local processing and is awaiting a reply ! 632: from the remote server. ! 633: A long delay in this mode may result from the ABOR processing described ! 634: above, or from unexpected behavior by the remote server, including ! 635: violations of the ftp protocol. ! 636: If the delay results from unexpected remote server behavior, the local ! 637: .I ftp ! 638: program must be killed by hand. ! 639: .SH "FILE NAMING CONVENTIONS" ! 640: Files specified as arguments to ! 641: .I ftp ! 642: commands are processed according to the following rules. ! 643: .TP ! 644: 1) ! 645: If the file name \*(lq\-\*(rq is specified, the ! 646: .B stdin ! 647: (for reading) or ! 648: .B stdout ! 649: (for writing) is used. ! 650: .TP ! 651: 2) ! 652: If the first character of the file name is \*(lq|\*(rq, the ! 653: remainder of the argument is interpreted as a shell command. ! 654: .I Ftp ! 655: then forks a shell, using ! 656: .IR popen (3) ! 657: with the argument supplied, and reads (writes) from the stdout ! 658: (stdin). If the shell command includes spaces, the argument ! 659: must be quoted; e.g. \*(lq"| ls -lt"\*(rq. A particularly ! 660: useful example of this mechanism is: \*(lqdir |more\*(rq. ! 661: .TP ! 662: 3) ! 663: Failing the above checks, if ``globbing'' is enabled, ! 664: local file names are expanded ! 665: according to the rules used in the ! 666: .IR csh (1); ! 667: c.f. the ! 668: .I glob ! 669: command. ! 670: If the ! 671: .I ftp ! 672: command expects a single local file ( .e.g. ! 673: .BR put ), ! 674: only the first filename generated by the "globbing" operation is used. ! 675: .TP ! 676: 4) ! 677: For ! 678: .B mget ! 679: commands and ! 680: .B get ! 681: commands with unspecified local file names, the local filename is ! 682: the remote filename, which may be altered by a ! 683: .BR case , ! 684: .BR ntrans , ! 685: or ! 686: .B nmap ! 687: setting. ! 688: The resulting filename may then be altered if ! 689: .B runique ! 690: is on. ! 691: .TP ! 692: 5) ! 693: For ! 694: .B mput ! 695: commands and ! 696: .B put ! 697: commands with unspecified remote file names, the remote filename is ! 698: the local filename, which may be altered by a ! 699: .B ntrans ! 700: or ! 701: .B nmap ! 702: setting. ! 703: The resulting filename may then be altered by the remote server if ! 704: .B sunique ! 705: is on. ! 706: .SH "FILE TRANSFER PARAMETERS" ! 707: The FTP specification specifies many parameters which may ! 708: affect a file transfer. The ! 709: .I type ! 710: may be one of \*(lqascii\*(rq, \*(lqimage\*(rq (binary), ! 711: \*(lqebcdic\*(rq, and \*(lqlocal byte size\*(rq (for PDP-10's ! 712: and PDP-20's mostly). ! 713: .I Ftp ! 714: supports the ascii and image types of file transfer, ! 715: plus local byte size 8 for \fBtenex\fP mode transfers. ! 716: .PP ! 717: .I Ftp ! 718: supports only the default values for the remaining ! 719: file transfer parameters: ! 720: .IR mode , ! 721: .IR form , ! 722: and ! 723: .IR struct . ! 724: .SH OPTIONS ! 725: Options may be specified at the command line, or to the ! 726: command interpreter. ! 727: .PP ! 728: The ! 729: .B \-v ! 730: (verbose on) option forces ! 731: .I ftp ! 732: to show all responses from the remote server, as well ! 733: as report on data transfer statistics. ! 734: .PP ! 735: The ! 736: .B \-n ! 737: option restrains ! 738: .I ftp ! 739: from attempting \*(lqauto-login\*(rq upon initial connection. ! 740: If auto-login is enabled, ! 741: .I ftp ! 742: will check the ! 743: .I .netrc ! 744: (see below) file in the user's home directory for an entry describing ! 745: an account on the remote machine. If no entry exists, ! 746: .I ftp ! 747: will prompt for the remote machine login name (default is the user ! 748: identity on the local machine), and, if necessary, prompt for a password ! 749: and an account with which to login. ! 750: .PP ! 751: The ! 752: .B \-i ! 753: option turns off interactive prompting during ! 754: multiple file transfers. ! 755: .PP ! 756: The ! 757: .B \-d ! 758: option enables debugging. ! 759: .PP ! 760: The ! 761: .B \-g ! 762: option disables file name globbing. ! 763: .SH "THE .netrc FILE" ! 764: The .netrc file contains login and initialization information ! 765: used by the auto-login process. ! 766: It resides in the user's home directory. ! 767: The following tokens are recognized; they may be separated by spaces, ! 768: tabs, or new-lines: ! 769: .TP ! 770: \fBmachine\fP \fIname\fP ! 771: Identify a remote machine name. ! 772: The auto-login process searches the .netrc file for a ! 773: .B machine ! 774: token that matches the remote machine specified on the ! 775: .I ftp ! 776: command line or as an ! 777: .B open ! 778: command argument. ! 779: Once a match is made, the subsequent .netrc tokens are processed, ! 780: stopping when the end of file is reached or another ! 781: .B machine ! 782: token is encountered. ! 783: .TP ! 784: \fBlogin\fP \fIname\fP ! 785: Identify a user on the remote machine. ! 786: If this token is present, the auto-login process will initiate ! 787: a login using the specified name. ! 788: .TP ! 789: \fBpassword\fP \fIstring\fP ! 790: Supply a password. ! 791: If this token is present, the auto-login process will supply the ! 792: specified string if the remote server requires a password as part ! 793: of the login process. ! 794: Note that if this token is present in the .netrc file, ! 795: .I ftp ! 796: will abort the auto-login process if the .netrc is readable by ! 797: anyone besides the user. ! 798: .TP ! 799: \fBaccount\fP \fIstring\fP ! 800: Supply an additional account password. ! 801: If this token is present, the auto-login process will supply the ! 802: specified string if the remote server requires an additional ! 803: account password, or the auto-login process will initiate an ! 804: ACCT command if it does not. ! 805: .TP ! 806: \fBmacdef\fP \fIname\fP ! 807: Define a macro. ! 808: This token functions like the ! 809: .I ftp ! 810: .B macdef ! 811: command functions. ! 812: A macro is defined with the specified name; its contents begin with the ! 813: next .netrc line and continue until a null line (consecutive new-line ! 814: characters) is encountered. ! 815: If a macro named ! 816: .I init ! 817: is defined, it is automatically executed as the last step in the ! 818: auto-login process. ! 819: .SH "SEE ALSO" ! 820: ftpd(8) ! 821: .SH BUGS ! 822: Correct execution of many commands depends upon proper behavior ! 823: by the remote server. ! 824: .PP ! 825: An error in the treatment of carriage returns ! 826: in the 4.2BSD UNIX ascii-mode transfer code ! 827: has been corrected. ! 828: This correction may result in incorrect transfers of binary files ! 829: to and from 4.2BSD servers using the ascii type. ! 830: Avoid this problem by using the binary image type.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.