総合手引 | セクション 1 | English | オプション |
書式の後ろから 5 個の引数では、 HTTP または FTP プロトコルを使うか、直接コピーするかにより、ファイルを カレントディレクトリに取得します。 この機能はスクリプト用に最適です。 詳細な情報は、以下の ファイルの自動取得 を参照して下さい。
オプションは、コマンドライン上で指定するか、 コマンドインタプリタに対し指定できます。
| |
ftp に IPv4 アドレスのみを使用するよう強制します。 | |
| |
ftp に IPv6 アドレスのみを使用するよう強制します。 | |
| |
アクティブモード ftp の使用を強制します。 デフォルトでは、 ftp はパッシブモード ftp を試みたあとで、サーバがパッシブモードを サポートしない場合、アクティブモードになります。 このオプションにより、 ftp は常にアクティブコネクションを使用するようになります。 これが有用なのは、パッシブモードを適切に実装していない 非常に古いサーバに接続するときだけです。 | |
| |
ftp は通常のログイン手続きを飛ばして、かわりに anonymous ログインを 使います。 | |
| |
デバッグを有効にします。 | |
| |
コマンドラインでの編集を無効にします。 Emacs の ange-ftp モードで使うと有用です。 | |
| |
FTP プロキシまたは、 HTTP プロキシ経由で転送する際に、キャッシュの再ロードを強制します。 | |
| |
ファイル名展開を無効にします。 | |
| |
複数ファイル転送を行っている間の対話的プロンプトモードを オフにします。 | |
| |
自動取得でない転送において、 最初に接続する際に ftp に "自動ログイン" を行なわせないようにします。 自動ログインが有効な場合は、 ftp はユーザのホームディレクトリの .netrc (下記参照) ファイルに、リモートマシンのアカウントを記述している エントリがあるかどうかを調べます。 エントリが存在しない場合には、 ftp はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ ID) を要求します。 そして、もし必要があればログイン用のパスワードと アカウントの入力も促します。 自動取得の転送において自動ログインを上書きするためには、 ユーザ名 (と、場合によりパスワードと) を適切に指定してください。 | |
| |
~/.netrc ではなく、 netrc を使います。 これ以上の詳しい情報については、 .netrc ファイル のセクションを参照してください。 | |
| |
ファイルを自動取得する際、ファイル内容を output に格納します。 output は、以下の、 ファイル名前付け規則 に従い解釈されます。 output が '-' でもなく、また、 'amp;|' から始まらない場合は、指定されたファイルのうち最初のものだけを 取り込み、 output に格納します。 他のファイル全てはリモート名のベースネームに 格納します。 | |
| |
ファイアウォールを越える接続のためのパッシブモード操作を有効にします。 現在、 ftp はパッシブモードをまず試み、その後サーバがパッシブ接続を サポートしていない場合にアクティブモードに移る動作が デフォルトであるため、このオプションは推奨されていません。 | |
| |
ポート番号を port に設定します。 | |
| |
接続に失敗した場合、 wait 秒待って、接続を再度試みます。 | |
| |
接続が quittime 秒以上止まると、終了します。 | |
| |
プロキシを介さない自動取得の全てを再度開始します。 | |
| |
パケットのトレースを有効にします。 | |
| |
コマンド行で指定したファイルを、 URL にアップロードします。 ここで、 URL は、自動取得でサポートされる ftp URL タイプのいずれか 1 個です (但し、ファイル 1 個だけアップロードする場合、ターゲットファイル名を 付けても構いません)。 file は、アップロードするローカルファイル 1 個以上です。 | |
| |
verbose と progress を有効にします。 出力が端末である場合 ( progress については、さらに ftp がフォアグラウンドプロセスの場合)、これがデフォルトです。 ftp はデータ転送状況と、 リモートサーバからのすべてのレスポンスを表示します。 | |
| |
入力が端末からの場合に、デフォルトの有効設定を上書きして、 verbose と progress をともに無効にします。 | |
ftp は、通信相手をコマンドラインで指定することが出来ます。 通信相手を コマンドラインで指定した場合、 ftp は即座に指定したリモートマシンの FTP サーバプログラムとの接続を試みます。 それ以外の場合、 ftp は内部のコマンドインタプリタに入り、ユーザからの コマンド入力を待ちます。 ftp がユーザからのコマンド入力待ち状態にあるときは、 ‘ftp>’ というプロンプトを出力します。 本状態の時には、 ftp は以下のコマンドを受け付けます。
amp;! [command [args]] | |
ローカルマシン上でシェルを起動します。 引数が指定された場合、最初の引数をコマンドとして実行し、 それ以降の引数はそのコマンドに対する引数として処理されます。 | |
amp;$ macro-name [args] | |
macdef コマンドで定義されたマクロ macro-name を実行します。 引数は展開されずにマクロに対して引き渡されます。 | |
account [passwd] | |
一旦ログインに成功したあとで、資源にアクセスするためにリモートマシンから 要求される追加のパスワードを入力します。 引数が指定されない場合、ユーザに対してアカウントパスワード入力を 促すプロンプト表示がされます。 この場合の入力モードはエコーバック無しです。 | |
append local-file [remote-file] | |
ローカルファイルをリモートマシン上のファイルに追加書き込みします。 もし、 remote-file が指定されていなければ、ローカルファイルの名前を ntrans や nmap の設定により修正した名前をリモートファイル名として使います。 ファイル転送では type, format, mode, structure の現在の設定が使われます。 | |
ascii | 転送ファイルの type をネットワーク ASCII 形式にします。 これはデフォルト時の設定です。 |
bell | 各ファイル転送コマンド終了時にベルを鳴らすように設定します。 |
binary | |
ファイル転送 type をバイナリイメージ転送をサポートするようにします。 | |
bye | リモートサーバとの FTP セッションを終了し、 ftp を終了します。 EOF を入力した場合も同様に終了します。 |
case | get, mget, mput コマンドの際に行なわれる、リモートマシン上での ファイル名前付けの大文字小文字の対応を切り替えます。 デフォルトでは case はオフですが、オンの場合にはリモートマシンファイル名の すべての大文字が小文字に変換されて、ローカル マシンのディレクトリに 書き込まれます。 |
amp;cd remote-directory | |
リモートマシン上での作業ディレクトリを remote-directory へ変更します。 | |
cdup | リモートマシン上での作業ディレクトリを親ディレクトリに変更します。 |
chmod mode remote-file | |
リモートマシン上のファイル remote-file の属性を、 mode で指定したものに変更します。 | |
close | リモートサーバとの FTP セッションを終了します。 そしてコマンドインタプリタに戻ります。 定義されたマクロはすべて無効になります。 |
amp;cr | ASCII タイプでファイルの転送を行なう場合に、 復帰文字の除去を行なうかどうかを変更します。 ASCII 形式のファイル転送時には、 復帰/改行 の文字列によってレコードを表します。 amp;cr がオン (デフォルト) の時には、改行コードのみでレコードを区切る Unix に適合するように、 復帰コードが転送データ列から除去されます。 Unix 以外のリモートのシステムのレコードは 単独の改行文字を含む可能性があります。 ASCII タイプで転送を行った時には、そういった改行文字は amp;cr がオフの場合にだけレコード区切り記号と区別して扱うことができます。 |
debug [debug-value] | |
デバッグモードを切り替えます。 debug-value が指定されるとデバッグレベルとして設定されます。 デバッグモードが有効になると、 ftp はリモートマシンに送信されたコマンドを ‘-->’ に続けて表示します。 | |
delete remote-file | |
リモートマシンのファイル remote-file を削除します。 | |
dir [remote-path [local-file]] | |
リモートマシン上のディレクトリの内容を表示します。 表示内容にはサーバが選択したシステム依存の情報を含みます。 例えば大部分の Unix システムは ‘ls -l’ コマンドから得られる出力を表示します。 もし remote-path が指定されなければ、リモートマシン上のカレントディレクトリの内容が 表示されます。 もしプロンプトがオンだったら、 ftp は、最後の引数が本当に dir の出力を書き込むローカルファイルかどうか問い合わせます。 ローカルファイルの指定が無い場合、または local-file の指定が '-' だった場合は出力は画面に表示されます。 | |
disconnect | |
close と同じです。 | |
edit | コマンドラインの編集機能、そして文脈に応じたコマンドとファイルの 補完機能を切り替えます。 これは入力が端末の場合は自動的に有効になり、そして そうでなければ無効になります。 |
epsv4 | IPv4 コネクションで拡張コマンドである EPSV, EPRT コマンドを使用するかどうかを切り替えます。 まず、 EPSV / EPRT を試み、その後で、 PASV / PORT を行ないます。 デフォルトで有効になっています。 拡張コマンドに失敗すると、現在の接続の間だけ、 もしくは、 epsv4 を再度実行するまで、本オプションは一時的に無効とされます。 |
exit | bye と同じです。 |
features | |
リモートサーバがどの機能をサポートしているかを (コマンド FEAT を使い) 表示します。 | |
fget localfile | |
localfile 中で一覧が指定されたファイルを取得します。 localfile では、1 行 1 ファイル名です。 | |
form format | |
ファイル転送形式を format と指定します。 デフォルトの (かつ唯一サポートされている) 形式は、 "non-print" です。 | |
ftp host [port] | |
open と同じです。 | |
gate [host [port]] | |
gate-ftp モードのオンオフを切替えます。 このモードは、TIS FWTK や、Gauntlet ftp プロキシ経由の接続の際に使用します。 (ユーザが明示的に指定するか、 環境変数 FTPSERVER で指定するかにより) gate-ftp サーバが設定されていない場合、 このモードの使用は許されません。 host が与えられた場合、gate-ftp モードが有効になり、gate-ftp サーバとして host が設定されます。 これに加え、 port も与えられた場合、gate-ftp サーバに接続するポートとして使用します。 | |
get remote-file [local-file] | |
リモートマシン上のファイル remote-file を取得してローカルマシン上に格納します。 ローカルファイル名 local-file が指定されない場合、 ローカルファイル名は取得したファイルの リモートマシン上の名前と同じになります。 ただし、その名前は case, ntrans, nmap の設定により変更される事があります。 ファイル転送の時には現在の type, form, mode, structure の設定が使用されます。 | |
glob | mdelete, mget, mput, mreget を行なう場合のファイル名の展開のオン/オフを切り替えます。 glob がオフの場合には、ファイル名は展開されずにそのままになります。 mput でのファイル名展開の規則は csh(1) のファイル名展開規則と同様です。 mdelete, mget, mreget の場合には、 各々のリモートファイル名はリモートマシン上で別々に展開され、 リストはマージされません。 ディレクトリ名の展開は普通のファイル名の展開と異なる事があります。 つまり、展開の結果はリモートの OS と FTP サーバに依存しています。 これは ‘mls remote-files -’ を実行する事によってあらかじめ知ることができます。 注: mget, mput, mreget はファイルのディレクトリサブツリーを全て転送するものではありません。 そのようにしたい時はサブツリーの tar(1) のアーカイブを作成してバイナリモードで転送します。 |
hash [size] | |
1 データブロック転送するごとに ハッシュサイン (``#'') を出力するかどうかを切り替えます。 デフォルトでは 1 データブロックは 1024byte です。 これは size でバイト単位で指定する事で変更できます。 hash を有効にすると、 progress が無効になります。 | |
help [command] | |
引数 command の意味に関するヘルプメッセージを出力します。 引数が与えられない場合、 ftp は使用可能なコマンドの一覧を出力します。 | |
idle [seconds] | |
リモートサーバ上のアイドルタイマを seconds 秒に設定します。 seconds が与えられない場合は現在のアイドルタイマ値を表示します。 | |
image | binary と同じです。 |
lcd [directory] | |
ローカルマシン上の作業ディレクトリを変更します。 directory 名が与えられない場合はユーザのホームディレクトリに移動します。 | |
less file | |
page と同じです。 | |
lpage local-file | |
set pager オプションで指定したプログラムで local-file を表示します。 | |
lpwd | ローカルマシン上の作業ディレクトリを表示します。 |
amp;ls [remote-path [local-file]] | |
dir と同じです。 | |
macdef macro-name | |
マクロ定義を行ないます。 後続の行がマクロ macro-name として格納されます。 空行 (1 つのファイル内での連続した改行文字や端末からの連続した 復帰文字) は マクロの入力モードを終了させます。 マクロの数の制限は 16 個で、定義されたマクロ全部で 4096 文字までがゆるされています。 マクロは close コマンドが実行されるまで定義された状態を持続します。 マクロプロセッサは `$' と `\' を特別な文字として解釈します。 1つ以上の数字が続く `$' は、コマンドラインで呼び出したマクロの 対応する引数によって置き換えられます。 後ろに `i' が続く `$' は、マクロプロセッサに対して実行している マクロのループを指示します。 最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に 置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降も 同様に置き換えられます。 後ろに任意の文字が続いている `\' はその文字に置き換えられます。 `\' は `$' の特別な扱いを避けるために使用します。 | |
mdelete [remote-files] | |
リモートマシンの remote-files を削除します。 | |
mdir remote-files local-file | |
複数のリモートファイルを指定出来る点を除くと dir と同様です。 プロンプトがオンの時には、 ftp は最後の引数が mdir の出力を受け取るローカルファイルであるかをユーザに問い合わせます。 | |
mget remote-files | |
リモートマシンで remote-files で指定されたファイルを展開し、展開により生成された各ファイル名の ファイルに対して get を実行します。 ファイル名の展開の詳細は glob を参照してください。 生成されたファイル名は case, ntrans, nmap の設定に従い処理されます。 ファイルはローカルの作業ディレクトリに転送されます。 そのディレクトリは ‘lcd directory’ で変更できます。 ローカルの新しいディレクトリは ‘amp;! mkdir directory’ で作成できます。 | |
mkdir directory-name | |
リモートマシンにディレクトリを作ります。 | |
mls remote-files local-file | |
複数のリモートファイル名を指定できる点と local-file を必ず指定しなければならない点を除くと ls と同様です。 プロンプトがオンの時には、 ftp は最後の引数が mls の出力を受け取る目標のローカルファイルであるかをユーザに確認します。 | |
mlsd [remote-path] | |
remote-path (指定のない場合はカレントディレクトリがデフォルトになります) の内容を、 MLSD を使い機械可読の形式で表示します。 表示形式は、 'remopts mlst ...' により変更できます。 | |
mlst [remote-path] | |
remote-path (指定のない場合はカレントディレクトリがデフォルトになります) の詳細な情報を、 MLST を使い機械可読の形式で表示します。 表示形式は、 'remopts mlst ...' により変更できます。 | |
mode mode-name | |
ファイル転送モード mode を mode-name で指定したものに設定します。 デフォルトの (かつ唯一サポートされる) モードは、 "stream" です。 | |
modtime remote-file | |
リモートマシン上の指定ファイルの最終更新日時を参照します。 | |
more file | |
page と同じです。 | |
mput local-files | |
引数として与えられたローカルファイルのリスト中の ワイルドカードを展開し、 展開後の各ファイル名のファイルに対して put を実行します。 ファイル名の展開の詳細については glob を参照してください。 生成されたファイル名は ntrans と nmap の設定に従って処理されます。 | |
mreget remote-files | |
mget と同様ですが、 get ではなく、 reget を実行するところが異なります。 | |
msend local-files | |
mput と同じです。 | |
newer remote-file [local-file] | |
リモートマシンのファイルの最終更新日時の方が ローカルマシンのファイルより新しい場合にのみファイルを取得します。 現在のシステムにファイルが無いときには、リモートファイルの方が 新しい ものとして扱われます。 その他については get と同じです。 | |
nlist [remote-path [local-file]] | |
ls と同じです。 | |
nmap [inpattern outpattern] | |
ファイル名のマッピング機能を設定したり解除したりします。
引数が無い場合にはマッピング機能が解除されます。
引数がある場合には、出力先のリモートファイル名の指定されていない
mput
コマンドと
put
コマンドの実行時に、リモートファイル名がマップされます。
同様な事が
mget
コマンドと
get
コマンドのローカルファイル名についても行われます。
このコマンドはファイルの命名規則、命名習慣が異なる非
Unix
リモートマシンとの接続時に便利です。
マッピングは
inpattern
と
outpattern
によって設定されたパターンに従って行われます。
[inpattern]
は (すでに
ntrans
と
case
によって処理済の)
入力ファイル名のためのテンプレートです。
inpattern
に `$1', `$2', ..., `$9' の文字列を含むことによって、
変数を使用したテンプレートも使えます。
`$' を特別扱いしたくない時には
`\' を使ってください。
他の文字はそのままその文字として扱われ、
nmap
の
[inpattern]
変数の値を決めるのに用いられます。
例えば、
inpattern
として $1.$2 が、
リモートファイルの名前として "mydata.data" が
与えられた時に、$1 は "mydata" という値となり、
$2 は "data" という値になります。
outpattern
は生成されるマッピング後のファイル名を決定します。
文字列の `$1', `$2', ...., `$9' は
inpattern
のテンプレートから生成される値に置き換えられます。
文字列の `$0' は元のファイル名で置き換えられます。
さらに、文字列の
‘[seq1 , seq2]’
は
[seq1]
が空文字列でない時には
seq1
に、
空文字列の時には
seq2
に置き換えられます。
例えばコマンド
nmap $1.$2.$3 [$1,$2].[$2,file] は、 入力ファイル名 "myfile.data" と "myfile.data.old" に対して出力ファイル名が "myfile.data" になり、 入力ファイル名 "myfile" に対して出力ファイル名が "myfile.file" になり、 入力ファイル名 ".myfile" に対して 出力ファイル名が "myfile.myfile"になります。 例えば、`nmap $1 sed "s/ *$//" > $1' のように、 outpattern にはスペースが入っていても構いません。 文字 `$', `[', `]', `,' を特別扱いしたくない時には `\' を使ってください。 | |
ntrans [inchars [outchars]] | |
ファイル名の文字変換機能を設定したり解除したりします。 引数が無い場合には文字変換機能が解除されます。 引数がある場合には、出力先のリモートファイル名の指定されていない mput コマンドと put コマンドの実行時にリモートファイル名が変換されます。 同様な事が mget コマンドと get コマンドでもローカルファイルに対して行われます。 このコマンドは、異なるファイル命名規則、命名習慣を持つ非 Unix リモートマシンとの接続時に有効です。 ファイル名中の文字で、 inchars の中の文字に一致するものが outchars の対応する文字に置き換えられます。 inchars の中での文字の位置が outchars の長さを越えている時には、その文字はファイル名から削除されます。 | |
open host [port] | |
指定した host の FTP サーバとのコネクションを確立します。 ポート番号 port を指定した場合、 ftp は指定したポート番号を用いて FTP サーバとのコネクションの確立を試みます。 set auto-login オプションがオン (デフォルト時) の場合には、 ftp は自動的に FTP サーバに対してログインを行ないます (以下を参照)。 | |
page file | |
file を取得して、 set pager オプションで指定されたプログラムを使って表示します。 | |
passive [ auto] | |
パッシブモードを切り替えます (引数を指定しない場合)。 auto が与えられた場合、 FTPMODE が 'auto' に設定されたかのように動作します。 パッシブモードがオン (デフォルトの状態です) なら、 ftp は、全てのデータコネクションのためのコマンドとして、 PORT コマンドの代わりに PASV コマンドを送ります。 PASV コマンドはリモートのサーバにデータコネクションのためのポートを 開いて、そのポートのアドレスを返すよう要求します。 リモートサーバはそのポートで待ち (listen し)、クライアントはそこに 接続します。 より伝統的な PORT コマンドを使う場合は、クライアントがポートで待ち (listen し)、 そしてそのアドレスを リモートサーバに送り、リモートサーバはそこに接続して来ます。 パッシブモードは トラフィックの方向を制御するゲートウェイルータやホストを 経由して ftp を使う場合に有用です。 (注意: FTP サーバが RFC 1123 の PASV コマンドをサポートしている必要がありますが、サポートしていない ものもあります) | |
pdir [remote-path] | |
dir [remote-path] を実行し、その結果を set pager オプションで指定したプログラムを使い表示します。 | |
pls [remote-path] | |
ls [remote-path] を実行し、その結果を set pager オプションで指定したプログラムを使い表示します。 | |
pmlsd [remote-path] | |
mlsd [remote-path] を実行し、その結果を set pager オプションで指定したプログラムを使い表示します。 | |
preserve | |
受け取ったファイルの更新日時を保存するかどうかを切り替えます。 | |
progress | |
転送の進行状況を表す棒グラフ表示を切り替えます。 この棒グラフは、 ローカルファイル として '-' か 'amp;|' で始まるコマンドが指定された転送では表示されません。 詳しくは ファイル名の規則 を参照して下さい。 progress を有効にすると、 hash が無効になります。 | |
prompt | |
対話的プロンプトモードを切り替えます。
対話的プロンプトモードをオンにすることで、
複数ファイル転送時に転送ファイルの選択を行なえます。
対話的プロンプトモードをオフにすると (デフォルトはオン)、
mget
や
mput
で指定したファイルはすべて転送され、
mdelete
で指定したファイルはすべて削除されます。
プロンプトモードがオンの時には、プロンプトにおいて以下の コマンドが使用できます。 | |
a | 現在のファイルについて 'yes' とし、自動的に現在のコマンドに対する残りのすべての ファイルに対しても 'yes' とします。 |
n | 'no' とし、ファイルを転送しません。 |
p | 現在のファイルについて 'yes' とし、( "prompt off" が指定された場合と同様に) プロンプトモードをオフにします。 |
q | 現在の操作を終了します。 |
y | 'yes' とし、ファイルを転送します。 |
amp;? | ヘルプメッセージを表示します。 |
これ以外の応答は現在のファイルに対する 'yes' として扱われます。
proxy ftp-command | |
ftp コマンドを 2 本目の制御コネクション上で実行します。 本コマンドを用いることで、同時に 2 つのリモート FTP サーバとコネクションを確立し、 2 つのサーバ間でファイル転送を行なうようにすることができるようになります。 最初の proxy コマンドは open コマンドである必要があります。 これは、2 本目の制御コネクションを確立するために必要な操作です。 amp;"proxy ?" とコマンドを実行することで、 2 本目のコネクションで使用可能な FTP コマンド一覧が表示されます。 以下のコマンドは proxy の後におかれた時には異なった働きをします。 open は自動ログイン処理中には新しいマクロの定義を行いません。 close はマクロの削除を行いません。 get と mget は 1 本目の制御コネクションのホストから 2 本目の制御コネクションの ホストにファイルの転送を行います。 put と mput と append は 2 本目の制御コネクションのホストから 1 本目の制御コネクションの ホストにファイルの転送を行います。 第三者によるファイル転送は、2 本目の制御コネクションのサーバが FTP プロトコルの PASV コマンドをサポートしているかどうかに依存します。 | |
put local-file [remote-file] | |
ローカルファイルをリモートマシンに転送します。 remote-file が指定されない場合には、転送先でのファイル名は、 ntrans か nmap の設定に基づく処理を行ったローカルファイルの名前が用いられます。 ファイル転送には type, format, mode, structure の現在の設定が用いられます。 | |
pwd | 現在のリモートマシン上での作業ディレクトリを表示します。 |
quit | bye と同じです。 |
quote arg1 arg2 ... | |
引数で指定した文字列を、そのままリモート FTP サーバに送信します。 | |
rate direction
[maximum [increment]]
最大転送速度を
maximum
バイト毎秒に速度制限します。
maximum
が 0 の場合、速度制限は解除されます。
direction は、次のうちの 1 つです。 | |
all | 双方向とも。 |
get | 入り方向の転送。 |
put | 出方向の転送。 |
転送実行中に以下のシグナルを受けるたびに、最大転送速度 maximum は increment バイト毎秒 (デフォルトは 1024) だけ増減されます。 シグナルは次の通りです。
SIGUSR1 | |
maximum を increment バイトだけ増加させます。 | |
SIGUSR2 | |
maximum を increment バイトだけ減少させます。 結果は必ず正の値になります。 | |
maximum が与えられない場合、現在の制限速度値が表示されます。
注意: ascii モード転送については、 rate はまだ実装されていません。
rcvbuf size | |
ソケット受信バッファの大きさを size に設定します。 | |
recv remote-file [local-file] | |
get と同じです。 | |
reget remote-file [local-file] | |
reget は、 get と似た動作を行ないますが、 local-file が存在しており remote-file よりサイズが小さい場合には、 local-file が remote-file が部分的にコピーされたものとみなして続きをコピーする点が異なります。 本コマンドは、コネクションが切断されがちなネットワーク経由で 大きいファイルを転送する際に有用です。 | |
remopts command [command-options] | |
リモート FTP サーバのオプションを設定します。 その際に、 command に command-options を与えます ( command-options の有無はコマンドにより扱われます)。 オプションをサポートすることが知られているリモート FTP コマンドには次のものがあります。 'MLST' (これは MLSD, MLST に用いられます)。 | |
rename [from [to]] | |
リモートマシン上のファイル from が、 to というファイル名にリネームされます。 | |
reset | リプライキューをクリアします。 本コマンドはリモート FTP サーバとの間でコマンド/リプライのシーケンスの再同期をとるのに使われます。 リモート サーバにより FTP プロトコル違反が生じると、その後で、 再同期が必要になることがあります。 |
restart marker | |
このコマンドの直後の get や put を指定した marker 位置から再開します。 Unix システムにおいては、通常 marker はファイルのバイトオフセットで指定します。 | |
rhelp [command-name] | |
リモート FTP サーバからのヘルプを要求します。 command-name を指定した場合、それも同様にサーバに渡されます。 | |
rmdir directory-name | |
リモートマシン上のディレクトリを消去します。 | |
rstatus [remote-file] | |
引数なしの場合、リモートマシンの状態を表示します。 remote-file を指定した場合、リモートマシンの remote-file の状態を表示します。 | |
runique | |
ローカルマシンに保存されるファイルに対して ユニークな名前を付加するかどうかを切り替えます。 get や mget コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、 amp;".1" が名前に付加されます。 その名前も既に存在する時には amp;".2" が付加されます。 このように順番に処理をし、 amp;".99" になっても存在する時には エラーメッセージが表示され、転送は行われません。 生成されたユニークなファイル名は報告されます。 注: runique はシェルコマンドで生成されるファイル名には効果がありません (下記参照)。 デフォルトではオフになっています。 | |
send local-file [remote-file] | |
put と同じです。 | |
sendport | |
PORT コマンドを使用するかどうか切り替えます。 デフォルトでは、 ftp は各データ転送用のコネクションの確立の際に PORT コマンドの使用を試みます。 PORT を使うことで複数ファイル転送を行なう場合の遅延を避けることが出来ます。 PORT コマンドが失敗した場合、 ftp はデフォルトのデータポートを使用します。 PORT コマンドが無効になった場合、データ転送時に PORT コマンドは使われません。 これはある種の FTP の実装で PORT コマンドは無視するが、誤っていて、受け入れたと返事を返すような 物に対して有効です。 | |
set [option value] | |
オプション option に、値 value を設定します。 option, value どちらも与えられない場合、全オプションとその値を表示します。 現在サポートされているオプションは次のとおりです。 | |
anonpass | デフォルトは $FTPANONPASS |
ftp_proxy | デフォルトは $ftp_proxy |
http_proxy | |
デフォルトは $http_proxy | |
no_proxy | デフォルトは $no_proxy |
pager | デフォルトは $PAGER |
prompt | デフォルトは $FTPPROMPT |
rprompt | デフォルトは $FTPRPROMPT |
site arg1 arg2 ... | |
引数で指定した文字列を、 SITE コマンドの引数としてそのまま FTP サーバに送信します。 | |
size remote-file | |
リモートマシン上の remote-file で指定したファイルのサイズを表示します。 | |
sndbuf size | |
ソケットの送信バッファの大きさを size に設定します。 | |
status | ftp の現在の状態を表示します。 |
struct struct-name | |
ファイル転送の structure を struct-name に設定します。 デフォルトの (そして唯一サポートされている) structure は、 "file" です。 | |
sunique | リモートマシン上に転送するファイルのファイル名に対して、 一意な名前を付与するかどうかを切り替えます。 この機能が使えるためには、 リモートの FTP サーバが FTP プロトコルの STOU コマンドをサポートしていなければなりません。 リモートサーバがユニークな名前を報告します。 デフォルトではこの機能はオフになっています。 |
system | リモートマシンで稼働している OS のタイプを表示します。 |
tenex | TENEX マシンと 通信するために必要なファイル転送モードを設定します。 |
throttle | rate と同じです。 |
trace | パケットトレースをするかどうかを切り替えます。 |
type [type-name] | |
ファイル転送の type を type-name に変更します。 引数が指定されない場合には 現在のファイル転送タイプを表示します。 デフォルトタイプはネットワーク ASCII です。 | |
umask [newmask] | |
リモートサーバのデフォルトの umask 値を newmask で指定した値に変更します。 newmask が指定されていない場合は現在の umask 値を表示します。 | |
unset option | |
オプション option の設定を解除します。 詳細については set を参照して下さい。 | |
usage command | |
command の使い方を表すメッセージを表示します。 | |
user user-name [password [account]] ユーザをリモート FTP サーバに認識させます。 password が指定されていなくて、 FTP サーバが必要とする場合は (ローカルエコーをオフにしてから) ftp がユーザに問い合わせます。 account が指定されていなくて、 FTP サーバが必要とする場合には、 ftp がユーザに問い合わせます。 リモートサーバがログイン時にアカウントを必要としないのに account フィールドが指定された場合には、ログイン処理の完了後に account コマンドがリモートサーバに渡されます。 "auto-login" を無効にした状態で ftp が呼び出されない限り、 この処理は FTP サーバに最初につながった時に自動的に行われます。 | |
verbose | 饒舌モードの切り替えをします。 饒舌モードの時には FTP サーバからの全ての応答が表示されます。 さらにこのモードがオンの時には、ファイル転送が終了した時に 転送効率に関する統計が報告されます。 デフォルトではオンになっています。 |
xferbuf size | |
ソケットの送信バッファ、受信バッファの大きさを size に設定します。 | |
amp;? [command] | |
help コマンドと同じです。 | |
スペースを含むコマンドの引数は、`"' マークで括って下さい。
設定を切り替えるコマンドでは、設定を指定するために明示的に on か off を引数として指定できます。
引数としてバイト数を取るコマンド (例えば、 hash, rate, xferbuf など) は、その引数の後置オプションをサポートしており、引数の解釈を 変えることができます。サポートされる後置オプションは次のものです。
b | 無修正 (オプションです) |
k | キロ。引数を 1024 倍します。 |
m | メガ。引数を 1048576 倍します。 |
g | ギガ。引数を 1073741824 倍します。 |
ftp が転送中にシグナル SIGINFO ( stty(1) の引数 "status" を参照) か、 SIGQUIT を受けると、その時点での転送レートの統計情報が 終了時の標準的なフォーマットと同じ形式で標準エラー出力に書き出されます。
自動取得の要素として有効な構文は、以下の形式です。
[useramp;@]hostamp;:[path][/]"古典的な"
FTP
の形式。
path に glob 文字が含まれており、ファイル名展開 (globbing) が 有効になっている場合 ( glob を参照)、 ‘mget path’ と同等の処理が行なわれます。 path のディレクトリ要素に glob 文字が含まれていない場合、 path のベースネーム (basename(1) を参照) を名前として、 ファイルをローカルのカレントディレクトリに格納します。 そうでない場合、リモートの名前全体を、ローカルのルートディレクトリから 相対的に使用します。 | |
ftp://[user[amp;: password]amp;@ ]host [amp;: port ]/ path[/][;type= X] FTP
URL 形式。
set ftp_proxy
が定義されていなければ
FTP
プロトコルで取得します。
そうでなければ
set ftp_proxy
で指定されたプロキシを経由した
HTTP
を使って URL を転送します。
set ftp_proxy
が定義されておらず、
user
が与えられている場合、
user
としてログインします。
この場合、
password
が与えられていれば、それを使います。
与えられていなければ、
プロンプトをユーザに表示して入力を促します。
';type=A' もしくは ';type=I' のサフィックスが指定されると、転送タイプはそれぞれ、 ASCII または binary になります。 デフォルト転送タイプは binary です。 RFC 1738 に準拠するために、 ftp は "ftp://" auto-fetch URL の path 部分を次のように解釈します:
上記の解釈の結果、次のようになります:
| |
ftp://host/dir1/dir2/file | "cd dir1", "cd dir2", "get file". |
ftp://host/%2Fdir1/dir2/file | "cd /dir1", "cd dir2", "get file". |
ftp://host/dir1%2Fdir2/file | "cd dir1/dir2", "get file". |
ftp://host/%2Fdir1%2Fdir2/file | "cd /dir1/dir2", "get file". |
ftp://host/dir1%2Fdir2%2Ffile | "get dir1/dir2/file". |
ftp://host/%2Fdir1%2Fdir2%2Ffile | |
"get /dir1/dir2/file". | |
http://[user[amp;: password]amp;@ ]host [amp;: port ]/ path HTTP URL 形式です。 ファイル取得に HTTP プロトコルを用います。 set http_proxy が定義されている場合、 HTTP プロキシサーバへの URL として使用されます。 path の取得に HTTP 認証が必要であり、かつ、 'user' (とオプションで 'password' ) が URL に含まれている場合、最初の認証処理にそれらを使います。 | |
file:/// pathローカル URL 形式です。 ローカルホストの /path からコピーされます。 | |
上で特に指定がない限り、かつ、
古典的な形式または FTP URL形式で最後に '/' がある場合、もしくは path 要素が空の場合、 ftp はそのサイトに接続して与えられたパスのディレクトリに cd し、以降の入力を受け付けるために対話モードに入ります。 これは set ftp_proxy が使用されている場合には動作しません。
直接 HTTP 転送では HTTP 1.1 を使用します。 プロキシ経由の FTP, HTTP 転送では、HTTP 1.0 を使用します。
WWW 認証またはプロキシ WWW 認証が必要な場合、ユーザに対し 認証のためのユーザ名、パスワードの入力を促すプロンプトが 出力されます。
URL にIPv6 の数値アドレスを指定した場合、例えば、 "ftp://[::1]:21/" のように、アドレスを角括弧で囲う必要があります。 これは IPv6 の数値アドレスで使用するコロンが、ポート番号を区切る セパレータでもあるためです。
ftp が ABOR 処理中のリモートサーバからの応答を待っている状態にある間に、 端末の割り込みキーシーケンスが使用された場合、コネクションは 閉じられます。 これは古くからの動作 (この状態では端末の割り込みは無視されます) とは異なりますが、こちらの方がより便利と考えてのことです。
ftp では、他の mode, form, struct のパラメータではデフォルト値だけが使用可能です。
machine name | |
リモートマシン名 name を定義します。 自動ログイン処理は、 .netrc ファイル中を探し、 ftp のコマンドラインもしくは open コマンドの引数として指定されたリモートマシンに一致する machine トークンを探します。 一致するものがあった場合は、その後に続く .netrc トークンが処理され、その処理はファイル最後尾に行き着くか他の machine トークンまたは default トークンに出くわすまで続きます。 | |
default |
任意の名前と一致すること以外は
machine
name
と同様です。
default
トークンは、
.netrc
ファイル中に 1 エントリだけが許され、
しかも他の全ての
machine
トークンより後ろでなければなりません。
通常は
default login anonymous password user@site
のように使用されます。
本エントリによって
.netrc
に指定の無いマシンに自動的に anonymous
FTP
ログインを試みるようになります。
自動ログインを無効にするために、
|
login name | |
リモートマシンにおけるログイン名を指定します。 本トークンが与えられている場合、自動ログイン処理は指定した name を用いてログインを開始します。 | |
password string | |
パスワードを指定します。 本トークンが指定されている場合でリモートサーバがログイン処理中に パスワードを要求する場合は、自動ログイン処理は指定した文字列を 送ります。 .netrc ファイルにおいて、 anonymous 以外のユーザに対し本トークンが存在している場合、 .netrc がそのユーザ以外から読み込み可能ならば、 ftp は自動ログイン処理を中断します。 | |
account string | |
追加のアカウントパスワードを指定します。 このトークンがあると、 追加のアカウントパスワードをリモートホストが必要とする時に 自動ログインプロセスが指定された文字列を与えます。 そうでない場合には、自動ログインプロセスは ACCT コマンドを与えます。 | |
macdef name | |
マクロを定義します。
このトークンの機能は
ftp
の
macdef
コマンドの機能に似ています。
マクロは指定された名前を用いて定義されます。
その内容は
.netrc
の次の行から始まり、空行 (改行文字の連続) が現れるまで続きます。
init
というマクロが定義されているならば、
自動ログイン処理の中での最後の段階で自動的に実行されます。
例えば
default macdef init epsv4 off が、空行の後に続きます。 | |
editline(3) ライブラリは .editrc ファイルで設定できます - より詳しくは editrc(5) を参照して下さい。
ftp には、文脈に依存したコマンドとファイル名の補完 (リモートファイルの補完を含む) 機能を提供するための 追加のキー割り当てが用意されています。 これを使うためには editline(3) の ftp-complete コマンドにキーを割り当てて下さい。 これはデフォルトで TAB キーに割り当てられています。
set rprompt コマンドにより、スクリーンの右端 (コマンド入力の後) に プロンプトを表示させることもできます。
次の書式文字列は、与えられた情報で置き換えられます。
amp;%/ | リモート側のカレントディレクトリ。 |
amp;%c[[0 ]n],amp;%.[[0 ]n]リモート側のカレントディレクトリの末尾の要素。 数字 n が与えられた場合は、末尾 n 個の要素。 n が '0' で始まる場合、 末尾要素の前に、スキップされた要素数が、 ( 'amp;%c' の場合) 書式 " /<number>trailing" で、 ( 'amp;%.' の場合) 書式 "amp;... trailing" で置かれます。 | |
amp;%M | リモートホスト名。 |
amp;%m | リモートホスト名のうち、最初の 'amp;.' までの部分。 |
amp;%n | リモートユーザ名。 |
amp;%% | '%' 1 文字。 |
FTPANONPASS | anonymous FTP 転送の際に送付するパスワード。 デフォルトは、 "`whoami`@" です。 |
FTPMODE | デフォルトの動作モードを上書きします。 サポートする値は次のとおりです。 |
active | アクティブモード。 FTP のみ。 |
auto | パッシブ / アクティブの自動判定 (これがデフォルトです)。 |
gate | gate-ftp モード。 |
passive | |
パッシブモード。 FTP のみ。 | |
FTPPROMPT | |
コマンド行プロンプト。 デフォルトは、 "ftp> " です。 詳細は、 コマンドラインプロンプト を参照して下さい。 | |
FTPRPROMPT | |
コマンド行右側のプロンプト。 デフォルトは "" です。 詳細は、 コマンドラインプロンプト を参照して下さい。 | |
FTPSERVER | |
gate が有効な時に gate-ftp サーバとして使用するホスト。 | |
FTPSERVERPORT | |
gate が有効な時に gate-ftp サーバに接続するのに使うポート。 デフォルトは "ftpgate/tcp" で getservbyname() を呼び出して返って来たポート。 | |
FTPUSERAGENT | |
HTTP ユーザエージェントヘッダとして送る値。 | |
HOME | 定義されていれば .netrc ファイルのデフォルトの置き場所となります。 |
NETRC | .netrc ファイルの別の置き場所。 |
PAGER | 各種コマンドでファイルを表示する際に使われます。 本環境変数が空か設定されていない場合のデフォルトは、 more(1) です。 |
SHELL | デフォルトで起動するシェルを定義します。 |
ftp_proxy | |
FTP
URL リクエストを発行する時に使う
FTP
プロキシの URL
(定義されていなければ標準の
FTP
プロトコルを使います)。
注意: 本環境変数はインタラクティブセッションでは使われません。 コマンド行での取得のためだけのものです。 | |
http_proxy | |
HTTP
URL リクエストを発行する時に使う
HTTP
プロキシの URL。
プロキシ認証が要求され、この URL ユーザ名とパスワードの指定がある場合、
そのプロキシに対し、最初に認証処理を試みる際にそれらを使用します。
ftp_proxy, http_proxy におけるユーザ名、パスワードの用法は、 ( lynx(1) など) それを使う他のプログラムとは互換性がないかもしれないことに 注意して下さい。 注意: 本環境変数はインタラクティブセッションでは使われません。 コマンド行での取得のためだけのものです。 | |
no_proxy | |
空白またはコンマで区切られたホスト名 (またはドメイン名) のリスト。 プロキシを使用しないホストやドメインを表します。 各エントリに対し、オプションで ":port" を指定できます。 これは、そのポートに対する接続のみにマッチングを制限します。 | |
229 Entering Extended Passive Mode (|||58551|)
といったメッセージを表示した後にハングしたように見える場合には、 epsv4 off として拡張パッシブモードを無効化する必要があります。 どのようにこれを自動化するかについては、前述の .netrc ファイル 節を参照してください。
コマンドラインの編集、文脈に依存したコマンドとファイルの補完、 進行状況を表す棒グラフ、ファイルや URL の自動取得、 更新時刻の保存、標準 BSD の ftp に対するその他の拡張などといった多様な機能は、 Luke Mewburn <lukem@NetBSD.org> が、 NetBSD とそれ以後のリリースで実装しました。
IPv6 サポートは WIDE/KAME プロジェクトが追加しました (が、NetBSD 以外での本プログラムのバージョン全てでこの機能が存在するとは 限りません。 これは、オペレーティングシステムが IPv6 をサポートする際に、 KAME と類似のやりかたを取っているかどうかに依存します)。
BSD 4.2 の ascii モードでの転送時の復帰文字の取り扱いのエラーは訂正されています。 この訂正の結果として、 BSD 4.2 のサーバとの間でバイナリファイルを ascii タイプを使用して転送した時に 不正転送をひき起こすことが あります。 この問題を回避するためにはバイナリモードを用いて ファイル転送をして下さい。
ftp は、IPv4 マップドアドレス ( ::ffff:10.1.1.1 のような形式の IPv6アドレス ) の全てが AF_INET ソケットで扱うことができる IPv4 の宛先を表していると想定しています。 しかし、IPv6 の設定によっては、この想定が正しくないこともあります。 そのような環境では、IPv4 マップドアドレスは AF_INET6 ソケットに直接渡さなければなりません。 例えば、あるサイトが IPv6-to-IPv4 変換として SIIT トランスレータを 使用しているとします。 このとき、 ftp はこの設定をサポートすることができません。
FTP (1) | December 19, 2003 |
総合手引 | セクション 1 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Ken Thompson was once asked by a reporter what he would have changed about Unix if he had it all to do over again. His answer: “I would spell creat with an ‘e.'” | ” |