forked from Stichting-MINIX-Research-Foundation/minix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathftp.1
2428 lines (2428 loc) · 54 KB
/
ftp.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.\" $NetBSD: ftp.1,v 1.135 2015/04/23 23:31:23 lukem Exp $
.\"
.\" Copyright (c) 1996-2015 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to The NetBSD Foundation
.\" by Luke Mewburn.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.\"
.\" Copyright (c) 1985, 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ftp.1 8.3 (Berkeley) 10/9/94
.\"
.Dd April 24, 2015
.Dt FTP 1
.Os
.Sh NAME
.Nm ftp
.Nd Internet file transfer program
.Sh SYNOPSIS
.Nm
.Op Fl 46AadefginpRtVv
.Op Fl N Ar netrc
.Op Fl o Ar output
.Op Fl P Ar port
.Op Fl q Ar quittime
.Op Fl r Ar retry
.Op Fl s Ar srcaddr
.Bk -words
.\" [-T dir,max[,inc]]
.Oo
.Fl T Xo
.Sm off
.Ar dir ,
.Ar max
.Op , Ar inc
.Sm on
.Xc
.Oc
.Ek
.Op Fl x Ar xferbufsize
.Bk -words
.\" [[user@]host [port]]
.Oo
.Oo Ar user Ns Li \&@ Oc Ns Ar host
.Op Ar port
.Oc
.Ek
.Bk -words
.\" [[user@]host:[path][/]]
.Sm off
.Oo
.Op Ar user Li \&@
.Ar host Li \&:
.Op Ar path
.Op Li /
.Oc
.Sm on
.Ek
.Bk -words
.\" [file:///path]
.Sm off
.Oo
.Li file:/// Ar path
.Oc
.Sm on
.Ek
.Bk -words
.\" [ftp://[user[:password]@]host[:port]/path[/]]
.Sm off
.Oo
.Li ftp://
.Oo Ar user
.Op Li \&: Ar password
.Li \&@ Oc
.Ar host Oo Li \&: Ar port Oc
.Li / Ar path
.Op Li /
.Op Li ;type= Ar X
.Oc
.Sm on
.Ek
.Bk -words
.\" [http://[user[:password]@]host[:port]/path]
.Sm off
.Oo
.Li http://
.Oo Ar user
.Op Li \&: Ar password
.Li \&@ Oc
.Ar host Oo Li \&: Ar port Oc
.Li / Ar path
.Oc
.Sm on
.Ek
.Op Ar \&.\&.\&.
.Nm
.Bk -words
.Fl u Ar URL Ar file
.Ek
.Op Ar \&.\&.\&.
.Sh DESCRIPTION
.Nm
is the user interface to the Internet standard File Transfer Protocol.
The program allows a user to transfer files to and from a
remote network site.
.Pp
The last five arguments will fetch a file using the
.Tn FTP
or
.Tn HTTP
protocols, or by direct copying, into the current directory.
This is ideal for scripts.
Refer to
.Sx AUTO-FETCHING FILES
below for more information.
.Pp
Options may be specified at the command line, or to the
command interpreter.
.Bl -tag -width Fl
.It Fl 4
Forces
.Nm
to only use IPv4 addresses.
.It Fl 6
Forces
.Nm
to only use IPv6 addresses.
.It Fl A
Force active mode ftp.
By default,
.Nm
will try to use passive mode ftp and fall back to active mode
if passive is not supported by the server.
This option causes
.Nm
to always use an active connection.
It is only useful for connecting to very old servers that do not
implement passive mode properly.
.It Fl a
Causes
.Nm
to bypass normal login procedure, and use an anonymous login instead.
.It Fl d
Enables debugging.
.It Fl e
Disables command line editing.
This is useful for Emacs ange-ftp mode.
.It Fl f
Forces a cache reload for transfers that go through the
.Tn FTP
or
.Tn HTTP
proxies.
.It Fl g
Disables file name globbing.
.It Fl i
Turns off interactive prompting during
multiple file transfers.
.It Fl N Ar netrc
Use
.Ar netrc
instead of
.Pa ~/.netrc .
Refer to
.Sx THE .netrc FILE
for more information.
.It Fl n
Restrains
.Nm
from attempting
.Dq auto-login
upon initial connection for non auto-fetch transfers.
If auto-login is enabled,
.Nm
will check the
.Pa .netrc
(see below) file in the user's home directory for an entry describing
an account on the remote machine.
If no entry exists,
.Nm
will prompt for the remote machine login name (default is the user
identity on the local machine), and, if necessary, prompt for a password
and an account with which to login.
To override the auto-login for auto-fetch transfers, specify the
username (and optionally, password) as appropriate.
.It Fl o Ar output
When auto-fetching files, save the contents in
.Ar output .
.Ar output
is parsed according to the
.Sx FILE NAMING CONVENTIONS
below.
If
.Ar output
is not
.Sq -
or doesn't start with
.Sq \&| ,
then only the first file specified will be retrieved into
.Ar output ;
all other files will be retrieved into the basename of their
remote name.
.It Fl P Ar port
Sets the port number to
.Ar port .
.It Fl p
Enable passive mode operation for use behind connection filtering firewalls.
This option has been deprecated as
.Nm
now tries to use passive mode by default, falling back to active mode
if the server does not support passive connections.
.It Fl q Ar quittime
Quit if the connection has stalled for
.Ar quittime
seconds.
.It Fl R
Restart all non-proxied auto-fetches.
.It Fl r Ar wait
Retry the connection attempt if it failed, pausing for
.Ar wait
seconds.
.It Fl s Ar srcaddr
Uses
.Ar srcaddr
as the local IP address for all connections.
.It Fl t
Enables packet tracing.
.It Fl T Ar direction Ns , Ns Ar maximum Ns Oo , Ns Ar increment Oc
Set the maximum transfer rate for
.Ar direction
to
.Ar maximum
bytes/second,
and if specified, the increment to
.Ar increment
bytes/second.
Refer to
.Ic rate
for more information.
.It Fl u Ar URL file Op \&.\&.\&.
Upload files on the command line to
.Ar URL
where
.Ar URL
is one of the ftp URL types as supported by auto-fetch
(with an optional target filename for single file uploads), and
.Ar file
is one or more local files to be uploaded.
.It Fl V
Disable
.Ic verbose
and
.Ic progress ,
overriding the default of enabled when output is to a terminal.
.It Fl v
Enable
.Ic verbose
and
.Ic progress .
This is the default if output is to a terminal (and in the case of
.Ic progress ,
.Nm
is the foreground process).
Forces
.Nm
to show all responses from the remote server, as well
as report on data transfer statistics.
.It Fl x Ar xferbufsize
Set the size of the socket send and receive buffers to
.Ar xferbufsize .
Refer to
.Ic xferbuf
for more information.
.El
.Pp
The client host with which
.Nm
is to communicate may be specified on the command line.
If this is done,
.Nm
will immediately attempt to establish a connection to an
.Tn FTP
server on that host; otherwise,
.Nm
will enter its command interpreter and await instructions
from the user.
When
.Nm
is awaiting commands from the user the prompt
.Ql ftp\*[Gt]
is provided to the user.
The following commands are recognized
by
.Nm ftp :
.Bl -tag -width Ic
.It Ic \&! Op Ar command Op Ar args
Invoke an interactive shell on the local machine.
If there are arguments, the first is taken to be a command to execute
directly, with the rest of the arguments as its arguments.
.It Ic \&$ Ar macro-name Op Ar args
Execute the macro
.Ar macro-name
that was defined with the
.Ic macdef
command.
Arguments are passed to the macro unglobbed.
.It Ic account Op Ar passwd
Supply a supplemental password required by a remote system for access
to resources once a login has been successfully completed.
If no argument is included, the user will be prompted for an account
password in a non-echoing input mode.
.It Ic append Ar local-file Op Ar remote-file
Append a local file to a file on the remote machine.
If
.Ar remote-file
is left unspecified, the local file name is used in naming the
remote file after being altered by any
.Ic ntrans
or
.Ic nmap
setting.
File transfer uses the current settings for
.Ic type ,
.Ic format ,
.Ic mode ,
and
.Ic structure .
.It Ic ascii
Set the file transfer
.Ic type
to network
.Tn ASCII .
This is the default type.
.It Ic bell
Arrange that a bell be sounded after each file transfer
command is completed.
.It Ic binary
Set the file transfer
.Ic type
to support binary image transfer.
.It Ic bye
Terminate the
.Tn FTP
session with the remote server
and exit
.Nm ftp .
An end of file will also terminate the session and exit.
.It Ic case
Toggle remote computer file name case mapping during
.Ic get ,
.Ic mget
and
.Ic mput
commands.
When
.Ic case
is on (default is off), remote computer file names with all letters in
upper case are written in the local directory with the letters mapped
to lower case.
.It Ic \&cd Ar remote-directory
Change the working directory on the remote machine
to
.Ar remote-directory .
.It Ic cdup
Change the remote machine working directory to the parent of the
current remote machine working directory.
.It Ic chmod Ar mode remote-file
Change the permission modes of the file
.Ar remote-file
on the remote
system to
.Ar mode .
.It Ic close
Terminate the
.Tn FTP
session with the remote server, and
return to the command interpreter.
Any defined macros are erased.
.It Ic \&cr
Toggle carriage return stripping during
ascii type file retrieval.
Records are denoted by a carriage return/linefeed sequence
during ascii type file transfer.
When
.Ic \&cr
is on (the default), carriage returns are stripped from this
sequence to conform with the
.Ux
single linefeed record
delimiter.
Records on
.Pf non\- Ns Ux
remote systems may contain single linefeeds;
when an ascii type transfer is made, these linefeeds may be
distinguished from a record delimiter only when
.Ic \&cr
is off.
.It Ic delete Ar remote-file
Delete the file
.Ar remote-file
on the remote machine.
.It Ic dir Op Ar remote-path Op Ar local-file
Print a listing of the contents of a
directory on the remote machine.
The listing includes any system-dependent information that the server
chooses to include; for example, most
.Ux
systems will produce
output from the command
.Ql ls \-l .
If
.Ar remote-path
is left unspecified, the current working directory is used.
If interactive prompting is on,
.Nm
will prompt the user to verify that the last argument is indeed the
target local file for receiving
.Ic dir
output.
If no local file is specified, or if
.Ar local-file
is
.Sq Fl ,
the output is sent to the terminal.
.It Ic disconnect
A synonym for
.Ic close .
.It Ic edit
Toggle command line editing, and context sensitive command and file
completion.
This is automatically enabled if input is from a terminal, and
disabled otherwise.
.It Ic epsv epsv4 epsv6
Toggle the use of the extended
.Dv EPSV
and
.Dv EPRT
commands on all IP, IPv4, and IPv6 connections respectively.
First try
.Dv EPSV /
.Dv EPRT ,
and then
.Dv PASV /
.Dv PORT .
This is enabled by default.
If an extended command fails then this option will be temporarily
disabled for the duration of the current connection, or until
.Ic epsv ,
.Ic epsv4 ,
or
.Ic epsv6
is executed again.
.It Ic exit
A synonym for
.Ic bye .
.It Ic features
Display what features the remote server supports (using the
.Dv FEAT
command).
.It Ic fget Ar localfile
Retrieve the files listed in
.Ar localfile ,
which has one line per filename.
.It Ic form Ar format
Set the file transfer
.Ic form
to
.Ar format .
The default (and only supported)
format is
.Dq non-print .
.It Ic ftp Ar host Op Ar port
A synonym for
.Ic open .
.It Ic ftp_debug Op Ar ftp_debug-value
Toggle debugging mode.
If an optional
.Ar ftp_debug-value
is specified it is used to set the debugging level.
When debugging is on,
.Nm
prints each command sent to the remote machine, preceded
by the string
.Ql \-\-\*[Gt] .
.It Ic gate Op Ar host Op Ar port
Toggle gate-ftp mode, which used to connect through the
TIS FWTK and Gauntlet ftp proxies.
This will not be permitted if the gate-ftp server hasn't been set
(either explicitly by the user, or from the
.Ev FTPSERVER
environment variable).
If
.Ar host
is given,
then gate-ftp mode will be enabled, and the gate-ftp server will be set to
.Ar host .
If
.Ar port
is also given, that will be used as the port to connect to on the
gate-ftp server.
.It Ic get Ar remote-file Op Ar local-file
Retrieve the
.Ar remote-file
and store it on the local machine.
If the local
file name is not specified, it is given the same
name it has on the remote machine, subject to
alteration by the current
.Ic case ,
.Ic ntrans ,
and
.Ic nmap
settings.
The current settings for
.Ic type ,
.Ic form ,
.Ic mode ,
and
.Ic structure
are used while transferring the file.
.It Ic glob
Toggle filename expansion for
.Ic mdelete ,
.Ic mget ,
.Ic mput ,
and
.Ic mreget .
If globbing is turned off with
.Ic glob ,
the file name arguments
are taken literally and not expanded.
Globbing for
.Ic mput
is done as in
.Xr csh 1 .
For
.Ic mdelete ,
.Ic mget ,
and
.Ic mreget ,
each remote file name is expanded
separately on the remote machine and the lists are not merged.
Expansion of a directory name is likely to be
different from expansion of the name of an ordinary file:
the exact result depends on the foreign operating system and ftp server,
and can be previewed by doing
.Ql mls remote-files \-
Note:
.Ic mget ,
.Ic mput
and
.Ic mreget
are not meant to transfer
entire directory subtrees of files.
That can be done by
transferring a
.Xr tar 1
archive of the subtree (in binary mode).
.It Ic hash Op Ar size
Toggle hash-sign
.Pq Sq #
printing for each data block transferred.
The size of a data block defaults to 1024 bytes.
This can be changed by specifying
.Ar size
in bytes.
Enabling
.Ic hash
disables
.Ic progress .
.It Ic help Op Ar command
Print an informative message about the meaning of
.Ar command .
If no argument is given,
.Nm
prints a list of the known commands.
.It Ic idle Op Ar seconds
Set the inactivity timer on the remote server to
.Ar seconds
seconds.
If
.Ar seconds
is omitted, the current inactivity timer is printed.
.It Ic image
A synonym for
.Ic binary .
.It Ic lcd Op Ar directory
Change the working directory on the local machine.
If
no
.Ar directory
is specified, the user's home directory is used.
.It Ic less Ar file
A synonym for
.Ic page .
.It Ic lpage Ar local-file
Display
.Ar local-file
with the program specified by the
.Ic "set pager"
option.
.It Ic lpwd
Print the working directory on the local machine.
.It Ic \&ls Op Ar remote-path Op Ar local-file
A synonym for
.Ic dir .
.It Ic macdef Ar macro-name
Define a macro.
Subsequent lines are stored as the macro
.Ar macro-name ;
a null line (consecutive newline characters in a file or carriage
returns from the terminal) terminates macro input mode.
There is a limit of 16 macros and 4096 total characters in all
defined macros.
Macro names can be a maximum of 8 characters.
Macros are only applicable to the current session they are
defined within (or if defined outside a session, to the session
invoked with the next
.Ic open
command), and remain defined until a
.Ic close
command is executed.
To invoke a macro, use the
.Ic $
command (see above).
.Pp
The macro processor interprets
.Sq $
and
.Sq \e
as special characters.
A
.Sq $
followed by a number (or numbers) is replaced by the
corresponding argument on the macro invocation command line.
A
.Sq $
followed by an
.Sq i
signals the macro processor that the executing macro is to be
looped.
On the first pass
.Dq $i
is replaced by the first argument on the macro invocation command
line, on the second pass it is replaced by the second argument,
and so on.
A
.Sq \e
followed by any character is replaced by that character.
Use the
.Sq \e
to prevent special treatment of the
.Sq $ .
.It Ic mdelete Op Ar remote-files
Delete the
.Ar remote-files
on the remote machine.
.It Ic mdir Ar remote-files local-file
Like
.Ic dir ,
except multiple remote files may be specified.
If interactive prompting is on,
.Nm
will prompt the user to verify that the last argument is indeed the
target local file for receiving
.Ic mdir
output.
.It Ic mget Ar remote-files
Expand the
.Ar remote-files
on the remote machine
and do a
.Ic get
for each file name thus produced.
See
.Ic glob
for details on the filename expansion.
Resulting file names will then be processed according to
.Ic case ,
.Ic ntrans ,
and
.Ic nmap
settings.
Files are transferred into the local working directory,
which can be changed with
.Ql lcd directory ;
new local directories can be created with
.Ql "\&! mkdir directory" .
.It Ic mkdir Ar directory-name
Make a directory on the remote machine.
.It Ic mls Ar remote-files local-file
Like
.Ic ls ,
except multiple remote files may be specified,
and the
.Ar local-file
must be specified.
If interactive prompting is on,
.Nm
will prompt the user to verify that the last argument is indeed the
target local file for receiving
.Ic mls
output.
.It Ic mlsd Op Ar remote-path
Display the contents of
.Ar remote-path
(which should default to the current directory if not given)
in a machine-parsable form, using
.Dv MLSD .
The format of display can be changed with
.Sq "remopts mlst ..." .
.It Ic mlst Op Ar remote-path
Display the details about
.Ar remote-path
(which should default to the current directory if not given)
in a machine-parsable form, using
.Dv MLST .
The format of display can be changed with
.Sq "remopts mlst ..." .
.It Ic mode Ar mode-name
Set the file transfer
.Ic mode
to
.Ar mode-name .
The default (and only supported)
mode is
.Dq stream .
.It Ic modtime Ar remote-file
Show the last modification time of the file on the remote machine, in
.Li RFC 2822
format.
.It Ic more Ar file
A synonym for
.Ic page .
.It Ic mput Ar local-files
Expand wild cards in the list of local files given as arguments
and do a
.Ic put
for each file in the resulting list.
See
.Ic glob
for details of filename expansion.
Resulting file names will then be processed according to
.Ic ntrans
and
.Ic nmap
settings.
.It Ic mreget Ar remote-files
As per
.Ic mget ,
but performs a
.Ic reget
instead of
.Ic get .
.It Ic msend Ar local-files
A synonym for
.Ic mput .
.It Ic newer Ar remote-file Op Ar local-file
Get the file only if the modification time of the remote file is more
recent that the file on the current system.
If the file does not
exist on the current system, the remote file is considered
.Ic newer .
Otherwise, this command is identical to
.Ar get .
.It Ic nlist Op Ar remote-path Op Ar local-file
A synonym for
.Ic ls .
.It Ic nmap Op Ar inpattern outpattern
Set or unset the filename mapping mechanism.
If no arguments are specified, the filename mapping mechanism is unset.
If arguments are specified, remote filenames are mapped during
.Ic mput
commands and
.Ic put
commands issued without a specified remote target filename.
If arguments are specified, local filenames are mapped during
.Ic mget
commands and
.Ic get
commands issued without a specified local target filename.
This command is useful when connecting to a
.No non\- Ns Ux
remote computer
with different file naming conventions or practices.
The mapping follows the pattern set by
.Ar inpattern
and
.Ar outpattern .
.Op Ar Inpattern
is a template for incoming filenames (which may have already been
processed according to the
.Ic ntrans
and
.Ic case
settings).
Variable templating is accomplished by including the
sequences
.Dq $1 ,
.Dq $2 ,
\&...
.Dq $9
in
.Ar inpattern .
Use
.Sq \e
to prevent this special treatment of the
.Sq $
character.
All other characters are treated literally, and are used to determine the
.Ic nmap
.Op Ar inpattern
variable values.
For example, given
.Ar inpattern
$1.$2 and the remote file name "mydata.data", $1 would have the value
"mydata", and $2 would have the value "data".
The
.Ar outpattern
determines the resulting mapped filename.
The sequences
.Dq $1 ,
.Dq $2 ,
\&...
.Dq $9
are replaced by any value resulting from the
.Ar inpattern
template.
The sequence
.Dq $0
is replaced by the original filename.
Additionally, the sequence
.Dq Op Ar seq1 , Ar seq2
is replaced by
.Op Ar seq1
if
.Ar seq1
is not a null string; otherwise it is replaced by
.Ar seq2 .
For example, the command
.Pp
.Bd -literal -offset indent -compact
nmap $1.$2.$3 [$1,$2].[$2,file]
.Ed
.Pp
would yield
the output filename "myfile.data" for input filenames "myfile.data" and
"myfile.data.old", "myfile.file" for the input filename "myfile", and
"myfile.myfile" for the input filename ".myfile".
Spaces may be included in
.Ar outpattern ,
as in the example:
.Dl nmap $1 sed "s/ *$//" \*[Gt] $1
Use the
.Sq \e
character to prevent special treatment
of the
.Sq $ ,
.Sq \&[ ,
.Sq \&] ,
and
.Sq \&,
characters.
.It Ic ntrans Op Ar inchars Op Ar outchars
Set or unset the filename character translation mechanism.
If no arguments are specified, the filename character
translation mechanism is unset.
If arguments are specified, characters in
remote filenames are translated during
.Ic mput
commands and
.Ic put
commands issued without a specified remote target filename.
If arguments are specified, characters in
local filenames are translated during
.Ic mget
commands and
.Ic get
commands issued without a specified local target filename.
This command is useful when connecting to a
.No non\- Ns Ux
remote computer
with different file naming conventions or practices.
Characters in a filename matching a character in
.Ar inchars
are replaced with the corresponding character in
.Ar outchars .
If the character's position in
.Ar inchars
is longer than the length of
.Ar outchars ,
the character is deleted from the file name.
.It Ic open Ar host Op Ar port
Establish a connection to the specified
.Ar host
.Tn FTP
server.
An optional port number may be supplied,
in which case,
.Nm
will attempt to contact an
.Tn FTP
server at that port.
If the
.Ic "set auto-login"
option is on (default),
.Nm
will also attempt to automatically log the user in to
the
.Tn FTP
server (see below).
.It Ic page Ar file
Retrieve
.Ic file
and display with the program specified by the
.Ic "set pager"
option.
.It Ic passive Op Cm auto
Toggle passive mode (if no arguments are given).
If
.Cm auto
is given, act as if
.Ev FTPMODE
is set to
.Sq auto .
If passive mode is turned on (default),
.Nm
will send a
.Dv PASV
command for all data connections instead of a
.Dv PORT
command.
The
.Dv PASV
command requests that the remote server open a port for the data connection
and return the address of that port.
The remote server listens on that port and the client connects to it.
When using the more traditional
.Dv PORT
command, the client listens on a port and sends that address to the remote
server, who connects back to it.
Passive mode is useful when using
.Nm
through a gateway router or host that controls the directionality of
traffic.
(Note that though
.Tn FTP
servers are required to support the
.Dv PASV
command by
.Li RFC 1123 ,
some do not.)
.It Ic pdir Op Ar remote-path