diff options
Diffstat (limited to 'ja/man/man1/ftp.1')
-rw-r--r-- | ja/man/man1/ftp.1 | 1083 |
1 files changed, 1083 insertions, 0 deletions
diff --git a/ja/man/man1/ftp.1 b/ja/man/man1/ftp.1 new file mode 100644 index 0000000000..f56d2a4439 --- /dev/null +++ b/ja/man/man1/ftp.1 @@ -0,0 +1,1083 @@ +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. 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. +.\" +.\" from: @(#)ftp.1 8.2 (Berkeley) 12/30/93 +.\" jpman %Id: ftp.1,v 1.3 1997/08/20 12:54:33 horikawa Stab % +.\" +.Dd December 30, 1993 +.Dt FTP 1 +.Os BSD 4.2 +.Sh 名称 +.Nm ftp +.Nd +.Tn ARPANET +ファイル転送プログラム +.Sh 書式 +.Nm ftp +.Op Fl v +.Op Fl d +.Op Fl i +.Op Fl n +.Op Fl U +.Op Fl p +.Op Fl g +.Op Ar host +.Sh 解説 +.Nm ftp +は、 +.Tn ARPANET +標準のファイル転送プロトコルを用いてファイル転送を実現するためのコマンドです。 +本コマンドは、ネットワークを介して接続されているコンピュータ間で +ファイルを転送する手段をユーザに提供します。 +.Pp +オプションは、コマンドライン上か、コマンドインタプリタで指定できます。 +.Bl -tag -width flag +.It Fl v +データ転送状況と、 +リモートサーバからのすべてのレスポンスを表示するように指定します。 +.It Fl n +相手サーバへ +.Nm ftp +が最初に接続する際、\*(L自動ログイン\*(Rq を行いません。 +自動ログインが許可された場合は、 +.Nm ftp +は、そのリモートマシンのアカウントを記述しているエントリがあるかどうかを、 +ftp を起動したユーザのホームディレクトリの +.Pa .netrc +(下記参照) +ファイルに対して調べます。 +そのファイルにエントリがない場合には、 +.Nm ftp +はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ +ID) を要求します。 +そして、もし必要があればログイン用のパスワードと +アカウントの入力もうながします。 +.It Fl i +複数のファイルの転送中に、プロンプトを出さないようにします。 +.It Fl d +デバッグモードを有効にします。 +.It Fl g +ファイル名の正規表現の解釈を無効にします。 +.It Fl U +データポートの範囲の制限を無効にします。 +.It Fl p +ファイアーウォールを越える接続のためのパッシブモード操作を有効にします。 +.El +.Pp +.Nm ftp +は、通信相手をコマンドラインで指定することが出来ます。通信相手を +コマンドラインで指定した場合、 +.Nm ftp +は指定したリモートマシンの +.Tn FTP +サーバプログラムとの接続を行ないます。それ以外の場合、 +.Nm ftp +はコマンドインタプリタとして動作し、ユーザからの +コマンド入力待ち状態になります。このとき +.Nm ftp +は、 +.Ql ftp> +というプロンプトを出力します。 +本状態の時には、 +.Nm ftp +は以下のコマンドを受け付けます。 +.Bl -tag -width Fl +.It Ic \&! Op Ar command Op Ar args +ローカルマシン上でシェルを起動します。 +引数が指定された場合、最初の引数をコマンドとして実行し、 +それ以降の引数は、そのコマンドに対する引数として解釈されます。 +.It Ic \&$ Ar macro-name Op Ar args +.Ar macro-name +で定義されたマクロを実行します。マクロは、 +.Ic macdef +コマンドで定義出来ます。 +.Ar args +で指定された文字列は、展開されずにマクロに対して引き渡されます。 +.It Ic account Op Ar passwd +一旦 ftp ユーザとしてログインに成功したユーザが、 +リモートマシン上の資源を扱うためのパスワードを入力します。 +引数が指定されない場合、ユーザに対してパスワード入力を促す表示がされます。 +パスワードはエコーバックされません。 +.It Ic append Ar local-file Op Ar remote-file +リモートマシン上のファイルを、ローカルファイルに追加書き込みします。 +もし、 +.Ar remote-file +が指定されていなければ、ローカルファイルの名前を +.Ic ntrans +や +.Ic nmap +で修正した名前をリモートファイル名として使います。 +ファイル転送は +.Ic type , +.Ic format , +.Ic mode , +.Ic structure +の現在の設定が使われます。 +.It Ic ascii +転送ファイルの +.Ic type +を +.Tn ASCII +形式にします。 +これは、デフォルト時の設定です。 +.It Ic bell +ファイル転送終了時にベルを鳴らすかどうかを指定します。 +.It Ic binary +転送ファイルの +.Ic type +をバイナリ形式にします。 +イメージファイルなど、バイナリファイルを転送する時には本指定は必須です。 +.It Ic bye +リモートサーバとの +.Tn FTP +セッションを終了し、 +.Nm ftp +を終了します。 +EOF を入力した場合も同様です。 +.It Ic case +.Ic mget +コマンドで連続してファイルを取得する場合、リモートマシン上の +ファイル名の大文字小文字の区別を指定します。 +デフォルトでは +.Ic case +はオフですが、オンの場合には、リモートマシンファイル名は、 +すべて大文字に変換されます。 +そして、ローカル マシンのディレクトリ上では、小文字に変換されます。 +.It Ic \&cd Ar remote-directory +リモートマシン上での作業ディレクトリを +.Ar remote-directory +へ変更します。 +.It Ic cdup +リモートマシン上での作業ディレクトリを一つ上に変更させます。 +.It Ic chmod Ar mode file-name +.Ar file-name +で指定したリモートマシン上のファイルの属性を、 +.Ar mode +で指定したものに変更します。 +.It Ic close +.Tn FTP +セッションを終了します。そしてコマンド入力待ちのプロンプトを表示します。 +すでに定義されたマクロはすべて無効になります。 +.It Ic \&cr +ASCII 形式ファイルの転送を行なう場合に、 +復帰コードの除去を行なうかどうかを変更します。 +ASCII 形式のファイル転送時には、 +復帰/改行 +の文字列によってレコードが認識されます。 +.Ic \&cr +がオン(デフォルト)の時には、改行コードのみでレコードを区切る +.Ux +に適合するように、 +復帰コードが文字列から除去されます。 +.Ux +以外のリモートのシステムのレコードは +復帰コードのみを区切り記号としている場合があります。 +ASCII 形式で転送を行った時には復帰コードは +.Ic \&cr +がオフの場合にだけレコード区切り記号と区別されます。 +.It Ic delete Ar remote-file +リモートマシン上のファイル +.Ar remote-file +を削除します。 +.It Ic debug Op Ar debug-value +デバッグモードを有効にします。 +.Ar debug-value +が指定されると、デバッグレベルが設定されます。 +デバッグモードが有効になると、 +.Nm ftp +はリモートマシンに送信されたコマンドを +.Ql \-\-> +に続けて表示します。 +.It Xo +.Ic dir +.Op Ar remote-directory +.Op Ar local-file +.Xc +.Ar remote-directory +で指定されたディレクトリの内容を表示します。 +そして、 +.Ar local-file +が指定してあれば,そこにその内容を格納します。 +もしプロンプトがオンだったら、 +.Nm ftp +は、指定したファイルにディレクトリ内容を書き出すかどうかを問い合わせます。 +何のディレクトリ指定もない場合には、 +リモートマシン上のカレントディレクトリの内容が表示されます。 +.Ar local-file +の指定がない場合、もしくは +.Fl +と指定された場合には、実行結果は画面に表示されます。 +.It Ic disconnect +.Ar close +と同様です。 +.It Ic form Ar format +ファイル転送様式を +.Ar format +と指定します。 +デフォルトでは、様式は \*(Lqfile\*(Rq となります。 +.It Ic get Ar remote-file Op Ar local-file +リモートマシン上のファイル +.Ar remote-file +を取得し、ローカルマシン上に格納します。 +ローカルファイル名 local file が指定されない場合、 +ローカルファイル名は、取得したファイルの +リモートマシン上の名前と同じになります。 +ただし、その名前は +.Ic case , +.Ic ntrans , +.Ic nmap +の設定により変更される事があります。 +現在の +.Ic type , +.Ic form , +.Ic mode , +.Ic stracture , +の設定はファイル転送の時に使用されます。 +.It Ic glob +.Ic mdelete , +.Ic mget , +.Ic mput +を行なう場合のファイル名の展開のオン/オフを切り替えます。 +.Ic glob +がオフの場合には、ファイル名は展開されずにそのままになります。 +.Ic mput +でのファイル名展開の規則は、 +.Xr csh 1 +のファイル名展開規則と同様に行われます。 +.Ic mdelete +と +.Ic mget +の場合には、 +各々のリモートファイル名はリモートマシン上で別々に展開され、 +リストはマージされません。 +ディレクトリ名の展開は普通のファイル名の展開と異なる事があります。 +つまり、展開の結果はリモートの OS と FTP サーバに依存しています。 +これは +.Ql mls remote-files \- +を実行する事によってあらかじめ知ることができます。 +注意: +.Ic mget +と +.Ic mput +はファイルのディレクトリ・サブツリーを全て転送する物ではありません。 +そのような時はサブツリーの +.Xr tar 1 +のアーカイブをバイナリモードで転送する事によって実現できます。 +.It Ic hash +1 データブロック受信するごとに、 +ハッシュサイン (``#'') を出力するかどうかを切り替えます。 +デフォルトでは、1 データブロックは 1024byte です。 +.It Ic help Op Ar command +引数 +.Ar command +で指定したコマンドのヘルプメッセージを出力します。 +引数が与えられない場合、 +.Nm ftp +は、使用可能なコマンドの一覧を出力します。 +.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 +リモートマシンのディレクトリの内容のリストを表示します。 +このリストはサーバが選択した情報を含んでいます。 +例えば、ほとんどの +.Ux +システムでは +.Ql ls \-l +( +.Ic nlist +を参照 ) +の結果から出力を生成しています。 +.Ar remote-directory +の指定が無い場合には、 +代わりに現在の作業ディレクトリが使われます。 +もし、プロンプトモードになっているならば, +.Nm ftp +は、最後の引数が +.Ic \&ls +の出力を受け取るローカルのファイルであるかをユーザーに問い合わせます。 +.Ar local-file +の指定がない場合や +.Sq Fl +が指定されている場合には、 +出力は画面に表示します。 +.It Ic macdefNs Ar macro-name +マクロ定義を行ないます。 +後続の行が、マクロ +.Ar macro-name +として格納されます。 +空行 (1 つのファイル内での連続した復帰改行文字や端末からの復帰文字 ) は +マクロの入力モードを終了させます。 +マクロの数の制限は 16 個で、全ての定義されたマクロは全部で 4096 +文字までがゆるされています。マクロは +.Ic close +コマンドが実行されるまで持続します。 +マクロプロセッサは `$' と `\e' を特別な文字として解釈します。 +1つ以上の数字が続く `$' はコマンドラインで呼び出したマクロの +対応する引数によって置き換えられます。 +後ろに `i' 信号が付いた `$' は実行されているマクロプロセッサのループで +使われます。 +最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に +置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降でも +同様に置き換えられます。 +後ろに任意の文字が続いている `\e' はその文字に置き換えられます。 +`\e' は `$' の特別な扱いを避けるために使用します。 +.It Ic mdelete Op Ar remote-files +リモートマシンの +.Ar remote-files +を削除します。 +.It Ic mdir Ar remote-files local-file +複数のリモートファイルを指定出来る点を除くと +.Ic dir +と同様です。 +プロンプトがオンの時には +.Nm ftp +は最後の引数が +.Ic mdir +の出力を受け取るローカルファイルであるかをユーザーに問い合わせます。 +.It Ic mget Ar remote-files +リモートマシンで +.Ar remote-files +で指定されたファイルを展開し、展開後の各ファイル名のファイルに対して +.Ic get +を実行します。 +ファイル名の展開の詳細は、 +.Ic glob +を参照してください。 +生成されたファイル名は +.Ic case , +.Ic ntrans , +.Ic nmap +の設定に従い処理されます。 +ファイルはローカルの作業ディレクトリに転送されます。 +そのディレクトリは +.Ql lcd directory +で変更できます。 +ローカルの新しいディレクトリは +.Ql "\&! mkdir directory" +で作成できます。 +.It Ic mkdir Ar directory-name +リモートマシンにディレクトリを作ります。 +.It Ic mls Ar remote-files local-file +複数のリモートファイル名を指定できる点と +.Ar local-file +を必ず指定しなければならない点を除くと +.Ic nlist +と同様です。 +プロンプトがオンの時には +.Nm ftp +は最後の引数が +.Ic mls +の出力を受け取る目標のローカルファイルであるかをユーザに確認します。 +.It Ic mode Op Ar mode-name +ファイル転送モード +.Ic mode +を +.Ar mode-name +で指定したものに変更します。 +デフォルトは \*(Lqstream\*(Rq です。 +.It Ic modtime Ar file-name +リモートマシン上の指定ファイルの最終更新日付を参照します。 +.It Ic mput Ar local-files +引数として与えられたローカルファイルを展開し、 +展開後の各ファイル名のファイルに対して +.Ic put +を実行します。 +ファイル名の展開の詳細については +.Ic glob +を参照してください。 +生成されたファイル名は +.Ic ntrans +と +.Ic nmap +の設定に従って処理されます。 +.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 nmap Op Ar inpattern outpattern +ファイル名のマッピング機能を設定したり解除したりします。 +引数が無い場合にはマッピング機能が解除されます。 +引数がある場合には、出力先のリモートファイル名の指定されていない +.Ic mput +コマンドと +.Ic put +コマンドの実行時に、リモートファイル名がマップされます。 +同様な事が +.Ic mget +コマンドと +.Ic get +コマンドのローカルファイルに対しても行われます。 +このコマンドはファイルの命名規則が異なる +.Ux +ではないリモートマシンとの接続時に便利です。 +マッピングは +.Ar inpattern +と +.Ar outpattern +によって設定されたパターンに従って行われます。 +.Op Ar inpattern +は (すでに +.Ic ntrans +と +.Ic case +によって処理されているかもしれない) +入力ファイル名のテンプレートです。 +.Ar inpattern +に`$1', `$2', ..., `$9' の文字列を含むことによって、 +変数を使用したテンプレートも使えます。 +`$' を特別扱いしたくない時には +`\\' を使ってください。 +他の文字はそのままその文字として扱われ、 +.Ic nmap +の +.Op Ar inpattern +変数の値を決めるのに用いられます。 +例えば、 +.Ar inpattern +として $1.$2 が、 +リモートファイルの名前として "mydata.data" が +与えられた時に、$1 は "mydata" という値となり, +$2 は "data" という値になります。 +.Ar outpattern +は生成されるマッピング後のファイル名を決定します。 +文字列の `$1', `$2', ...., `$9' は +.Ar inpattern +のテンプレートから生成される値に置き換えられます。 +文字列の `$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" +に対して出力ファイル名が "myfile.file" になり、 +入力ファイル名 ".myfile" に対して +出力ファイル名が "myfile.myfile"になります。 +例えば、`nmap $1 sed "s/ *$//" > $1' +のように、 +.Ar outpattern +にはスペースが入っていても構いません。 +文字 `$', `[', `[', `,' を特別扱いしたくない時には +`\e' を使ってください。 +.It Ic ntrans Op Ar inchars Op Ar outchars +ファイル名の文字変換機能を設定したり解除したりします。 +引数が無い場合には文字変換機能が解除されます。 +引数がある場合には、出力先のリモートファイル名の指定されていない +.Ic mput +コマンドと +.Ic put +コマンドの実行時に、リモートファイル名が変換されます。 +同様な事が +.Ic mget +コマンドと +.Ic get +コマンドでもローカルファイルに対して行われます。 +このコマンドは、 +.Ux +とは異なるファイル名規則のリモートマシンとの接続時に有効です。 +ファイル命中の文字で +.Ar inchars +の中の文字に一致するものが +.Ar outchars +の相当する文字に置き換えられます。 +.Ar inchars +の中での文字の位置が、 +.Ar outchars +の長さを越えている時にはその文字はファイル名から削除されます。 +.It Ic open Ar host Op Ar port +指定した +.Ar host +の +.Tn FTP +サーバとのコネクションを確立します。 +ポート番号 +.Ar port +を指定した場合、 +.Nm ftp +は指定したポート番号を用いて +.Tn FTP +サーバとのコネクションの確立を行ないます。 +.Ic 自動ログイン +オプションがオン ( デフォルト時 ) の場合には、 +.Nm ftp +は自動的に +.Tn FTP +サーバに対してログインを行ないます ( 以下を参照 ) 。 +.It Ic prompt +対話的プロンプトモードを切り替えます。 +対話的プロンプトモードをオンにすることで、 +複数ファイル転送時に、転送ファイルの選択を行なえます。 +対話的プロンプトモードをオフにすると (デフォルトはオン)、 +.Ic mget +や +.Ic mput +で指定したファイルはすべて転送され、 +.Ic mdelete +で指定したファイルはすべて削除されます。 +.It Ic proxy Ar ftp-command +ftp コマンドを二次制御接続上で実行します。 +本コマンドを用いることで、同時に 2 つのリモートマシンとコネクションを確立し、 +ファイル転送を行なうようにすることができるようになります。 +最初の +.Ic proxy +コマンドは、 +.Ic open , +コマンドである必要があります。 +これは、2 次的な制御コネクションを確立するために必要な操作です。 +"proxy ?" とコマンドを実行することで、 +2 次接続下で使用可能なコマンド一覧が表示されます。 +.Ic proxy +の後におかれた次のコマンドは異なった働きをします。 +.Ic open +は自動ログイン処理中には新しいマクロの定義を行いません。 +.Ic close +はマクロの削除を行いません。 +.Ic get +と +.Ic mget +は一次制御接続のホストから二次制御接続のホストにファイルの転送を行います。 +.Ic put +と +.Ic mput +と +.Ic append +は二次制御接続のホストから一次制御接続のホストにファイルの転送を行います。 +第三者のファイル転送は二次制御接続のサーバが FTP プロトコルの +.Dv PASV +コマンドをサポートしているのかに依存します。 +.It Ic put Ar local-file Op Ar remote-file +ローカルマシン上の指定ファイルをリモートマシンに転送します。 +.Ar remote-file +が指定されない場合には、転送先でのファイル名は、 +.Ic ntrans +か +.Ic nmap +の設定に基づく処理を行ったローカルファイルの名前が用いられます。 +ファイル転送には +.Ic type , +.Ic format , +.Ic mode , +.Ic structure +の現在の設定が用いられます。 +.It Ic pwd +現在のリモートマシン上での作業ディレクトリを表示します。 +.It Ic quit +.Ic bye +と同じです。 +.It Ic quote Ar arg1 arg2 ... +引数で指定した文字列を、リモート +.Tn FTP +サーバに送信します。 +.It Ic recv Ar remote-file Op Ar local-file +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 +リモート +.Tn FTP +サーバのヘルプメッセージを要求します。 +.Ar command-name +が指定された場合にはそのコマンドのヘルプが表示されます。 +.It Ic remotestatus Op Ar file-name +引数がない場合には、リモートマシンのステータスが表示されます。 +.Ar file-name +が指定されている場合には、 +リモートマシン上の指定ファイルのステータスが表示されます。 +.It Xo +.Ic rename +.Op Ar from +.Op Ar to +.Xc +リモートマシン上のファイル +.Ar from +が、 +.Ar to +というファイル名にリネームされます。 +.It Ic reset +リプライキューをクリアします。 +本コマンドは、コマンド/リプライのシーケンスの再同期をとるのに使われます。 +再同期を取ることは、ftp プロトコル上の障害が発生した時に必要な操作です。 +.It Ic restart Ar marker +.Ic get +や +.Ic put +を、指定した +.Ar marker +位置から再開します。 +.Ux +システムにおいては、marker は通常ファイルのバイトオフセットで指定します。 +.It Ic restrict +データポートの幅を制限するかをオン/オフします。 +パッシブ・モードでない時に、 +.Nm ftp +クライアントは別々のデータポート上で、クライアントホストの方に +リモートサーバが接続することを要求します。 +前のバージョンでは、そのリモートポートは 1024 から 4999 までの幅に +収まっていました。 +しかし、ほとんどの防火壁 (fire wall) には他のサービスがあるために、 +TCPポートの幅をフィルタリングしています。 +現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で +サーバがクライアントに対して接続してくることを要求しています。 +もし、安全上の危険性がないと考えるならば、防火壁管理者は +その幅の中で TCP 接続の許可を行う選択ができます。 +.It Ic rmdir Ar directory-name +リモートマシン上のディレクトリを消去します。 +.It Ic runique +ローカルマシンに保存されるファイルに対して +ユニークな名前を付加するかどうかを切り替えます。 +.Ic get +や +.Ic mget +コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、 +".1" が名前に付加されます。 +その名前が既に存在する時には、 +".2" が付加されます。 +このように順番に処理をし、 +".99" になっても存在する時には +エラーメッセージが表示され、転送は行われません。 +生成されたユニークなファイル名は報告されます。 +注意: +.Ic runique +はシェルコマンドで生成されるファイル名には効果がありません +(下記参照)。 +デフォルトではオフになっています。 +.It Ic send Ar local-file Op Ar remote-file +putと同じです。 +.It Ic sendport +.Dv PORT +コマンドの使用をするかどうか切り替えます。 +デフォルトでは、 +.Nm ftp +は +.Dv PORT +を用いて各データ転送用のコネクションの確立を試みます。 +.Dv PORT +を使うことで、複数ファイル転送行なう場合の遅延を避けることが出来ます。 +.Dv PORT +コマンドが失敗した場合、 +.Nm ftp +はデフォルトのデータ・ポートを使用します。 +.Dv PORT +コマンドが無効になった場合、データ転送時に +.Dv PORT +コマンドは使われません。 +このコマンドは +.Dv PORT +コマンドは無視しますが、受け入れたと返事を返すような +.Tn FTP +システムに対して有効です。 +.It Ic site Ar arg1 arg2 ... +引数で指定した文字列を、 +.Dv SITE +コマンドの引数として +.Tn FTP +サーバに送信します。 +.It Ic size Ar file-name +リモートマシン上の指定したファイルのサイズを表示します。 +.It Ic status +.Nm ftp +の現在の状態を表示します。 +.It Ic struct Op Ar struct-name +ファイル転送の +.Ar structure +を +.Ar struct-name +に設定します。 +デフォルトでは、\*(Lqstream\*(Rq に設定されています。 +.It Ic sunique +リモートマシン上に転送するファイルのファイル名に対して、 +一意な名前を付与するかどうかを切り替えます。 +この機能が使えるためには +リモートの FTP サーバが FTP のプロトコルの +.Dv STOU +コマンドをサポートしていなければなりません。 +リモートサーバがユニークな名前を報告します。 +デフォルトではこの機能はオフになっています。 +.It Ic system +リモートマシンで稼働している OS のタイプを表示します。 +.It Ic tenex +.Tn TENEX +マシンと +通信するために必要なファイル転送モードを設定します。 +.It Ic trace +パケットトレースをするかしないか切り替えます。 +.It Ic type Op Ar type-name +ファイル転送の +.Ic type +を +.Ar type-name +に変更します。引数の指定がされない場合には、 +現在のファイル転送タイプを表示します。 +デフォルトタイプは、 +.Tn ASCII +です。 +.It Ic umask Op Ar newmask +リモートサーバのデフォルトの umask 値を +.Ar newmask +で指定した値に変更します。 +.Ar newmask +が設定されていない場合、現在の umask 値を表示します。 +.It Xo +.Ic user Ar user-name +.Op Ar password +.Op Ar account +.Xc +ユーザをリモート +.Tn FTP +サーバに認識させます。 +.Ar password +が指定されていなくて、 +.Tn FTP +サーバが必要とする場合は +( ローカルエコーをオフにしてから ) +.Nm ftp +がユーザに問い合わせます。 +.Ar account +が指定されていなくて、 +.Tn FTP +サーバが必要とする場合には、 +.Nm ftp +がユーザに問い合わせます。 +リモートサーバがログイン時にアカウントを必要としないのに +.Ar account +フィールドが指定された場合には、ログイン処理が完了後に、 +account コマンドがリモートサーバに渡されます。 +「自動ログイン」を無効にした状態で +.Nm ftp +が呼び出されない限り、 +この処理は +.Tn FTP +サーバに最初につながった時に自動的に行われます。 +.It Ic verbose +冗長モードの切り替えをします。 +冗長モードの時には +.Tn FTP +サーバからの全ての応答が表示されます。 +さらに、このモードがオンの時にはファイル転送が終了した時に +転送効率に関する統計が報告されます。 +デフォルトではオンになっています。 +.It Ic ? Op Ar command +helpコマンドと同じです。 +.El +.Pp +スペースを含むコマンドの引数は、`"' マークで括って下さい。 +.Sh ファイル転送の中止 +ファイル転送を中断するためには、 +端末のインタラプトキー (通常は Ctrl-C) を打鍵してください。 +データ送信については、ただちに停止します。 +データ受信については、 ftp プロトコルの +.Dv ABOR +コマンドをリモートサーバに送ることで、サーバからのデータ送信がとまります。 +そして、それ以降の受信データは捨てられます。 +これが行われる速度はリモートサーバが +.Dv ABOR +コマンドをサポートする方式に依存します。 +リモートサーバが +.Dv ABOR +コマンドをサポートしていない時には、 +リモートサーバが要求したファイルを送り終るまで +.Ql ftp> +というプロンプトは現れません。 +.Pp +端末からの割り込みキー入力は、 +.Nm ftp +が何かローカルの処理が完了している時には無視され、 +リモートサーバからの応答を待ちます。 +このモードでの長い遅延は上記でも述べたように ABOR 処理の結果に +よるものか、 ftp のプロトコル違反を含めたリモートサーバによる +予期せぬ動作のどちらかです。 +もし、遅延の結果がリモートサーバによる予期せぬ動作によるものであるならば、 +ローカルの +.Nm ftp +プログラムは手動で終了しなければなりません。 +.Sh ファイル名の規則 +.Nm ftp +コマンドの引数として指定されたファイル名は、以下の規則で処理されます。 +.Bl -enum +.It +ファイル名として +.Sq Fl +が指定された場合、 +入力ファイル名の場合には標準入力 +.Ar stdin +が、 +出力ファイル名の場合には標準出力 +.Ar stdout +が使用されます。 +.It +ファイル名の先頭の文字が +.Sq \&| +の場合には、その後に指定された文字列はすべて、シェルコマンドと解釈されます。 +.Nm ftp +は引数のある +.Xr popen 3 +を用いてシェルをよびだし、標準出力(標準入力)から読み出す(書き込む)ます。 +シェルコマンドにスペースが含まれている時には、 +引数は引用符で囲まれなければなりません。 +(例: +\*(Lq" ls -lt"\*(Rq +) +特に有用な例としては、 \*(Lqdir more\*(Rq があります。 +.It +上記のチェックにひっかからず、 ``globbing'' が許可されている場合、 +ローカルファイル名は、 +.Xr csh 1 +のファイル名展開規則にしたがって展開されます。 +( 詳細は +.Ic glob +コマンドを参照) +ただし、 ftp のコマンドが、 1 つのファイル名しか必要としない場合 +( 例えば +.Ic put +) +ファイル名が展開された後の最初のファイル名だけが使用されます。 +.It +.Ic mget +コマンドと +.Ic get +コマンドにおいて、ローカルファイル名が指定されない場合、 +ローカルファイル名は、リモートファイル名と同一になります。 +ただし、これらのファイル名は、 +.Ic case , +.Ic ntrans , +.Ic nmap +の設定によって、変わることもあります。 +また、 +.Ic runique +が設定されている場合にも、ファイル名が変わることがあります。 +.It +.Ic mput +コマンドと +.Ic put +コマンドにおいて、リモートファイル名が指定されない場合、 +リモートファイル名は、ローカルファイル名と同一になります。 +ただし、これらのファイル名は、 +.Ic ntrans +.Ic nmap +の設定によって、変わることもあります。また、 +.Ic sunique +が設定されている場合にも、ファイル名が変わることがあります。 +.El +.Sh ファイル転送パラメータ +ftp では、ファイル転送時に影響を及ぼす多くのパラメータがあります。 +.Ic type +は、\*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), \*(Lqebcdic\*(Rq, +\*(Lqlocal byte size\*(Rq ( +.Tn PDP Ns -10 +および +.Tn PDP Ns -20 +でよく使われます) が指定可能です。 +.Nm ftp +は、ascii と image のタイプを指定可能なのに加えて、 +.Ic tenex +モードの転送を指定することにより、 +ローカルバイトサイズ 8 を指定することが可能です。 +.Pp +.Nm ftp +では、他に +.Ic mode , +.Ic form , +.Ic struct +のパラメータではデフォルト値だけが使用可能です。 +.Sh .netrc ファイル +.Pa .netrc +ファイルは、自動ログイン処理においてのログインおよび初期設定情報を記述します。 +.Pa .netrc +ファイルは、ユーザのホームディレクトリに置きます。 +.Pa .netrc +では、以下の予約語が解釈されます。これらは、スペース、タブ、そして +new-line によって分割されます。 +.Bl -tag -width password +.It Ic machine Ar name +リモートマシン名 +.Ar name +を定義します。 +自動ログイン処理は、 +.Pa .netrc +ファイル中に +.Ic machine +トークンがあるかどうか探し、そのエントリが +.Nm ftp +のコマンドラインもしくは、 +.Ic open +コマンドの引数と一致するかどうかチェックします。 +一致するエントリがあった場合、他の +.Pa .netrc +トークンが処理され、その処理はファイル最後尾まで行き着くか、他の +.Ic machine +トークンか +.Ic default +トークンに出くわすまで続きます。 +.It Ic default +いろんな名前として解釈される、ワイルドカード的な働きがあることを除けば +.Ic machine +.Ar name +と同様です。 +.Ic default +トークンは、 +.Pa .netrc +ファイル中 1 エントリだけが許され、 +しかも他の全てのエントリの後ろにしか本エントリが存在できません。 +通常は、 +.Pp +.Dl default login anonymous password user@site +.Pp +のように使用されます。 +本エントリは、主に anonymous ログインを許している ftp サイト向けに使われます。 +.Pa .netrc +ファイルは、 +.Fl n +フラグを付加して ftp を起動することで、無視することが出来ます。 +.It Ic login Ar name +リモートマシンにおけるログイン名を指定します。 +本トークンが与えられている場合、自動ログイン処理は +.Ar name +をログイン名としてログインしようとします。 +.It Ic password Ar string +パスワードを指定します。 +本トークンが指定されている場合、自動ログイン処理は指定した文字列を +リモートマシンのパスワードとして使用します。 +.Pa .netrc +ファイルにおいて、 +.Ar anonymous +以外のユーザエントリにおいて本トークンが登録されており、なおかつ +.Pa .netrc +がオーナ以外読める属性である場合には、 +.Nm ftp +は自動ログイン処理を中断します。 +.It Ic account Ar string +追加のアカウントパスワードを登録します。 +このトークンがあると、 +もし、追加のアカウントパスワードをリモートホストが必要とする時に、 +自動ログインプロセスが指定された文字列を与えます。 +そうでない場合には、自動ログインプロセスは +.Dv ACCT +コマンドを与えます。 +.It Ic macdef Ar name +マクロを定義します。 +このトークンの機能は +.Nm ftp +.Ic macdef +コマンドの機能に似ています。 +マクロは指定された名前を用いて定義されます。 +その内容は +.Pa .netrc +の次の行から始まり、空行 ( 改行文字の連続 ) が現れるまで続きます。 +.Ic init +というマクロが定義されているならば、 +自動ログイン処理の中での最後の段階として自動的に実行されます。 +.El +.Sh 環境変数 +.Nm ftp +は、以下の環境変数を使用します。 +.Bl -tag -width Fl +.It Ev HOME +.Pa .netrc +ファイルがあるならそのデフォルトの置き場所となります。 +.It Ev SHELL +デフォルトで起動するシェルを定義します。 +.El +.Sh 関連項目 +.Xr ftpd 8 +.Sh 歴史 +.Nm ftp +コマンドは +.Bx 4.2 +から実装されました。 +.Sh バグ +多くのコマンドの動作は、リモートサーバの動作に依存します。 +.Pp +.Bx 4.2 +の ascii モードでの転送時の復帰の取り扱いのエラーは訂正されています。 +この訂正の結果として、バイナリファイルを ascii タイプを使用して転送した時、 +不正転送をひき起こすことが +あります。この問題を回避するためには、バイナリモードを用いて +ファイル転送をして下さい。 |