summaryrefslogtreecommitdiff
path: root/ja/man
diff options
context:
space:
mode:
authorHiroyuki Hanai <hanai@FreeBSD.org>1998-03-03 01:23:46 +0000
committerHiroyuki Hanai <hanai@FreeBSD.org>1998-03-03 01:23:46 +0000
commit521035128906fb2837440b3c097f2e4579e1cdfb (patch)
tree0ec085d5237e4ea573aac2bfa1f5d6c047a5b2d9 /ja/man
parent680fbeb247ce09ca8e001311ec06f14f9dfbd735 (diff)
Notes
Diffstat (limited to 'ja/man')
-rw-r--r--ja/man/man1/ftp.1910
1 files changed, 602 insertions, 308 deletions
diff --git a/ja/man/man1/ftp.1 b/ja/man/man1/ftp.1
index 8bfd84bff7..387ab3afaf 100644
--- a/ja/man/man1/ftp.1
+++ b/ja/man/man1/ftp.1
@@ -1,3 +1,6 @@
+.\" %Id: ftp.1,v 1.4.2.2 1998/01/28 02:27:56 msmith Exp %
+.\" %NetBSD: ftp.1,v 1.21 1997/06/10 21:59:58 lukem Exp %
+.\"
.\" Copyright (c) 1985, 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -29,91 +32,130 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" from: @(#)ftp.1 8.2 (Berkeley) 12/30/93
+.\" @(#)ftp.1 8.3 (Berkeley) 10/9/94
.\" jpman %Id: ftp.1,v 1.3 1997/08/20 12:54:33 horikawa Stab %
.\"
-.Dd December 30, 1993
+.Dd August 18, 1997
.Dt FTP 1
.Os BSD 4.2
.Sh 名称
-.Nm ftp
+.Nm ftp , pftp , gate-ftp
.Nd
.Tn ARPANET
ファイル転送プログラム
.Sh 書式
-.Nm ftp
-.Op Fl v
+.Nm
+.Op Fl a
.Op Fl d
+.Op Fl e
+.Op Fl g
.Op Fl i
.Op Fl n
.Op Fl U
.Op Fl p
-.Op Fl g
-.Op Ar host
-.Sh 解説
+.Op Fl P Ar port
+.Op Fl t
+.Op Fl v
+.Op Fl V
+.Op Ar host Op Ar port
+.Nm ftp
+ftp://[\fIuser\fR:\fIpassword\fR@]\fIhost\fR[:\fIport\fR]/\fIfile\fR[/]
+.Nm ftp
+http://\fIhost\fR[:\fIport\fR]/\fIfile\fR
.Nm ftp
+\fIhost\fR:[/\fIpath\fR/]\fIfile\fR[/]
+.Sh 解説
+.Nm
は、
.Tn ARPANET
標準のファイル転送プロトコルを用いてファイル転送を実現するためのコマンドです。
本コマンドは、ネットワークを介して接続されているコンピュータ間で
ファイルを転送する手段をユーザに提供します。
.Pp
+書式の後ろから 3 つの使用例の形式では HTTP または FTP プロトコルの
+いずれかを使ってファイルをカレンドディレクトリに取得します。
+これはスクリプト用に理想的です。
+より詳しい情報については
+.Sx ファイルの自動的な取得
+を参照して下さい。
+.Pp
オプションは、コマンドライン上か、コマンドインタプリタで指定できます。
-.Bl -tag -width flag
-.It Fl v
-データ転送状況と、
-リモートサーバからのすべてのレスポンスを表示するように指定します。
+.Bl -tag -width "port "
+.It Fl a
+.Nm
+は通常のログイン手続きを飛ばして、かわりに anonymous ログインを
+使います。
+.It Fl d
+デバッグを有効にします。
+.It Fl e
+コマンドラインでの編集を無効にします。
+.It Fl g
+ファイル名展開を無効にします。
+.It Fl U
+データポートの範囲制限を無効にします。
+.It Fl i
+複数ファイル転送を行っている間の対話的プロンプトモードを
+オフにします。
.It Fl n
-相手サーバへ
-.Nm ftp
-が最初に接続する際、\*(L自動ログイン\*(Rq を行いません。
+.Nm
+が最初に接続する際の
+.Dq 自動ログイン
+を行いません。
自動ログインが許可された場合は、
-.Nm ftp
-は、そのリモートマシンのアカウントを記述しているエントリがあるかどうかを、
-ftp を起動したユーザのホームディレクトリの
+.Nm
+は起動したユーザのホームディレクトリの
.Pa .netrc
-(下記参照)
-ファイルに対して調べます。
+(下記参照) ファイルに、リモートマシンのアカウントを記述している
+エントリがあるかどうかを調べます。
そのファイルにエントリがない場合には、
-.Nm ftp
+.Nm
はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ
ID) を要求します。
そして、もし必要があればログイン用のパスワードと
-アカウントの入力もうながします。
-.It Fl i
-複数のファイルの転送中に、プロンプトを出さないようにします。
-.It Fl d
-デバッグモードを有効にします。
-.It Fl g
-ファイル名の正規表現の解釈を無効にします。
-.It Fl U
-データポートの範囲の制限を無効にします。
+アカウントの入力も促します。
.It Fl p
-ファイアーウォールを越える接続のためのパッシブモード操作を有効にします。
+防火壁を越える接続のためのパッシブモード操作を有効にします。
+.Nm pftp
+コマンドを使うのと同じです。
+.It Fl P Ar port
+ポート番号を
+.Ar port
+に設定します。
+.It Fl t
+パケットのトレースを有効にします。
+.It Fl v
+饒舌モードを有効にします。
+入力が端末からの場合はこれがデフォルトです。
+.Nm
+はデータ転送状況と、
+リモートサーバからのすべてのレスポンスを表示します。
+.It Fl V
+入力が端末からの場合に、デフォルトで有効になっているのを無視して
+饒舌モードを無効にします。
.El
.Pp
-.Nm ftp
+.Nm
は、通信相手をコマンドラインで指定することが出来ます。通信相手を
コマンドラインで指定した場合、
-.Nm ftp
+.Nm
は指定したリモートマシンの
.Tn FTP
-サーバプログラムとの接続を行ないます。それ以外の場合、
-.Nm ftp
-はコマンドインタプリタとして動作し、ユーザからの
-コマンド入力待ち状態になります。このとき
-.Nm ftp
+サーバプログラムとの接続を試みます。それ以外の場合、
+.Nm
+は内部のコマンドインタプリタに入り、ユーザからの
+コマンド入力を待ちます。このとき
+.Nm
は、
.Ql ftp>
というプロンプトを出力します。
本状態の時には、
-.Nm ftp
+.Nm
は以下のコマンドを受け付けます。
.Bl -tag -width Fl
.It Ic \&! Op Ar command Op Ar args
ローカルマシン上でシェルを起動します。
引数が指定された場合、最初の引数をコマンドとして実行し、
-それ以降の引数は、そのコマンドに対する引数として解釈されます。
+それ以降の引数はそのコマンドに対する引数として処理されます。
.It Ic \&$ Ar macro-name Op Ar args
.Ar macro-name
で定義されたマクロを実行します。マクロは、
@@ -122,12 +164,12 @@ ID) を要求します。
.Ar args
で指定された文字列は、展開されずにマクロに対して引き渡されます。
.It Ic account Op Ar passwd
-一旦 ftp ユーザとしてログインに成功したユーザが、
-リモートマシン上の資源を扱うためのパスワードを入力します。
+一旦ログインに成功したユーザが、資源を扱うためにリモートマシンから
+要求された追加のパスワードを入力します。
引数が指定されない場合、ユーザに対してパスワード入力を促す表示がされます。
-パスワードはエコーバックされません。
+この場合はパスワードはエコーバックされません。
.It Ic append Ar local-file Op Ar remote-file
-リモートマシン上のファイルを、ローカルファイルに追加書き込みします。
+ローカルファイルをリモートマシン上のファイルに追加書き込みします。
もし、
.Ar remote-file
が指定されていなければ、ローカルファイルの名前を
@@ -135,7 +177,7 @@ ID) を要求します。
.Ic nmap
で修正した名前をリモートファイル名として使います。
-ファイル転送は
+ファイル転送では
.Ic type ,
.Ic format ,
.Ic mode ,
@@ -144,12 +186,12 @@ ID) を要求します。
.It Ic ascii
転送ファイルの
.Ic type
-を
+をネットワーク
.Tn ASCII
形式にします。
-これは、デフォルト時の設定です。
+これはデフォルト時の設定です。
.It Ic bell
-ファイル転送終了時にベルを鳴らすかどうかを指定します。
+各ファイル転送コマンド終了時にベルを鳴らすかどうかを指定します。
.It Ic binary
転送ファイルの
.Ic type
@@ -159,18 +201,18 @@ ID) を要求します。
リモートサーバとの
.Tn FTP
セッションを終了し、
-.Nm ftp
+.Nm
を終了します。
EOF を入力した場合も同様です。
.It Ic case
.Ic mget
コマンドで連続してファイルを取得する場合、リモートマシン上の
-ファイル名の大文字小文字の区別を指定します。
+ファイル名の大文字小文字の対応を切り替えます。
デフォルトでは
.Ic case
-はオフですが、オンの場合には、リモートマシンファイル名は、
-すべて大文字に変換されます。
-そして、ローカル マシンのディレクトリ上では、小文字に変換されます。
+はオフですが、オンの場合にはリモートマシンファイル名の
+すべての大文字が小文字に変換されて、ローカル マシンのディレクトリに
+書き込まれます。
.It Ic \&cd Ar remote-directory
リモートマシン上での作業ディレクトリを
.Ar remote-directory
@@ -183,6 +225,7 @@ EOF を入力した場合も同様です。
.Ar mode
で指定したものに変更します。
.It Ic close
+リモートサーバとの
.Tn FTP
セッションを終了します。そしてコマンド入力待ちのプロンプトを表示します。
すでに定義されたマクロはすべて無効になります。
@@ -199,45 +242,62 @@ ASCII 形式のファイル転送時には、
復帰コードが文字列から除去されます。
.Ux
以外のリモートのシステムのレコードは
-復帰コードのみを区切り記号としている場合があります。
-ASCII 形式で転送を行った時には復帰コードは
+単独の改行コードを含む可能性があります。
+ASCII 形式で転送を行った時には、そういった改行コードは
.Ic \&cr
-がオフの場合にだけレコード区切り記号と区別されます。
+がオフの場合にだけレコード区切り記号と区別して扱われます。
.It Ic delete Ar remote-file
リモートマシン上のファイル
.Ar remote-file
を削除します。
.It Ic debug Op Ar debug-value
-デバッグモードを有効にします。
+デバッグモードを切り替えます。
.Ar debug-value
-が指定されると、デバッグレベルが設定されます。
+が指定されるとデバッグレベルとして設定されます。
デバッグモードが有効になると、
-.Nm ftp
+.Nm
はリモートマシンに送信されたコマンドを
.Ql \-\->
に続けて表示します。
-.It Xo
-.Ic dir
-.Op Ar remote-directory
-.Op Ar local-file
-.Xc
+.It Ic dir Op Ar remote-directory Op Ar local-file
+リモートマシン上のディレクトリの内容を表示します。
+表示内容にはサーバが選択したシステム依存の情報を含みます。
+例えば大部分の
+.Ux
+システムは
+.Ql ls \-l
+コマンドから得られる出力を表示します。
+(
+.Ic ls
+も参照して下さい)
+もし
.Ar remote-directory
-で指定されたディレクトリの内容を表示します。
-そして、
-.Ar local-file
-が指定してあれば,そこにその内容を格納します。
+が指定されなければ、リモートマシン上のカレントディレクトリの内容が
+表示されます。
もしプロンプトがオンだったら、
-.Nm ftp
-は、指定したファイルにディレクトリ内容を書き出すかどうかを問い合わせます。
-何のディレクトリ指定もない場合には、
-リモートマシン上のカレントディレクトリの内容が表示されます。
+.Nm
+は、最後の引数が本当に
+.Ic dir
+の出力を書き込むローカルファイルかどうか問い合わせます。
+ローカルファイルの指定が無い場合、または
.Ar local-file
-の指定がない場合、もしくは
-.Fl
-と指定された場合には、実行結果は画面に表示されます。
+の指定が
+.Sq Fl
+だった場合は出力は画面に表示されます。
.It Ic disconnect
-.Ar close
-と同様です。
+.Ic close
+と同じです。
+.It Ic edit
+コマンドラインの編集機能、そして文脈に応じたコマンドとファイルの
+補完機能を切り替えます。
+これは入力が端末の場合は自動的に有効になり、そして
+そうでなければ無効になります。
+.It Ic exit
+.Ic bye
+と同じです。
+.It Ic ftp Ar host Op Ar port
+.Ic open
+と同じです。
.It Ic form Ar format
ファイル転送様式を
.Ar format
@@ -246,21 +306,38 @@ ASCII 形式で転送を行った時には復帰コードは
.It Ic get Ar remote-file Op Ar local-file
リモートマシン上のファイル
.Ar remote-file
-を取得し、ローカルマシン上に格納します。
-ローカルファイル名 local file が指定されない場合、
-ローカルファイル名は、取得したファイルの
+を取得してローカルマシン上に格納します。
+ローカルファイル名
+.Ar local file
+が指定されない場合、
+ローカルファイル名は取得したファイルの
リモートマシン上の名前と同じになります。
ただし、その名前は
.Ic case ,
.Ic ntrans ,
.Ic nmap
の設定により変更される事があります。
-現在の
+ファイル転送の時には現在の
.Ic type ,
.Ic form ,
.Ic mode ,
-.Ic stracture ,
-の設定はファイル転送の時に使用されます。
+.Ic structure
+の設定が使用されます。
+.It Ic gate Op Ar host Op Ar port
+gate-ftp モードを切り替えます。
+これは gate-ftp サーバが設定されていないと有効になりません
+(ユーザによって明示的に、または
+.Ev FTPSERVER
+環境変数によって)。
+.Ar host
+が与えられると、
+gate-ftp モードが有効になり、そして
+gate-ftp サーバが
+.Ar host
+に設定されます。
+.Ar port
+も同時に与えられると、それが
+gate-ftp サーバへ接続する際のポートとして使用されます。
.It Ic glob
.Ic mdelete ,
.Ic mget ,
@@ -269,9 +346,9 @@ ASCII 形式で転送を行った時には復帰コードは
.Ic glob
がオフの場合には、ファイル名は展開されずにそのままになります。
.Ic mput
-でのファイル名展開の規則は、
+でのファイル名展開の規則は
.Xr csh 1
-のファイル名展開規則と同様に行われます。
+のファイル名展開規則と同様です。
.Ic mdelete
.Ic mget
@@ -288,76 +365,72 @@ ASCII 形式で転送を行った時には復帰コードは
.Ic mput
はファイルのディレクトリ・サブツリーを全て転送する物ではありません。
-そのような時はサブツリーの
+そのようにしたい時はサブツリーの
.Xr tar 1
-のアーカイブをバイナリモードで転送する事によって実現できます。
-.It Ic hash
-1 データブロック受信するごとに、
+のアーカイブを作成してバイナリモードで転送します。
+.It Ic hash Op Ar size
+1 データブロック転送するごとに
ハッシュサイン (``#'') を出力するかどうかを切り替えます。
-デフォルトでは、1 データブロックは 1024byte です。
+デフォルトでは 1 データブロックは 1024byte です。
+これは
+.Ar size
+でバイト単位で指定する事で変更できます。
.It Ic help Op Ar command
引数
.Ar command
で指定したコマンドのヘルプメッセージを出力します。
引数が与えられない場合、
-.Nm ftp
-は、使用可能なコマンドの一覧を出力します。
+.Nm
+は使用可能なコマンドの一覧を出力します。
.It Ic idle Op Ar seconds
リモートサーバ上のアイドルタイマを
.Ar seconds
秒に設定します。
.Ar seconds
-が与えられない場合、現在のアイドルタイマ値を表示します。
+が与えられない場合は現在のアイドルタイマ値を表示します。
.It Ic lcd Op Ar directory
ローカルマシン上の作業ディレクトリを変更します。
.Ar directory
-名が与えられない場合、ユーザのホームディレクトリに移動します。
-.It Xo
-.Ic \&ls
-.Op Ar remote-directory
-.Op Ar local-file
-.Xc
+名が与えられない場合はユーザのホームディレクトリに移動します。
+.It Ic less Ar file
+.Ic page
+と同じです。
+.It Ic lpwd
+ローカルマシン上の作業ディレクトリを表示します。
+.It Ic \&ls Op Ar remote-directory Op Ar local-file
リモートマシンのディレクトリの内容のリストを表示します。
-このリストはサーバが選択した情報を含んでいます。
-例えば、ほとんどの
-.Ux
-システムでは
-.Ql ls \-l
-(
-.Ic nlist
-を参照 )
-の結果から出力を生成しています。
.Ar remote-directory
の指定が無い場合には、
代わりに現在の作業ディレクトリが使われます。
-もし、プロンプトモードになっているならば,
-.Nm ftp
+もしプロンプトモードになっているならば,
+.Nm
は、最後の引数が
-.Ic \&ls
+.Ic ls
の出力を受け取るローカルのファイルであるかをユーザーに問い合わせます。
.Ar local-file
の指定がない場合や
-.Sq Fl
+.Fl
が指定されている場合には、
-出力は画面に表示します。
-.It Ic macdefNs Ar macro-name
+出力は画面に表示されます。
+.It Ic macdef Ar macro-name
マクロ定義を行ないます。
-後続の行が、マクロ
+後続の行がマクロ
.Ar macro-name
として格納されます。
-空行 (1 つのファイル内での連続した復帰改行文字や端末からの復帰文字 ) は
+空行 (1 つのファイル内での連続した改行文字や端末からの連続した
+復帰文字) は
マクロの入力モードを終了させます。
-マクロの数の制限は 16 個で、全ての定義されたマクロは全部で 4096
+マクロの数の制限は 16 個で、定義されたマクロ全部で 4096
文字までがゆるされています。マクロは
.Ic close
コマンドが実行されるまで持続します。
マクロプロセッサは `$' と `\e' を特別な文字として解釈します。
-1つ以上の数字が続く `$' はコマンドラインで呼び出したマクロの
+1つ以上の数字が続く `$' は、コマンドラインで呼び出したマクロの
対応する引数によって置き換えられます。
-後ろに `i' 信号が付いた `$' は実行されているマクロプロセッサのループで
-使われます。
+後ろに `i' が続く `$' は、マクロプロセッサに対して実行している
+マクロのループを指示します。
最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に
-置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降でも
+置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降も
同様に置き換えられます。
後ろに任意の文字が続いている `\e' はその文字に置き換えられます。
`\e' は `$' の特別な扱いを避けるために使用します。
@@ -369,8 +442,8 @@ ASCII 形式で転送を行った時には復帰コードは
複数のリモートファイルを指定出来る点を除くと
.Ic dir
と同様です。
-プロンプトがオンの時には
-.Nm ftp
+プロンプトがオンの時には、
+.Nm
は最後の引数が
.Ic mdir
の出力を受け取るローカルファイルであるかをユーザーに問い合わせます。
@@ -380,7 +453,7 @@ ASCII 形式で転送を行った時には復帰コードは
で指定されたファイルを展開し、展開後の各ファイル名のファイルに対して
.Ic get
を実行します。
-ファイル名の展開の詳細は、
+ファイル名の展開の詳細は
.Ic glob
を参照してください。
生成されたファイル名は
@@ -401,10 +474,10 @@ ASCII 形式で転送を行った時には復帰コードは
複数のリモートファイル名を指定できる点と
.Ar local-file
を必ず指定しなければならない点を除くと
-.Ic nlist
+.Ic ls
と同様です。
-プロンプトがオンの時には
-.Nm ftp
+プロンプトがオンの時には、
+.Nm
は最後の引数が
.Ic mls
の出力を受け取る目標のローカルファイルであるかをユーザに確認します。
@@ -413,12 +486,16 @@ ASCII 形式で転送を行った時には復帰コードは
.Ic mode
.Ar mode-name
-で指定したものに変更します。
+で指定したものに設定します。
デフォルトは \*(Lqstream\*(Rq です。
.It Ic modtime Ar file-name
-リモートマシン上の指定ファイルの最終更新日付を参照します。
+リモートマシン上の指定ファイルの最終更新日時を参照します。
+.It Ic more Ar file
+.Ic page
+と同じです。
.It Ic mput Ar local-files
-引数として与えられたローカルファイルを展開し、
+引数として与えられたローカルファイルのリスト中の
+ワイルドカードを展開し、
展開後の各ファイル名のファイルに対して
.Ic put
を実行します。
@@ -430,36 +507,21 @@ ASCII 形式で転送を行った時には復帰コードは
.Ic nmap
の設定に従って処理されます。
+.It Ic msend Ar local-files
+.Ic mput
+と同じです。
.It Ic newer Ar file-name
-リモートマシンのファイルとローカルマシンのファイルを比較して、
-リモートマシンのファイルの方が新しい場合にのみ取得します。
-現在のシステムにファイルが無いときには、リモートファイルが
+リモートマシンのファイルの最終更新日時の方が
+ローカルマシンのファイルより新しい場合にのみファイルを取得します。
+現在のシステムにファイルが無いときには、リモートファイルの方が
.Ic 新しい
ものとして扱われます。
-その他に付いては
+その他については
.Ar get
-と全く同じです。
-.It Xo
-.Ic nlist
-.Op Ar remote-directory
-.Op Ar local-file
-.Xc
-リモートマシン上の、指定したディレクトリ上にあるファイルの一覧を表示します。
-もし
-.Ar remote-directory
-が指定されない場合、現在の作業ディレクトリのファイル一覧が表示されます。
-インタラクティブプロンプティングがオンになっており、
-.Ar local_file
-が指定されている場合、
-.Nm ftp
-は、
-.Ic nlist
-コマンドの結果を指定したファイルに格納するかを問い合わせます。
-ローカルファイルが指定されない場合、もしくは
-.Ar local-file
-が
-.Fl
-の場合には、端末に結果が表示されます。
+と同じです。
+.It Ic nlist Op Ar remote-directory Op Ar local-file
+.Ic ls
+と同じです。
.It Ic nmap Op Ar inpattern outpattern
ファイル名のマッピング機能を設定したり解除したりします。
引数が無い場合にはマッピング機能が解除されます。
@@ -472,7 +534,7 @@ ASCII 形式で転送を行った時には復帰コードは
.Ic mget
コマンドと
.Ic get
-コマンドのローカルファイルに対しても行われます。
+コマンドのローカルファイル名についても行われます。
このコマンドはファイルの命名規則が異なる
.Ux
ではないリモートマシンとの接続時に便利です。
@@ -487,7 +549,7 @@ ASCII 形式で転送を行った時には復帰コードは
.Ic case
によって処理されているかもしれない)
-入力ファイル名のテンプレートです。
+入力ファイル名のためのテンプレートです。
.Ar inpattern
に`$1', `$2', ..., `$9' の文字列を含むことによって、
変数を使用したテンプレートも使えます。
@@ -509,24 +571,24 @@ $2 は "data" という値になります。
文字列の `$1', `$2', ...., `$9' は
.Ar inpattern
のテンプレートから生成される値に置き換えられます。
-文字列の `$0' は元のファイル名に置き換えられます。
+文字列の `$0' は元のファイル名で置き換えられます。
さらに、文字列の
.Ql Op Ar seq1 , Ar seq2
.Ar seq1
-が空文字列でない時には、
+が空文字列でない時には
.Op Ar seq1
に、
-空文字列の時には、
+空文字列の時には
.Op Ar seq2
に置き換えられます。
-例えば、コマンド
+例えばコマンド
.Pp
.Bd -literal -offset indent -compact
nmap $1.$2.$3 [$1,$2].[$2,file]
.Ed
.Pp
-は
+は、
入力ファイル名 "myfile.data" と "myfile.data.old"
に対して出力ファイル名が "myfile.data" になり、
入力ファイル名 "myfile"
@@ -537,7 +599,7 @@ nmap $1.$2.$3 [$1,$2].[$2,file]
のように、
.Ar outpattern
にはスペースが入っていても構いません。
-文字 `$', `[', `[', `,' を特別扱いしたくない時には
+文字 `$', `[', `]', `,' を特別扱いしたくない時には
`\e' を使ってください。
.It Ic ntrans Op Ar inchars Op Ar outchars
ファイル名の文字変換機能を設定したり解除したりします。
@@ -546,7 +608,7 @@ nmap $1.$2.$3 [$1,$2].[$2,file]
.Ic mput
コマンドと
.Ic put
-コマンドの実行時に、リモートファイル名が変換されます。
+コマンドの実行時にリモートファイル名が変換されます。
同様な事が
.Ic mget
コマンドと
@@ -554,16 +616,16 @@ nmap $1.$2.$3 [$1,$2].[$2,file]
コマンドでもローカルファイルに対して行われます。
このコマンドは、
.Ux
-とは異なるファイル名規則のリモートマシンとの接続時に有効です。
-ファイル命中の文字で
+とは異なるファイル命名規則のリモートマシンとの接続時に有効です。
+ファイル名中の文字で、
.Ar inchars
の中の文字に一致するものが
.Ar outchars
-の相当する文字に置き換えられます。
+の対応する文字に置き換えられます。
.Ar inchars
-の中での文字の位置が、
+の中での文字の位置が
.Ar outchars
-の長さを越えている時にはその文字はファイル名から削除されます。
+の長さを越えている時には、その文字はファイル名から削除されます。
.It Ic open Ar host Op Ar port
指定した
.Ar host
@@ -573,20 +635,67 @@ nmap $1.$2.$3 [$1,$2].[$2,file]
ポート番号
.Ar port
を指定した場合、
-.Nm ftp
+.Nm
は指定したポート番号を用いて
.Tn FTP
-サーバとのコネクションの確立を行ないます。
+サーバとのコネクションの確立を試みます。
.Ic 自動ログイン
オプションがオン ( デフォルト時 ) の場合には、
-.Nm ftp
+.Nm
は自動的に
.Tn FTP
サーバに対してログインを行ないます ( 以下を参照 ) 。
+.It Ic page Ar file
+.Ic file
+を取得して、
+.Ev PAGER
+で指定されたプログラム
+(デフォルトは
+.Xr less 1
+)を使って表示します。
+.It Ic passive
+パッシブモードを切り替えます。パッシブモードがオン
+(デフォルトはオフ) なら、ftp クライアントは
+すべてのデータコネクションにおいて、通常の
+.Dv PORT
+コマンドの代わりに
+.Dv PASV
+コマンドを送ります。
+.Dv PASV
+コマンドはリモートのサーバにデータコネクションのためのポートを
+開いて、そのポートのアドレスを返すよう要求します。
+リモートサーバはそのポートで待ち、クライアントはそこに接続します。
+より伝統的な
+.Dv PORT
+コマンドを使う場合は、クライアントがポートで待ち、そしてそのアドレスを
+リモートサーバに送ってリモートサーバはそこに接続して来ます。
+パッシブモードは
+ゲートウェイ・ルータやトラフィックの方向を制御しているホストを
+経由して
+.Nm
+を使う場合に有用です。
+(注意: ftp サーバが RFC 1123 の
+.Dv PASV
+コマンドをサポートしている必要がありますが、サポートしていない
+場合もあります。)
+.It Ic preserve
+受け取ったファイルの更新日時を保存するかどうかを切り替えます。
+.It Ic progress
+転送の進行状況を表す棒グラフ表示を切り替えます。
+この棒グラフは、
+.Ar ローカルファイル
+として
+.Sq Fl
+か
+.Sq \&|
+で始まるコマンドが指定された転送では表示されません。
+詳しくは
+.Sx ファイル名の規則
+を参照して下さい。
.It Ic prompt
対話的プロンプトモードを切り替えます。
対話的プロンプトモードをオンにすることで、
-複数ファイル転送時に、転送ファイルの選択を行なえます。
+複数ファイル転送時に転送ファイルの選択を行なえます。
対話的プロンプトモードをオフにすると (デフォルトはオン)、
.Ic mget
@@ -594,20 +703,46 @@ nmap $1.$2.$3 [$1,$2].[$2,file]
で指定したファイルはすべて転送され、
.Ic mdelete
で指定したファイルはすべて削除されます。
+.Pp
+プロンプトモードがオンの時には、プロンプトにおいて以下の
+コマンドが使用できます:
+.Bl -tag -width 2n -offset indent
+.It Ic n
+ファイルを転送しません。
+.It Ic a
+現在のファイルについて
+.Sq yes
+とし、自動的に現在のコマンドに対する残りのすべての
+ファイルに対しても
+.Sq yes
+とします。
+.It Ic p
+現在のファイルについて
+.Sq yes
+とし、プロンプトモードをオフにします
+(あたかも
+.Dq prompt off
+が指定されたかのように)。
+.El
+.Pp
+これ以外の応答は現在のファイルに対する
+.Sq yes
+として扱われます。
.It Ic proxy Ar ftp-command
-ftp コマンドを二次制御接続上で実行します。
+ftp コマンドを 2次制御接続上で実行します。
本コマンドを用いることで、同時に 2 つのリモートマシンとコネクションを確立し、
-ファイル転送を行なうようにすることができるようになります。
+2つのサーバ間でファイル転送を行なうようにすることができるようになります。
最初の
.Ic proxy
-コマンドは、
-.Ic open ,
+コマンドは
+.Ic open
コマンドである必要があります。
これは、2 次的な制御コネクションを確立するために必要な操作です。
"proxy ?" とコマンドを実行することで、
2 次接続下で使用可能なコマンド一覧が表示されます。
+以下のコマンドは
.Ic proxy
-の後におかれた次のコマンドは異なった働きをします。
+の後におかれた時には異なった働きをします。
.Ic open
は自動ログイン処理中には新しいマクロの定義を行いません。
.Ic close
@@ -615,16 +750,16 @@ ftp コマンドを二次制御接続上で実行します。
.Ic get
.Ic mget
-は一次制御接続のホストから二次制御接続のホストにファイルの転送を行います。
+は 1次制御接続のホストから 2次制御接続のホストにファイルの転送を行います。
.Ic put
.Ic mput
.Ic append
-は二次制御接続のホストから一次制御接続のホストにファイルの転送を行います。
-第三者のファイル転送は二次制御接続のサーバが FTP プロトコルの
+は 2次制御接続のホストから 1次制御接続のホストにファイルの転送を行います。
+第三者のファイル転送は、2次制御接続のサーバが FTP プロトコルの
.Dv PASV
-コマンドをサポートしているのかに依存します。
+コマンドをサポートしているかどうかに依存します。
.It Ic put Ar local-file Op Ar remote-file
ローカルマシン上の指定ファイルをリモートマシンに転送します。
.Ar remote-file
@@ -645,19 +780,20 @@ ftp コマンドを二次制御接続上で実行します。
.Ic bye
と同じです。
.It Ic quote Ar arg1 arg2 ...
-引数で指定した文字列を、リモート
+引数で指定した文字列を、そのままリモート
.Tn FTP
サーバに送信します。
.It Ic recv Ar remote-file Op Ar local-file
-get と同じです。
+.Ic get
+と同じです。
.It Ic reget Ar remote-file Op Ar local-file
getと似ていますが、
.Ar local-file
-が存在しており、
+が存在しており
.Ar remote-file
よりサイズが小さい場合には、
.Ar local-file
-は、リモートファイルの一部であるとみなし、続きをコピーする点が異なります。
+がリモートファイルの一部であるとみなして続きをコピーする点が異なります。
本コマンドは、大きいファイルの転送中にコネクションが
切断されてしまった場合の続きを受信しなおす場合などに有用です。
.It Ic remotehelp Op Ar command-name
@@ -666,16 +802,12 @@ getと似ていますが、
サーバのヘルプメッセージを要求します。
.Ar command-name
が指定された場合にはそのコマンドのヘルプが表示されます。
-.It Ic remotestatus Op Ar file-name
-引数がない場合には、リモートマシンのステータスが表示されます。
+.It Ic rstatus Op Ar file-name
+引数がない場合にはリモートマシンのステータスが表示されます。
.Ar file-name
が指定されている場合には、
リモートマシン上の指定ファイルのステータスが表示されます。
-.It Xo
-.Ic rename
-.Op Ar from
-.Op Ar to
-.Xc
+.It Ic rename Op Ar from Op Ar to
リモートマシン上のファイル
.Ar from
が、
@@ -683,31 +815,31 @@ getと似ていますが、
というファイル名にリネームされます。
.It Ic reset
リプライキューをクリアします。
-本コマンドは、コマンド/リプライのシーケンスの再同期をとるのに使われます。
-再同期を取ることは、ftp プロトコル上の障害が発生した時に必要な操作です。
+本コマンドはコマンド/リプライのシーケンスの再同期をとるのに使われます。
+再同期を取ることは ftp プロトコル上の障害が発生した時に必要な操作です。
.It Ic restart Ar marker
.Ic get
.Ic put
-を、指定した
+を指定した
.Ar marker
位置から再開します。
.Ux
-システムにおいては、marker は通常ファイルのバイトオフセットで指定します。
+システムにおいては、通常 marker はファイルのバイトオフセットで指定します。
.It Ic restrict
データポートの幅を制限するかをオン/オフします。
パッシブモードでない時に、
-.Nm ftp
-クライアントは別々のデータポート上で、クライアントホストの方に
-リモートサーバが接続することを要求します。
+.Nm
+クライアントはリモートサーバに対して、独立したデータポートで
+クライアントホストに接続してくることを要求します。
前のバージョンでは、そのリモートポートは 1024 から 4999 までの幅に
収まっていました。
-しかし、ほとんどの防火壁 (fire wall) には他のサービスがあるために、
-TCPポートの幅をフィルタリングしています。
-現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で
-サーバがクライアントに対して接続してくることを要求しています。
-もし、安全上の危険性がないと考えるならば、防火壁管理者は
-その幅の中で TCP 接続の許可を行う選択ができます。
+しかしほとんどの防火壁 (fire wall) では、その範囲に他のサービスが
+あるために TCPポートをフィルタリングしています。
+現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で、
+サーバがクライアントに対して接続してくることを要求します。
+もしセキュリティ上の危険性がないと考えるならば、防火壁管理者は
+その幅での TCP 接続に対して許可を行うという選択ができます。
.It Ic rmdir Ar directory-name
リモートマシン上のディレクトリを消去します。
.It Ic runique
@@ -718,7 +850,7 @@ TCPポートの幅をフィルタリングしています。
.Ic mget
コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、
".1" が名前に付加されます。
-その名前が既に存在する時には、
+その名前も既に存在する時には
".2" が付加されます。
このように順番に処理をし、
".99" になっても存在する時には
@@ -730,40 +862,44 @@ TCPポートの幅をフィルタリングしています。
(下記参照)。
デフォルトではオフになっています。
.It Ic send Ar local-file Op Ar remote-file
-putと同じです。
+.Ic put
+と同じです。
.It Ic sendport
.Dv PORT
-コマンドの使用をするかどうか切り替えます。
+コマンドを使用するかどうか切り替えます。
デフォルトでは、
-.Nm ftp
-は
+.Nm
+は各データ転送用のコネクションの確立の際に
.Dv PORT
-を用いて各データ転送用のコネクションの確立を試みます。
+コマンドの使用を試みます。
.Dv PORT
-を使うことで、複数ファイル転送行なう場合の遅延を避けることが出来ます。
+を使うことで複数ファイル転送を行なう場合の遅延を避けることが出来ます。
.Dv PORT
コマンドが失敗した場合、
-.Nm ftp
+.Nm
はデフォルトのデータ・ポートを使用します。
.Dv PORT
コマンドが無効になった場合、データ転送時に
.Dv PORT
コマンドは使われません。
-このコマンドは
-.Dv PORT
-コマンドは無視しますが、受け入れたと返事を返すような
+これはある種の
.Tn FTP
-システムに対して有効です。
+の実装で
+.Dv PORT
+コマンドは無視するが、誤っていて、受け入れたと返事を返すような
+物に対して有効です。
.It Ic site Ar arg1 arg2 ...
引数で指定した文字列を、
.Dv SITE
-コマンドの引数として
+コマンドの引数としてそのまま
.Tn FTP
サーバに送信します。
.It Ic size Ar file-name
-リモートマシン上の指定したファイルのサイズを表示します。
+リモートマシン上の
+.Ar file-name
+で指定したファイルのサイズを表示します。
.It Ic status
-.Nm ftp
+.Nm
の現在の状態を表示します。
.It Ic struct Op Ar struct-name
ファイル転送の
@@ -775,7 +911,7 @@ putと同じです。
.It Ic sunique
リモートマシン上に転送するファイルのファイル名に対して、
一意な名前を付与するかどうかを切り替えます。
-この機能が使えるためには
+この機能が使えるためには、
リモートの FTP サーバが FTP のプロトコルの
.Dv STOU
コマンドをサポートしていなければなりません。
@@ -788,15 +924,15 @@ putと同じです。
マシンと
通信するために必要なファイル転送モードを設定します。
.It Ic trace
-パケットトレースをするかしないか切り替えます。
+パケットトレースをするかどうかを切り替えます。
.It Ic type Op Ar type-name
ファイル転送の
.Ic type
.Ar type-name
-に変更します。引数の指定がされない場合には、
+に変更します。引数が指定されない場合には
現在のファイル転送タイプを表示します。
-デフォルトタイプは、
+デフォルトタイプはネットワーク
.Tn ASCII
です。
.It Ic umask Op Ar newmask
@@ -804,11 +940,10 @@ putと同じです。
.Ar newmask
で指定した値に変更します。
.Ar newmask
-が設定されていない場合、現在の umask 値を表示します。
+が指定されていない場合は現在の umask 値を表示します。
.It Xo
.Ic user Ar user-name
-.Op Ar password
-.Op Ar account
+.Op Ar password Op Ar account
.Xc
ユーザをリモート
.Tn FTP
@@ -818,46 +953,129 @@ putと同じです。
.Tn FTP
サーバが必要とする場合は
( ローカルエコーをオフにしてから )
-.Nm ftp
+.Nm
がユーザに問い合わせます。
.Ar account
が指定されていなくて、
.Tn FTP
サーバが必要とする場合には、
-.Nm ftp
+.Nm
がユーザに問い合わせます。
リモートサーバがログイン時にアカウントを必要としないのに
.Ar account
-フィールドが指定された場合には、ログイン処理が完了後に、
+フィールドが指定された場合には、ログイン処理の完了後に
account コマンドがリモートサーバに渡されます。
「自動ログイン」を無効にした状態で
-.Nm ftp
+.Nm
が呼び出されない限り、
この処理は
.Tn FTP
サーバに最初につながった時に自動的に行われます。
.It Ic verbose
-冗長モードの切り替えをします。
-冗長モードの時には
+饒舌モードの切り替えをします。
+饒舌モードの時には
.Tn FTP
サーバからの全ての応答が表示されます。
-さらに、このモードがオンの時にはファイル転送が終了した時に
+さらにこのモードがオンの時には、ファイル転送が終了した時に
転送効率に関する統計が報告されます。
デフォルトではオンになっています。
.It Ic ? Op Ar command
-helpコマンドと同じです。
+.Ic help
+コマンドと同じです。
.El
.Pp
スペースを含むコマンドの引数は、`"' マークで括って下さい。
+.Pp
+設定を切り替えるコマンドでは、設定を指定するために明示的に
+.Ic on
+か
+.Ic off
+を引数として指定できます。
+.Pp
+.Nm
+が転送中に
+.Dv SIGINFO
+(
+.Xr stty 1
+の引数
+.Dq status
+を参照)
+シグナルを受けると、その時点での転送レートの統計情報が
+終了時の標準的なフォーマットと同じ形式で標準エラー出力に書き出されます。
+.Sh ファイルの自動取得
+標準的なコマンドに加えて、
+このバージョンの
+.Nm
+は自動取得の機能をサポートします。
+単にホスト名/ファイルのリストをコマンドラインで渡すと
+自動取得が有効になります。
+.Pp
+自動取得の指定では以下の形式を認識します:
+.Bl -tag -width "host:/file"
+.It host:/file
+.Dq 古典的な
+ftp の形式
+.It ftp://[user:password@]host[:port]/file
+ftp URL形式で、
+.Ev ftp_proxy
+が定義されていなければ ftpプロトコルで取得します。
+そうでなければ
+.Ev ftp_proxy
+で指定されたプロキシを経由した http を使って転送します。
+.Ar user:password@
+が指定されていて
+.Ev ftp_proxy
+が定義されていない場合は、
+パスワードに
+.Ar password
+を使って
+.Ar user
+でログインします。
+.It http://host[:port]/file
+HTTP URL形式、http プロトコルで取得します。
+.Ev http_proxy
+が定義されている場合は、その内容が HTTPプロキシサーバの
+URL として使用されます。
+.El
+.Pp
+古典的な形式または ftp URL形式で最後に
+.Sq /
+がある場合は、
+.Nm
+はサイトに接続して与えられたパスのディレクトリに
+.Ic cd
+し、以降の入力を受け付けるために対話モードに入ります。
+.Pp
+自動取得の対象が複数指定されていて、連続しているものが同じホストを
+参照している時は、接続の確立と切断によるオーバヘッドを避けるために
+複数の転送にわたって接続が維持されます。
+.Pp
+ファイル名の展開がオンで
+.Ic file
+が展開の対象となる文字を含んでいるなら
+(
+.Ic glob
+参照)
+.Ic "mget file"
+と同じ事を行います。
+.Pp
+.Ic file
+のディレクトリ部分が展開の対象となる文字を含まなければ、
+ファイルは
+.Ic file
+から
+.Xr basename 1
+で得られる名前で現在のディレクトリに置かれます。
+そうでなければリモートの名前をローカルでの名前として使います。
.Sh ファイル転送の中止
ファイル転送を中断するためには、
端末のインタラプトキー (通常は Ctrl-C) を打鍵してください。
-データ送信については、ただちに停止します。
-データ受信については、 ftp プロトコルの
+データ送信はただちに停止します。
+データ受信は、ftp プロトコルの
.Dv ABOR
-コマンドをリモートサーバに送ることで、サーバからのデータ送信がとまります。
-そして、それ以降の受信データは捨てられます。
-これが行われる速度はリモートサーバが
+コマンドをリモートサーバに送ることでサーバからのデータ送信がとまります。
+そしてそれ以降の受信データは捨てられます。
+これが行われる速度は、リモートサーバが
.Dv ABOR
コマンドをサポートする方式に依存します。
リモートサーバが
@@ -868,18 +1086,18 @@ helpコマンドと同じです。
というプロンプトは現れません。
.Pp
端末からの割り込みキー入力は、
-.Nm ftp
-が何かローカルの処理が完了している時には無視され、
-リモートサーバからの応答を待ちます。
-このモードでの長い遅延は上記でも述べたように ABOR 処理の結果に
+.Nm
+が何かローカルの処理をすでに完了していて
+リモートサーバからの応答を待っている時には無視されます。
+このモードでの長い遅延は上でも述べたように ABOR 処理の結果に
よるものか、 ftp のプロトコル違反を含めたリモートサーバによる
-予期せぬ動作のどちらかです。
-もし、遅延の結果がリモートサーバによる予期せぬ動作によるものであるならば、
+予期せぬ動作のどちらかによるものです。
+もしリモートサーバの予期せぬ動作の結果による遅延であるならば、
ローカルの
-.Nm ftp
-プログラムは手動で終了しなければなりません。
+.Nm
+プログラムは手動で終了 (kill) しなければなりません。
.Sh ファイル名の規則
-.Nm ftp
+.Nm
コマンドの引数として指定されたファイル名は、以下の規則で処理されます。
.Bl -enum
.It
@@ -895,59 +1113,62 @@ helpコマンドと同じです。
.It
ファイル名の先頭の文字が
.Sq \&|
-の場合には、その後に指定された文字列はすべて、シェルコマンドと解釈されます。
-.Nm ftp
-は引数のある
+の場合には、その後に指定された文字列はすべてシェルコマンドと解釈されます。
+.Nm
+は与えられた引数をつけて
.Xr popen 3
-を用いてシェルをよびだし、標準出力(標準入力)から読み出す(書き込む)ます。
-シェルコマンドにスペースが含まれている時には、
+を用いてシェルを呼び出し、標準入力から(標準出力へ)読み出し(書き込み)ます。
+シェルコマンドにスペースが含まれている時には
引数は引用符で囲まれなければなりません。
(例:
\*(Lq" ls -lt"\*(Rq
)
-特に有用な例としては、 \*(Lqdir more\*(Rq があります。
+特に有用な例としては \*(Lqdir \&|more\*(Rq があります。
.It
上記のチェックにひっかからず、 ``globbing'' が許可されている場合、
-ローカルファイル名は、
+ローカルファイル名は
.Xr csh 1
のファイル名展開規則にしたがって展開されます。
-( 詳細は
+(詳細は
.Ic glob
コマンドを参照)
-ただし、 ftp のコマンドが、 1 つのファイル名しか必要としない場合
-( 例えば
+ただし、
+.Nm
+のコマンドが 1 つのファイル名しか必要としない場合
+(例えば
.Ic put
-)
-ファイル名が展開された後の最初のファイル名だけが使用されます。
+) は、ファイル名が展開された後の最初のファイル名だけが使用されます。
.It
.Ic mget
コマンドと
.Ic get
-コマンドにおいて、ローカルファイル名が指定されない場合、
-ローカルファイル名は、リモートファイル名と同一になります。
-ただし、これらのファイル名は、
+コマンドにおいてローカルファイル名が指定されない場合、
+ローカルファイル名はリモートファイル名と同一になります。
+ただし、これらのファイル名は
.Ic case ,
.Ic ntrans ,
.Ic nmap
-の設定によって、変わることもあります。
-また、
+の設定によって変わることもあります。
+結果として得られたファイル名は、
.Ic runique
-が設定されている場合にも、ファイル名が変わることがあります。
+が設定されていればさらに変わるかもしれません。
.It
.Ic mput
コマンドと
.Ic put
-コマンドにおいて、リモートファイル名が指定されない場合、
-リモートファイル名は、ローカルファイル名と同一になります。
-ただし、これらのファイル名は、
-.Ic ntrans
+コマンドにおいてリモートファイル名が指定されない場合、
+リモートファイル名はローカルファイル名と同一になります。
+ただし、これらのファイル名は
+.Ic ntrans ,
.Ic nmap
-の設定によって、変わることもあります。また、
+の設定によって変わることもあります。
+結果として得られたファイル名は、
.Ic sunique
-が設定されている場合にも、ファイル名が変わることがあります。
+が設定されていればリモートサーバによって
+さらに変えられるかも知れません。
.El
.Sh ファイル転送パラメータ
-ftp では、ファイル転送時に影響を及ぼす多くのパラメータがあります。
+FTPの仕様にはファイル転送時に影響を及ぼす多くのパラメータがあります。
.Ic type
は、\*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), \*(Lqebcdic\*(Rq,
\*(Lqlocal byte size\*(Rq (
@@ -955,14 +1176,14 @@ ftp では、ファイル転送時に影響を及ぼす多くのパラメータがあります。
および
.Tn PDP Ns -20
でよく使われます) が指定可能です。
-.Nm ftp
+.Nm
は、ascii と image のタイプを指定可能なのに加えて、
.Ic tenex
-モードの転送を指定することにより、
+モードの転送を指定することにより
ローカルバイトサイズ 8 を指定することが可能です。
.Pp
-.Nm ftp
-では、他に
+.Nm
+では、他の
.Ic mode ,
.Ic form ,
.Ic struct
@@ -973,49 +1194,53 @@ ftp では、ファイル転送時に影響を及ぼす多くのパラメータがあります。
.Pa .netrc
ファイルは、ユーザのホームディレクトリに置きます。
.Pa .netrc
-では、以下の予約語が解釈されます。これらは、スペース、タブ、そして
+では以下の予約語が解釈されます。これらはスペース、タブそして
new-line によって分割されます。
.Bl -tag -width password
.It Ic machine Ar name
リモートマシン名
.Ar name
を定義します。
-自動ログイン処理は、
+自動ログイン処理は
.Pa .netrc
ファイル中に
.Ic machine
トークンがあるかどうか探し、そのエントリが
-.Nm ftp
-のコマンドラインもしくは、
+.Nm
+のコマンドラインもしくは
.Ic open
コマンドの引数と一致するかどうかチェックします。
-一致するエントリがあった場合、他の
+一致するエントリがあった場合は後に続く
.Pa .netrc
-トークンが処理され、その処理はファイル最後尾まで行き着くか、他の
+トークンが処理され、その処理はファイル最後尾に行き着くか他の
.Ic machine
-トークンか
+トークンまたは
.Ic default
トークンに出くわすまで続きます。
.It Ic default
-いろんな名前として解釈される、ワイルドカード的な働きがあることを除けば
+いろんな名前と一致するワイルドカード的な働きがあることを除けば
.Ic machine
.Ar name
と同様です。
.Ic default
トークンは、
.Pa .netrc
-ファイル中 1 エントリだけが許され、
-しかも他の全てのエントリの後ろにしか本エントリが存在できません。
-通常は、
+ファイル中に 1 エントリだけが許され、
+しかも他の全ての
+.Ic machine
+トークンより後ろでなければなりません。
+通常は
.Pp
.Dl default login anonymous password user@site
.Pp
のように使用されます。
-本エントリは、主に anonymous ログインを許している ftp サイト向けに使われます。
+本エントリによって
.Pa .netrc
-ファイルは、
+に指定の無い ftp サイトに自動で anonymous ログインを試みるようになります。
.Fl n
-フラグを付加して ftp を起動することで、無視することが出来ます。
+フラグを付加して ftp を起動することで
+.Pa .netrc
+ファイルを無視することが出来ます。
.It Ic login Ar name
リモートマシンにおけるログイン名を指定します。
本トークンが与えられている場合、自動ログイン処理は
@@ -1023,20 +1248,21 @@ new-line によって分割されます。
をログイン名としてログインしようとします。
.It Ic password Ar string
パスワードを指定します。
-本トークンが指定されている場合、自動ログイン処理は指定した文字列を
-リモートマシンのパスワードとして使用します。
+本トークンが指定されている場合でリモートサーバがログイン処理中に
+パスワードを要求する場合は、自動ログイン処理は指定した文字列を
+送ります。
.Pa .netrc
ファイルにおいて、
.Ar anonymous
以外のユーザエントリにおいて本トークンが登録されており、なおかつ
.Pa .netrc
-がオーナ以外読める属性である場合には、
-.Nm ftp
+がユーザ以外から読める属性である場合には
+.Nm
は自動ログイン処理を中断します。
.It Ic account Ar string
追加のアカウントパスワードを登録します。
このトークンがあると、
-もし、追加のアカウントパスワードをリモートホストが必要とする時に、
+もし追加のアカウントパスワードをリモートホストが必要とする時に
自動ログインプロセスが指定された文字列を与えます。
そうでない場合には、自動ログインプロセスは
.Dv ACCT
@@ -1044,7 +1270,7 @@ new-line によって分割されます。
.It Ic macdef Ar name
マクロを定義します。
このトークンの機能は
-.Nm ftp
+.Nm
.Ic macdef
コマンドの機能に似ています。
マクロは指定された名前を用いて定義されます。
@@ -1053,33 +1279,101 @@ new-line によって分割されます。
の次の行から始まり、空行 ( 改行文字の連続 ) が現れるまで続きます。
.Ic init
というマクロが定義されているならば、
-自動ログイン処理の中での最後の段階として自動的に実行されます。
+自動ログイン処理の中での最後の段階で自動的に実行されます。
.El
+.Sh コマンドラインの編集機能
+.Nm
+は
+.Xr editline 3
+ライブラリを使った対話的なコマンドラインの編集をサポートします。
+これは
+.Ic edit
+コマンドによって有効になり、そして入力が tty からの場合は
+デフォルトで有効になっています。
+カーソルキーで以前の行を呼び出して編集できます。
+そして他にも GNU Emacs スタイルの編集用のキーが使えます。
+.Pp
+.Xr editline 3
+ライブラリは
+.Pa .editrc
+ファイルで設定できます - より詳しくは
+.Xr editrc 5
+を参照して下さい。
+.Pp
+.Nm
+には、文脈に依存したコマンドとファイル名の補完
+(リモートファイルの補完を含む) 機能を提供するための
+追加のキー割り当てが用意されています。
+これを使うためには
+.Xr editline 3
+の
+.Ic ftp-complete
+コマンドにキーを割り当てて下さい。
+これはデフォルトで TAB キーに割り当てられています。
.Sh 環境変数
-.Nm ftp
+.Nm
は、以下の環境変数を使用します。
.Bl -tag -width "FTP_PASSIVE_MODE"
.It Ev FTP_PASSIVE_MODE
パッシブモードの FTP をデフォルトで使用します。
+.It Ev FTPSERVER
+.Ic gate
+が有効な時に gate-ftpサーバとして使用するホスト。
+.It Ev FTPSERVERPORT
+.Ic gate
+が有効な時に gate-ftpサーバに接続するのに使うポート。
+デフォルトは
+.Dq ftpgate/tcp
+で
+.Fn getservbyname
+を呼び出して返って来たポート。
.It Ev HOME
+定義されていれば
.Pa .netrc
-ファイルがあるならそのデフォルトの置き場所となります。
+ファイルのデフォルトの置き場所となります。
+.It Ev PAGER
+.Ic page
+でファイルを表示する際に使われます。
.It Ev SHELL
デフォルトで起動するシェルを定義します。
+.It Ev ftp_proxy
+FTP URLリクエストを発行する時に使う FTPプロキシの URL
+(定義されていなければ標準の ftpプロトコルを使います)。
+.It Ev http_proxy
+HTTP URLリクエストを発行する時に使う HTTPプロキシの URL。
.El
.Sh 関連項目
+.Xr getservbyname 3 ,
+.Xr editrc 5 ,
+.Xr services 5 ,
.Xr ftpd 8
+.Sh 注釈
+.Xr pftp 1
+と
+.Xr gate-ftp 1
+コマンドは
+.Nm
+にリンクされています。
.Sh 歴史
-.Nm ftp
+.Nm
コマンドは
.Bx 4.2
から実装されました。
+.Pp
+コマンドラインの編集、文脈に依存したコマンドとファイルの補完、
+進行状況を表す棒グラフ、ファイルの自動的な取得、
+ftp と http 形式の URL、更新時刻の保存といった各種の機能は
+.Nx 1.3
+で
+Luke Mewburn によって、Jason Thorpe のアシスタントを得て実装されました。
.Sh バグ
-多くのコマンドの動作は、リモートサーバの動作に依存します。
+多くのコマンドの正しい動作は、リモートサーバの適切な動作に依存します。
.Pp
.Bx 4.2
-の ascii モードでの転送時の復帰の取り扱いのエラーは訂正されています。
-この訂正の結果として、バイナリファイルを ascii タイプを使用して転送した時、
+の ascii モードでの転送時の復帰文字の取り扱いのエラーは訂正されています。
+この訂正の結果として、
+.Bx 4.2
+のサーバとの間でバイナリファイルを ascii タイプを使用して転送した時に
不正転送をひき起こすことが
-あります。この問題を回避するためには、バイナリモードを用いて
+あります。この問題を回避するためにはバイナリモードを用いて
ファイル転送をして下さい。