ftp コマンド
目的
ローカル・ホストとリモート・ホスト間でファイルを転送します。
構文
エフティーピー [ -d ] [ -D DataConnTimeOut ] [ -g ] [ -i ] [ -n ] [ -v ] [ -f ] [ -K ] [ -k レアル ] [ -q ] [ -C ] [-s ] [ -M ] [ HostName [ ポート ] ] [ -H ]
説明
ftp コマンドは、ファイル転送プロトコル (FTP) を使って、ローカル・ホストとリモート・ホストの間で、または 2 つのリモート・ホストの間でファイルを転送します。 ftp コマンドのリモート実行はお勧めしません。
FTP プロトコルを使うと、異なるファイルシステムを使っているホスト間でデータ転送が可能になります。 このプロトコルはデータ転送には高い柔軟性を持っていますが、それぞれのファイルシステムに固有のファイル属性 (ファイルの保護モードまたは変更時間など) を保存するようには設計されていません。 さらに、このプロトコルはファイルシステムの構造全般についてほとんど仮定を行わず、また、サブディレクトリーを再帰的にコピーするような機能を提供することもありません。
サブコマンドの発行
時刻ftp>prompt サブコマンドを入力して、リモート・ディレクトリーのリスト、現行のローカルおよびリモート・ディレクトリーの変更、単一の要求での複数ファイルの転送、ディレクトリーの作成と除去、およびシェル・コマンドを実行するためのローカル・シェルへのエスケープなどのタスクを実行することができます。 各サブコマンドの説明については、 サブコマンド のセクションを参照してください。
リモート・ホストに対して HostName パラメーターを指定せずに ftp コマンドを実行すると、 ftp コマンドは即時にftp>プロンプトを出し、 ftp サブコマンドを待ちます。 リモート・ホストに接続するには、 open サブコマンドを実行します。 ftp コマンドがリモート・ホストに接続すると、 ftp コマンドはログイン名とパスワードの入力を求めるプロンプトを出してから、ftp>プロンプトを出します。 リモート・ホスト側でログイン名のパスワードが定義されていないと、ftp コマンドは失敗に終わります。
ftp コマンド・インタープリター。これは、以下の場所で入力されたすべてのサブコマンドを処理します。ftp>prompt は、以下のような、ほとんどのファイル転送プログラムでは使用できない機能を提供します。
- ftp サブコマンドのファイル名パラメーターを処理する。
- サブコマンドのグループを収集して単一のサブコマンド・マクロを作成する。
- $HOME/.netrc ファイルからマクロをロードする。
これらの機能を使用すると、反復タスクを単純化して、ftp コマンドを不在モードで使用することができます。
このコマンド・インタープリターは、ファイル名パラメーターを次の規則に従って処理します。
- パラメーターに-(ハイフン) が指定されている場合、読み取り操作には標準入力 (stdin) が使用され、書き込み操作には標準出力 (stdout) が使用されます。
- 上記の検査が適用されず、ファイル名拡張が使用可能な場合 ( -g フラグまたは glob サブコマンドを参照)、 インタープリターは、C シェルの規則に従ってファイル名を展開します。 グロビング機能が使用可能であり、
単一のファイル名を期待するサブコマンドにパターン・マッチング文字が使用されていると、
予期しない結果が起こることがあります。
例えば、 append および put サブコマンドは、ファイル名の拡張を実行してから、生成された最初のファイル名のみを使用します。 その他の ftp サブコマンド ( cd、 deleteなど) get、 mkdir、 rename、 および rmdirは、ファイル名の拡張を実行せず、パターン・マッチング文字を文字どおりに使用します。
- getの場合、 put、 mget、および mput サブコマンド、 インタープリターには、異なるローカルおよびリモートのファイル名構文スタイル間で変換およびマップする機能があります ( case、 ntrans、 および nmap サブコマンド)、およびローカル・ファイル名が固有でない場合にそれを変更する機能 ( runique サブコマンドを参照)。 さらに、 ftp コマンドは、リモート ftpd サーバーが固有でない場合にリモート・ファイル名を変更するように指示を送信することができます ( sunique サブコマンドを参照)。
- 二重引用符 ("") を使用する ブランク文字を含むパラメーターを指定します。注: ftp コマンド・インタープリターはパイプをサポートしません。 また、すべてのマルチバイト文字ファイル名がサポートされるとは限りません。
対話式に実行しているときに ftp セッションを終了するには、次のようにします。 quit または bye サブコマンドまたはファイルの終わり (Ctrl-D) キー・シーケンスを使用するftp>できます。 ファイル転送を完了前に終了するには、割り込みキー・シーケンスを押します。 デフォルトの割り込みキー・シーケンスは Ctrl-C です。 stty コマンドを使用して、このキー・シーケンスを再定義することができます。
通常、ftp コマンドは (ローカル・ホストからリモート・ホストへ) 送られる転送を即座に停止します。 ftp コマンドは、リモート・ホストから送信され、 ローカル・ホストで受信されるデータ転送を停止するのに、 リモート FTP サーバーに FTP ABOR 命令を送信し着信するファイル転送パケットをすべて廃棄して、 リモート・サーバーが送信を停止するといった方法をとります。 リモート・サーバーが ABOR 命令をサポートしない場合、 ftp コマンドは ABOR 命令を表示しません。ftp>リモート・サーバーが要求されたすべてのファイルを送信するまでプロンプトを出します。 また、リモート・サーバーが予期しない動作を行う場合は、ローカル ftp プロセスを終了しなければならないことがあります。
セキュリティーと自動ログイン
標準が現行認証メソッドである場合
ftp コマンドはさらに、リモート・ホストにパスワードを送ってセキュリティーを提供し、自動ログイン、ファイル転送、ログアウトを許可します。
ftp コマンドを実行してリモート・ホストのホスト名 (HostName) を指定すると、ftp コマンドは直ちに指定されたホストへの接続を設定しようとします。 ftp コマンドが正常に接続すると、 ftp コマンドは現行ディレクトリーまたはホーム・ディレクトリー内でローカル $HOME/.netrc ファイルを検索します。 ファイルがあれば、ftp コマンドはそのファイル内で、ログイン処理を開始するエントリーと、リモート・ホストのコマンド・マクロ定義を検索します。 $HOME/.netrc ファイルまたは自動ログイン・エントリーが存在しない場合、またはシステムが securetcpip コマンドで保護されている場合、 ftp コマンドはユーザーにユーザー名とパスワードの入力を求めるプロンプトを出します。 これは HostName パラメーターがコマンド・ラインで指定されているかどうかにかかわらず行われます。
ftp コマンドが指定されたホストの $HOME/.netrc 自動ログイン・エントリーを検出すると、 ftp コマンドはそのエントリーの情報を使用してリモート・ホストにログインしようとします。 さらに、ftp コマンドはその自動ログイン・エントリー内で定義されたコマンド・マクロをすべてロードします。 場合によっては (例えば、必要なパスワードが自動ログイン・エントリーにリストされていない場合)、 ftp コマンドはパスワードの入力を求めるプロンプトを出してから、ftp>できます。
ftp コマンドが自動ログインを完了すると、マクロが自動ログイン・エントリーに定義されていれば、 ftp コマンドは init マクロを実行します。 init マクロが存在しないか、 quit または bye サブコマンドを含んでいない場合は、次のようにします。 ftp コマンドを使用すると、ftp>プロンプトを出し、サブコマンドを待ちます。
Kerberos 5 が現行認証メソッドである場合
ftp コマンドは、ftp 仕様への拡張機能を、IETF ドラフト文書「draft-ietf-cat-ftpsec-09.txt」で定義された通りに使用します。 FTP セキュリティー拡張機能は、Generic Security Service API (GSSAPI) のセキュリティー・メカニズムを用いて インプリメントされます。 GSSAPI は、基礎となるセキュリティーおよび通信メカニズムとは別のサービスを 提供します。 GSSAPI は rfc 1508 および 1509 で定義されます。
ftp コマンドは、ftpd デーモンを用いて認証する AUTH と ADAT コマンドを使用します。 AUTH と ADAT の両方のコマンドが Kerberos 認証をサポートしている場合、それらはローカル・ユーザー DCE 認証を用いて、リモート・システム上のユーザーの認証を行います。 これが失敗し、両システムで標準の認証が構成される場合は、上記のプロセスが使用されます。
HostName パラメーターはファイルの転送先となるホスト・コンピューターの名前です。 オプションの Port パラメーターにより、転送時に使われるポートの ID を指定します。 (デフォルトのポートは /etc/services ファイルで指定されます。)
トランスポート層セキュリティーのサポート
ftp コマンドは、RFC 4217 で定義されているトランスポート層セキュリティー (TLS) をサポートします。 TLS は、クライアントとサーバー間で安全な通信を行うための暗号プロトコルです。
ftp コマンドは、AUTH TLS と PROT P コマンドを 使用して、ftpd デーモンとの通信を保護します。 AUTH TLS と PROT P コマンドの両方が TLS プロトコルをサポートしていると、保護されたチャネルが確立されます。 標準認証方式のみがサポートされています。
ftp コマンドの実行時に -s フラグが指定されていると、ftp コマンドはユーザーのホーム・ディレクトリー内でローカル $HOME/.ftpcnf ファイルを検索します。 このファイルが見つかると、ftp コマンドは以下の構成パラメーターを使用して、サーバーとの TLS セッションを セットアップします。 このファイルが見つからないか、構成パラメーターが欠落している場合、ftp コマンドは 構成パラメーターを使用しないでサーバーへの接続を試行します。
- CRL_PATH
- CRL_PATH パラメーターは、証明書取り消しリスト・ファイルのパスを提供します。このファイルは Privacy Enhanced Mail (PEM) フォーマットでなければなりません。 これを指定すると、サーバーが提供するデジタル証明書が証明書取り消しリストと照合されます。 証明書が取り消されていた場合、TLS セッションは失敗します。 このパラメーターが無指定の場合、 デジタル証明書は証明書取り消しリストと照合されません。
- CA_PATH
- CA_PATH パラメーターは、認証局ファイルへのパスを提供します。このファイルは PEM フォーマットでなければなりません。 これを指定すると、サーバー証明書が認証局と照合されます。 サーバーが提供するデジタル証明書がセキュリティー機関によって署名されていなかった場合は、TLS セッションが失敗します。 このパラメーターが無指定の場合、サーバーが提供するデジタル証明書は証明書取り消しリストと照合されません。
- CIPHER_LIST
- CIPHER_LIST パラメーターを指定すると、このリストが TLS セッション中に使用されます。 指定しないと、デフォルトの暗号リストが使用されます。
- DEPTH
- CA_PATH 構成パラメーターを指定すると、デジタル証明書階層内の ftpd サーバーが提供する証明書を検証するために DEPTH 値が使用されます。 指定しないと、デフォルト値の 9 が使用されます。
- CERTIFICATE
- CERTIFICATE パラメーターは、PEM フォーマットの有効なデジタル証明書チェーン・ファイルへのパスを提供します。 このファイルは TLS セッションで使用されます。
- CERTIFICATE_PRIVATE_KEY
- CERTIFICATE_PRIVATE_KEY パラメーターには、証明書秘密鍵 (PEM 形式) へのパスが含まれます。 これは TLS セッション中に使用されます。 TLS をサポートするには、 AIX® Web Download Pack Programs Web サイトから最新バージョンの OpenSSL ツールをインストールする必要があります。
信頼できるAIXシステムの場合
ユーザーにはデフォルト・ログイン機密ラベル (SL) と保全性ラベル (TL) が割り当てられ、これが正常なログイン後にユーザーのプロセスの有効な SL と TL になります。 ユーザーが デフォルト・ログイン SL でログインしたくない場合は、ログイン時に -e オプションを 使用して、別の SL を提供することを選択できます。 ユーザーが提供する SL は、ユーザーの認可に従い、システム認定の範囲に含まれる必要があります。 TL は、ユーザーがログイン時に指定できません。 デフォルト・ログイン SL と TL は、 各ユーザーごとのユーザー名および認可とともに、/etc/security/user ファイル内に 定義されています。 -e オプションを使用する場合は、サーバー側のカーネル・トラステッド・ネットワーク・ビットをオフにする必要があります。
フラグ
| 項目 | 説明 |
|---|---|
| -C | ユーザーは、 send_file コマンドを使用して送信される発信ファイルをネットワーク・バッファー・キャッシュ (NBC) にキャッシュする必要があることを指定できます。 このフラグは、-q フラグが指定されていなければ指定できません。 このフラグは、ファイルがバイナリー・モードで保護されずに送信される場合にのみ適用されます。 |
| -d | ftp コマンド操作に関するデバッグ情報を syslogd デーモンに送ります。 -d フラグを指定した場合、/etc/syslog.conf ファイル
を編集して、次のいずれか 1 つのエントリーを追加しなければなりません。または 注: syslogd デーモンのデバッグ・レベルには、情報レベル・メッセージが含まれます。
/etc/syslog.conf ファイルを編集しないと、メッセージはなにも生成されません。 /etc/syslog.confファイルを変更したら、refresh -s syslogdまたはkill -1 SyslogdPIDコマンドを実行して、syslogdデーモンに設定ファイルの変更を通知する。 デバッグ・レベルの詳細については、/etc/syslog.conf ファイルを参照してください。 また、 debug サブコマンドも参照してください。 |
| -D DataConnTimeOut | ftp コマンドがデータ接続を保持する最大秒数を指定します。 デフォルト値は 300 秒です。値は 300 秒から 3600 秒の範囲で指定することができます。 |
| -f | これを指定すると、証明書が転送されます。 このフラグは、Kerberos 5 が現在の認証メソッドでない場合は無視されます。 |
| -g | ファイル名のメタキャラクターの拡張を使用不可にします。 メタキャラクターの解釈は、ファイル名の拡張 (グロビングともいう) として参照されます。 glob サブコマンドを参照してください。 |
| -H | FILE_Unlink イベントの監査ロギングをオンにします (このイベントがユーザーに対して有効になっている場合)。 |
| -i | 複数のファイルを転送する間、対話式のプロンプト表示をオフにします。 prompt、 mget、 mputを参照してください。 および mdelete サブコマンドを使用して、複数ファイル転送時のプロンプトの説明を表示します。 |
| -K | 制御接続とデータ接続の両方で、 sys/socket.h ファイルに定義されている SO_KEEPALIVE オプションを使用不可にします。 |
| -k レルム | これを使用することで、ユーザーは、リモート端末のレルムを指定できます。 このような目的では、レルムは DCE セルと同義です。 このフラグは、Kerberos 5 が現在の認証メソッドでない場合は無視されます。 |
| -M | ローカル・ホストとリモート・ホスト間でファイルが転送された後に ftp コマンドがブロックされないようにします。 |
| -n | 最初の接続時の自動ログインを防止します。 このフラグを指定しないと、ftp コマンドは、ログインおよびリモート・ホスト用の初期化処理を記述した $HOME/.netrc エントリーを探します。 user サブコマンドを参照してください。 |
| -q | ネットワーク上でファイルを送信するために send_file サブルーチンを使用しなければならないことをユーザーが指定できるようにします。 このフラグは、ファイルがバイナリー・モードで保護されずに送信される場合にのみ適用されます。 |
| -v | リモート・サーバーからの応答をすべて表示し、データ転送の統計を提供します。 ftp コマンドの出力がコンソールやディスプレイなどの端末に対して行われる場合、これがデフォルトの表示モードになります。 stdin が端末でない場合、 FTP コマンドは冗長モードを使用不可にします。ただし、ユーザーが -v (V) フラグを指定して FTP コマンドを呼び出した場合、または 詳細 サブコマンドを発行した場合を除きます。 |
| -s | AUTH TLS コマンドと PROT P コマンドを ftpd デーモンに送信することで、サーバーとの TLS セッションを開始します。 TLS セッションが確立され、ユーザーが標準認証方式を使用して認証されると、データとコマンドの転送は暗号化されます。 |
サブコマンド
以下の ftp サブコマンドは、以下の場所で入力できます。ftp>できます。 ブランク文字を含むパラメーターを指定するには、二重引用符 (" ") を使用します。
| 項目 | 説明 |
|---|---|
| ![コマンド [パラメーター]] | ローカル・ホスト上の対話型シェルを起動します。 1 つ以上のオプション・パラメーターとオプション・コマンドをシェル・コマンドと一緒に指定することができます。 |
| $マクロ [パラメーター] | 以前に macdef サブコマンドで定義された、指定されたマクロを実行します。 パラメーターは拡張されません。 |
| ?[サブコマンド] | サブコマンドの説明をするヘルプ・メッセージを表示します。 Subcommand パラメーターを指定しない場合は、ftp コマンドは既知のサブコマンドのリストを表示します。 |
| アカウント [パスワード] | リモート・ホストのリソースへのアクセスを認める前に、必要となる補足パスワードをリモート・ホストに送信します。 コマンドと一緒にパスワードを指定しないと、パスワードを求めるプロンプトが表示されます。 パスワードは画面には表示されません。 |
| append LocalFile [RemoteFile] | リモート・ホスト上のファイルにローカル・ファイルを追加します。 リモート・ファイル名が指定されていない場合は、ローカル・ファイル名が使用され、 ntrans サブコマンドまたは nmap サブコマンドで行われた設定によって変更されます。 append サブコマンドは、 form、 modeの現行値を使用します。 ファイルの追加時の structおよび type サブコマンド。 |
| ASCII | type ascii サブコマンドと同義。 |
| ベル | 各ファイルの転送が終わるたびにベルを鳴らします。 |
| binary | type binary サブコマンドと同義。 |
| BLOCK | mode block サブコマンドと同義。 |
| bye | ファイル転送セッションを終了し、ftp コマンドを終了します。 quit サブコマンドと同じです。 |
| 紙送り制御 | form carriage-control サブコマンドと同義。 |
| ケース | ファイル名の大文字と小文字の切り替えを設定します。 case サブコマンドがオンになっていると、ftp コマンドは、すべて大文字で表示されているリモート・ファイル名を、ローカル・ディレクトリーに書き込むときに大文字から小文字に変更します。 デフォルトはオフです (ftp コマンドにより大文字のリモート・ファイル名はローカル・ディレクトリーに大文字で書き込まれます)。 |
| cd RemoteDirectory | リモート・ホスト上の作業ディレクトリーを、指定されたディレクトリーに変更します。 |
| CDUP | リモート・ホスト上の作業ディレクトリーを、現行ディレクトリーの親に変更します。 |
| 閉じる | ファイル転送セッションを終了しますが、ftp コマンドは終了しません。 定義済みのマクロは消去されます。 disconnect サブコマンドと同じです。 |
| コピー・ローカル | ローカル・コピーを切り替えます。 copylocal のデフォルトはオフです。 ftp はファイルをそのファイル自体に (同じホスト名、同じパス名などを) 転送してゼロ設定しなくてもよいようにします。 copylocal をオンにすると、この検査が省略されます。 |
| cr | ASCII タイプのファイルの転送中、レコードの受信時に復帰/行送りシーケンスから復帰文字をストリップします。 (ftp コマンドは、ファイル転送時に、復帰と行送りを使って ASCII タイプの各レコードを終了させます。) 実行中のオペレーティング・システムとは別のオペレーティング・システムによる、 リモート・ホスト上のレコードには、単一の行送りが組み込まれている場合があります。 組み込まれた行送りをレコード区切り文字と区別するには、cr サブコマンドをオフに設定します。 cr サブコマンドはオンとオフの間で切り替わります。 |
| デバッグ [0 | 1] | デバッグ・レコードの保存のオン/オフを切り替えます。 debug または debug 1 を指定して、リモート・ホストに送られた各コマンドを出力し、再始動制御ファイルを保管します。 デバッグ・レコードの保存を中止するには、debug を再度指定するか debug 0 を指定します。 また、Ctrl-C キー・シーケンスも再始動制御ファイルを保管します。 debug サブコマンドを指定すると、 ftp コマンド操作に関するデバッグ情報が syslogd デーモンに送信されます。 debug サブコマンドを指定した場合には、 /etc/syslog.conf ファイルを編集して次のいずれか 1 つのエントリーを追加しなければなりません。 または 注: syslogd デーモンのデバッグ・レベルには、情報レベル・メッセージが含まれます。
/etc/syslog.conf ファイルを編集しないと、メッセージはなにも生成されません。 /etc/syslog.confファイルを変更したら、refresh -s syslogdまたはkill -1 SyslogdPIDコマンドを実行して、syslogdデーモンに設定ファイルの変更を通知する。 デバッグ・レベルの詳細については、/etc/syslog.conf ファイルを参照してください。 また、ftp-dフラグも参照のこと。 |
| 削除 RemoteFile | 指定されたリモート・ファイルを削除します。 |
| dir [RemoteDirectory] [LocalFile] | 指定されたリモート・ディレクトリー (RemoteDirectory) の内容 のリストを指定されたローカル・ファイル (LocalFile) に書き込みます。 RemoteDirectory パラメーターの指定がない場合、dir サブコマンドは現行リモート・ディレクトリーの内容を出力します。 LocalFile パラメーターが指定されない場合または - (ハイフン) の場合には、dir サブコマンドはローカル端末装置上にリストを表示します。 |
| 切断 | ファイル転送セッションを終了しますが、ftp コマンドは終了しません。 定義済みのマクロは消去されます。 close サブコマンドと同じです。 |
| EBCDIC | type ebcdic サブコマンドと同義。 |
| exp_cmd | 標準的プロトコル・コマンドと実験的プロトコル・コマンドを切り替えます。 デフォルトはオフです。 |
| ファイル | struct file サブコマンドと同義。 |
| form [ 紙送り制御 | 非印刷 | Telnet ] | ファイル転送のフォーマットを指定します。 form サブコマンドは、指定したフォーマットでファイル転送を行うように type サブコマンドを変更します。 有効な引数は、carriage-control、non-print、および telnet です。
|
| get RemoteFile [LocalFile] | リモート・ファイルをローカル・ホストにコピーします。 LocalFile パラメーターを指定しない場合、リモート・ファイル名はローカルで使用され、 case、 ntrans、および nmap サブコマンドによって行われた設定によって変更されます。 ftp コマンドは、 type, formの現行設定値を使用します。 mode、およびファイル転送中の struct サブコマンド。 |
| glob | mdelete, mgetのファイル名の拡張 (グロビング) を切り替えます。 および mput サブコマンド。 グロビングが使用不可の場合は、上記のサブコマンドのファイル名パラメーターは拡張されません。 グロビング機能が使用可能であり、
単一のファイル名を期待するサブコマンドにパターン・マッチング文字が使用されていると、
予期しない結果が起こることがあります。 例えば、 append および put サブコマンドは、ファイル名の拡張を実行してから、生成された最初のファイル名のみを使用します。 その他の ftp サブコマンド ( cd、 deleteなど) get、 mkdir、 rename、 および rmdirは、ファイル名の拡張を実行せず、パターン・マッチング文字を文字どおりに使用します。 mput サブコマンドのグロビングは、 csh コマンドの場合と同じ方法でローカルで行われます。 mdelete および mget サブコマンドの場合、各ファイル名はリモート・マシンで個別に展開され、リストはマージされません。 ディレクトリー名の拡張はリモート・ホストと ftp サーバーに依存しており、ファイル名の拡張とは異なる場合があります。 ディレクトリー名の拡張をプレビューするには、 mls サブコマンドを使用します。 ファイルのディレクトリー・サブツリー全体を転送するには、サブツリーの tar アーカイブをバイナリー形式で転送します。 mget または mput サブコマンドを使用しません。 |
| hash | ハッシュ記号 (#) の表示を切り替えます。 hash サブコマンドがオンの場合、ftp コマンドは転送されるデータ・ブロック (1024 バイト) ごとにハッシュ記号を 1 個表示します。 |
| help [サブコマンド] | ヘルプ情報を表示します。 ? を参照してください。 サブコマンドと同じです。 |
| image | type image サブコマンドと同義。 |
| lcd [ディレクトリー] | ローカル・ホスト上の作業ディレクトリーを変更します。 ディレクトリーを指定しない場合は、ftp コマンドはユーザーのホーム・ディレクトリーを使用します。 |
| ローカル M | type local M サブコマンドと同義。 |
| ls [RemoteDirectory] [LocalFile] | リモート・ディレクトリーの簡略ファイル・リストをローカル・ファイルに書き込みます。 RemoteDirectory パラメーターの指定がないと、ftp コマンドは現行リモート・ディレクトリーのリストを表示します。 LocalFile パラメーターが指定されていないか - (ハイフン) である場合、ftp コマンドはローカル端末にリストを表示します。 |
| macdef マクロ | サブコマンドのマクロを定義します。 後に続く null 行までの行 (2 つ連続の行送り) はマクロのテキストとして保管されます。 最高 4096 文字を含む 16 個までのマクロを定義できます。 マクロは、再定義されるか、または close サブコマンドが実行されるまで、定義されたままです。 $ (ドル記号) と ¥ (円記号) は ftp マクロ内の特殊文字です。 1 つ以上の番号が後に続く $記号は、呼び出し行の対応するマクロ・パラメーターに置き換えられます ( $ サブコマンドを参照してください)。 $ 記号の後に i という文字がくると、マクロがループすることを示し、$i 文字の組み合わせは各パス上の連続パラメーターに置き換えられます。 最初のマクロ・パラメーターは最初のパスで使用され、2 番目のマクロ・パラメーターは 2 番目のパスで使用されます (以下同様)。 A\記号は、次の文字の特殊な処理を防止します。 $および ¥ の特殊な意味をオフにするには、¥ 記号を使用します。 (円記号 (¥)) 記号。 |
| mdelete RemoteFiles | リモート・ホストで RemoteFiles パラメーターによって指定されたファイルを拡張し、リモート・ファイルを削除します。 |
| mdir [RemoteDirectories LocalFile] | リモート・ホストで RemoteDirectories パラメーターによって指定されたディレクトリーを展開し、拡張したディレクトリーの内容のリストを LocalFile パラメーター内で指定されたファイルに書き込みます。 RemoteDirectories パラメーターがパターン・マッチング文字を含んでいる場合、何も指定がなければ、mdir サブコマンドはローカル・ファイルを求めるプロンプトを表示します。 RemoteDirectories パラメーターがブランクで区切られたリモート・ディレクトリーのリストである場合、そのリストの最後の引数はローカル・ファイル名または - (ハイフン) のどちらかでなければなりません。 LocalFile パラメーターが - (ハイフン) の場合、mdir サブコマンドはローカル端末装置上でリストを表示します。 対話式プロンプトがオンの場合 ( prompt サブコマンドを参照)、 ftp コマンドは、最後のパラメーターがリモート・ディレクトリーではなくローカル・ファイルであることを確認するようにユーザーにプロンプトを出します。 |
| mget RemoteFiles | リモート・ホスト上で RemoteFiles パラメーターを拡張し、指示されたリモート・ファイルをローカル・ホスト上の現行ディレクトリーにコピーします。 ファイル名拡張の詳細については、 glob サブコマンドを参照してください。 リモート・ファイル名はローカルで使用され、 case、 ntransによって行われた設定によって変更されます。 および nmap サブコマンド。 ftp コマンドは、 form, modeの現行設定値を使用します。 struct、およびファイル転送中の type サブコマンド。 |
| mkdir [RemoteDirectory] | RemoteDirectory パラメーターで指定されたディレクトリーを リモート・ホスト上で作成します。 |
| mls [RemoteDirectories LocalFile] | リモート・ホストで RemoteDirectories パラメーターで指定された
ディレクトリーを拡張し、指示されたリモート・ディレクトリーの簡略ファイル・リストをローカル・ファイルに書き込みます。 RemoteDirectories パラメーターがパターン・マッチング文字を含んでいる場合、何も指定がなければ、mls サブコマンドはローカル・ファイルを求めるプロンプトを表示します。 RemoteDirectories パラメーターがブランクで区切られたリモート・ディレクトリーのリストである場合、そのリストの最後の引数はローカル・ファイル名または - (ハイフン) のどちらかでなければなりません。 LocalFile パラメーターが - (ハイフン) の場合、mls サブコマンドはローカル端末装置上でリストを表示します。 対話式プロンプトがオンの場合 ( prompt サブコマンドを参照)、 ftp コマンドは、最後のパラメーターがリモート・ディレクトリーではなくローカル・ファイルであることを確認するようにユーザーにプロンプトを出します。 |
| モード [ stream | block ] | ファイル転送モードを設定します。 引数を指定しないと、デフォルトは stream です。
|
| 項目 | 説明 |
|---|---|
| モードタイム (modtime) | 指定したファイルの、最後に変更した時刻をリモート・マシン上に表示します。 ftp コマンドを実行する前にホストに接続していないと、modtime サブコマンドは、エラー・メッセージを出して終了します。 ftp コマンドは、最初のパラメーター以外のパラメーターを無視します。 FileName パラメーターを指定していない場合には、ftp コマンドはファイル名を要求します。 ファイル名を指定しないと、ftp コマンドは標準出力に使用方法メッセージを送り、サブコマンドを終了します。 FileName パラメーターで指定した名前がリモート・ホスト上に存在し、その名前が 1 つのファイルを示す場合、ftp コマンドはそのファイルの最後の変更時刻を示すメッセージを標準出力に送信し、サブコマンドを終了します。 FileName にディレクトリーを指定した場合、ftp コマンドはエラー・メッセージを標準出力に送り、サブコマンドを終了します。 注: modtime サブコマンドは、許可されている場合はメタキャラクターを解釈します。
|
| mput [LocalFiles] | LocalFiles パラメーターで指定されたファイルをローカル・ホスト上で拡張し、 指示されたローカル・ファイルをリモート・ホストにコピーします。 ファイル名拡張の詳細については、 glob サブコマンドを参照してください。 ローカル・ファイル名はリモート・ホストで使用され、 ntrans および nmap サブコマンドによって行われた設定によって変更されます。 ftp コマンドは、 type, formの現行設定値を使用します。 mode、およびファイル転送中の struct サブコマンド。 |
| nlist [RemoteDirectory] [LocalFile] | 指定されたリモート・ディレクトリー (RemoteDirectory) の内容 のリストを指定されたローカル・ファイル (LocalFile) に書き込みます。 RemoteDirectory パラメーターが 指定されていない場合は、nlist サブコマンドは 現行のリモート・ディレクトリーの内容を表示します。 LocalFile パラメーターが指定されていないか、または - (ハイフン) である場合、nlist サブコマンドはローカル端末装置上にリストを表示します。 |
| nmap [InPattern OutPattern] | ファイル名マッピング機能を設定、または解除します。 パラメーターの指定がないと、ファイル名のマッピングはオフにされます。 パラメーターを指定すると、 MGet サブコマンドと MPUT サブコマンド、および宛先ファイル名が指定されていない場合は 取得 サブコマンドと プット サブコマンドについて、ソース・ファイル名がマップされます。 このサブコマンドは、ローカル・ホストとリモート・ホストで使用されるファイル命名の規則や慣行が異なる場合に便利です。 マッピングは、InPattern パラメーターと OutPattern パラメーターによって設定されたパターンどおりに行われます。 InPattern パラメーターは、着信ファイル名のテンプレートを指定します。これは、 case および ntrans 設定に従って既に処理されている可能性があります。 テンプレート変数$1範囲$9InPattern パラメーターに組み込むことができます。 InPattern パラメーター内の $ (ドル記号) と ¥$ (円記号、ドル記号) 以外のすべての文字は、 文字どおりに処理され、InPattern 変数間の区切り文字として使用されます。 例えば、 InPattern パラメーターが以下のようになっているとします。$1.$2リモート・ファイル名は以下のとおりです。mydata.dat、以下の値$1次と同一であるmydataおよび以下の値$2次と同一であるdat. OutPattern パラメーターは結果として生じるファイル名を決定します。 変数$1範囲$9これらの値は、 InPattern パラメーターから派生した値と、以下の変数に置き換えられます。$0元のファイル名に置き換えられます。 さらに、シーケンス [Sequence1,Sequence2 ] は、Sequence1 の値が null でなければ Sequence1 に置き換えられます。Sequence1 の値が null の場合は Sequence2 に置き換えられます。 例えば、サブコマンド 収まりますmyfile.dataからmyfile.dataまたはmyfile.data.old,myfile.fileから myfileおよびmyfile.myfileから.myfileOutPattern パラメーターに $(ドル記号)、[(左大括弧)、] (右大括弧)、および, (コンマ) が特殊な意味を持たないようにするには、円記号 (¥) を使用します。 |
| 非印刷 | form non-print サブコマンドと同義。 |
| ntrans [InCharacters [OutCharacters]] | ファイル名文字変換メカニズムをオンまたはオフにします。 パラメーターを指定しないと、文字変換はオフになります。 パラメーターが指定されている場合、ソース・ファイル名の文字は、 MGet サブコマンドと MPUT サブコマンド、および宛先ファイル名が指定されていない場合は 取得 サブコマンドと プット サブコマンドについて変換されます。 このサブコマンドは、ローカル・ホストとリモート・ホストで使用されるファイル命名の規則や慣行が異なる場合に便利です。 文字変換は、InCharacters および OutCharacters パラメーターによって設定されたパターン通りに行われます。 InCharacters パラメーター内の文字に一致するソース・ファイル名の文字は、OutCharacters パラメーター内の対応する文字に置き換えられます。 InCharacters パラメーターで指定した文字列の長さが OutCharacters パラメーターで指定した文字列より長い場合、 InCharacters パラメーターの文字列の中で OutCharacters パラメーターの中の文字と対応しないものは削除されます。 |
| open HostName [ポート] | HostName パラメーターで指定されたホストで、FTP サーバーへの
接続を確立します。 オプションのポート番号が指定されると、ftp コマンドはそのポートでサーバーへの接続を試みます。 自動ログイン機能が設定されている場合 (つまり、 -n フラグがコマンド行に指定されていない場合)、 ftp コマンドはユーザーを FTP サーバーにログインさせようとします。 また、正確な情報が与えられ、適正な許可が設定された $HOME/.netrc ファイルが必要です。 .netrc ファイルはホーム・ディレクトリーに入っていなければなりません。 |
| パッシブ | ファイル転送用のパッシブ・モードに切り替えます。 ファイル転送コマンド (get、mget、 put、mput など) を、 パッシブ・モードをオフにして起動すると、ftp サーバーは、 クライアントに戻るデータ接続をオープンします。 パッシブ・モードでは、クライアントは、 データの送受信時にサーバーへのデータ接続をオープンします。 |
| private | 保護レベルをプライベートに設定します (認証方式が設定されている場合のみ)。 このレベルでは、データの保全性と機密性が保護されます。 |
| プロンプト | 対話式プロンプトを切り替えます。 対話式プロンプトがオン (デフォルト) の場合、 ftp コマンドは、 mget中に複数のファイルを検索、送信、または削除する前に、検査のプロンプトを出します。 mput、および mdelete サブコマンド。 そうでない場合、ftp コマンドは、指定されたすべてのファイル上で状況に応じた操作を行います。 |
| 保護 | このコマンドは、現行レベルの保護を返します。 |
| proxy [サブコマンド] | ftp コマンドを 2 次制御接続上で実行します。 このサブコマンドを使うと、ftp コマンドは、2 個のサーバー間でファイルを転送するために、2 個のリモート FTP サーバーに同時に接続できます。 最初の proxy サブコマンドは、2 次制御接続を確立するための open サブコマンドでなければなりません。 proxy? を入力します。 サブコマンドは、2 次接続で実行可能な他の ftp サブコマンドを表示します。 次のサブコマンドは、proxy サブコマンドを 前に付けると、別の機能を持ちます。
ファイル転送では、2 次接続上の FTP サーバーが PASV (パッシブ) 命令をサポートする必要があります。 |
| put LocalFile [RemoteFile] | ローカル・ファイルをリモート・ホストに格納します。 RemoteFile パラメーターを指定しない場合、 ftp コマンドはローカル・ファイル名を使用してリモート・ファイルに名前を付け、リモート・ファイル名は ntrans および nmap サブコマンドによって行われた設定によって変更されます。 ftp コマンドは、 type, formの現行設定値を使用します。 mode、およびファイル転送中の struct サブコマンド。 |
| pwd | リモート・ホスト上の現行ディレクトリーの名前を表示します。 |
| quit | 接続をクローズして ftp コマンドを終了します。 bye サブコマンドと同じです。 |
| quote ストリング | String パラメーターで指定した文字列と同じ文字列をリモート・ホストに送信します。 remotehelp または quote help サブコマンドを実行して、 String パラメーターの有効な値のリストを表示します。 注: データ転送を伴う「引用」コマンドを使用すると、予期しない結果が生じる可能性があります。
|
| RECORD | struct record サブコマンドと同義。 |
| recv RemoteFile [LocalFile] | リモート・ファイルをローカル・ホストにコピーします。 get サブコマンドと同じです。 |
| 再初期化 | すべての入出力をフラッシュして転送を完了させ、FTP セッションを再初期化します。 リモート・ホストにログインせずに FTP セッションを開始した直後と同様に、すべてのデフォルト値をリセットします。 |
| remotehelp [サブコマンド] | リモート FTP サーバーからのヘルプを要求します。 |
| 名前変更 FromName ToName | リモート・ホスト上のファイルの名前を変更します。 |
| リセット | 応答キューを消去します。 このサブコマンドはコマンドの構文解析を再同期します。 |
| restart get | put | 追加 | 最後のチェックポイントが作成された位置からファイル転送を再開します。 正常に実行するには、サブコマンドの構造、タイプ、フォーマットが、打ち切られたサブコマンドのものと同じでなければなりません。 有効な引数は、get、put、append です。 |
| rmdir RemoteDirectory | RemoteDirectory パラメーターで指定されたリモート・ディレクトリーを、リモート・ホストから除去します。 |
| runique | (ReceiveUnique) get および mget サブコマンドの実行時に、ローカル宛先ファイルの固有ファイル名を作成する機能を切り替えます。 この機能がオフ (デフォルト) になっていると、ftp コマンドはローカル・ファイルを上書きします。 ローカル・ファイルの名前がローカル宛先ファイルに指定された名前と同じ場合、 ftp コマンドはローカル宛先ファイルの指定された名前を次のように変更します。.1ローカル・ファイルが既に新しい名前を使用している場合、 ftp コマンドは指定された名前に接尾部 .2 を付加します。 この名前も既にローカル・ファイルで使用されている場合、ftp コマンドは、固有ファイル名が見つかるまで接尾部の増分を続けます。固有ファイル名が見つからないまま .99 に達すると、接尾部の増分をやめます。 ftp コマンドが固有のファイル名を検出できない場合、 ftp コマンドはエラーを報告し、転送は行われません。 runique サブコマンドはシェル・コマンドから生成されたローカル・ファイル名には影響を与えません。 |
| safe | 保護レベルを「安全」に設定します。 このレベルでは、データは保全性が保護されます。 |
| 送信 LocalFile [RemoteFile] | ローカル・ファイルをリモート・ホストに格納します。 put サブコマンドと同じです。 |
| SENDPORT | FTP PORT 命令の使用を切り替えます。 デフォルトでは、ftp コマンドは個々のデータ転送の接続を設定するときに、PORT 命令を使用します。 PORT 命令が使用不可のときは、ftp コマンドはデータ転送に PORT 命令を使用しません。 PORT 命令は、PORT 命令を受信したことを正しく表示せず、PORT 命令の実行を無視する FTP サーバーを扱う場合に便利です。 |
| サイト 引数 | chmod コマンドを使って、アイドル・タイムアウト期間の表示または設定、ファイル作成 umask の表示または設定、あるいはファイルの許可の変更を行います。 Args パラメーターに使用できる値は、umask と chmod です。 |
| サイズ RemoteFile | RemoteFile パラメーターで指定したリモート・ファイルのサイズをバイト数で表示します。 |
| status | ftp コマンドの現行状況と、サブコマンドの状況を表示します。 |
| stream | mode stream サブコマンドと同義。 |
| struct [ ファイル | レコード ] | データ転送構造タイプを設定します。 有効な引数は file と record です。
|
| SUNIQUE | (Send/Store Unique) put および mput サブコマンドの実行中に、リモート宛先ファイルの固有ファイル名を作成する機能を切り替えます。 この機能がオフ (デフォルト) であれば、ftp コマンドはリモート・ファイルを上書きします。 それ以外の場合、リモート宛先ファイル用に指定したのと同じ名前がリモート・ファイルに付いていれば、リモート FTP サーバーがリモート宛先ファイル名を変更します。 リモート・サーバーは必ず STOU 命令をサポートしていなければならないことに注意してください。 |
| system | リモート・マシンで実行されているオペレーティング・システムのタイプを表示します。 |
| Telnet | form telnet サブコマンドと同義。 |
| テネックス (tenex) | type tenex サブコマンドと同義。 |
| trace | パケットのトレースを切り替えます。 |
| タイプ [ アッシ | バイナリー | EBCDIC | 画像 | ローカル 分 | テネックス ] | ファイル転送タイプを設定します。 有効な引数は ascii、binary、ebcdic、image、local M、tenex です。 引数が指定されない場合は、現行タイプを表示します。 デフォルト・タイプは ascii です。binary タイプは ascii より効率的な場合があります。
|
| user ユーザー [パスワード] [アカウント] | ローカル・ユーザー (User) をリモート FTP サーバーに知らせます。 リモート・サーバーが Password や Account パラメーターを要求している場合にそれらが指定されないと、ftp コマンドはパスワードやアカウントの入力を求めるプロンプトをローカルに表示します。 Account パラメーターが必要な場合、ftp コマンドはリモート・ログイン処理が完了した後で Account パラメーターをリモート・サーバーに送信します。 |
| verbose | 詳細モードを切り替えます。 詳細モードがオン (デフォルト) の場合、ftp コマンドはリモート FTP サーバーからの応答をすべて表示します。 また、ftp コマンドは、転送の完了時にすべてのファイル転送についての統計を表示します。 |
例
- ftp コマンドを呼び出すには、システムにログインします。canopus、 ローカル・ヘルプ情報の表示, リモート・ヘルプ情報の表示, 状況の表示, ベルの切り替え, プロンプト, runique, トレース, verbose サブコマンドを使用して終了するには、次のように入力します。
$ ftp canopus Connected to canopus.austin.century.com. 220 canopus.austin.century.com FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready. Name (canopus:eric): dee 331 Password required for dee. Password: 230 User dee logged in. ftp> help Commands may be abbreviated. Commands are: ! delete mdelete proxy runique $ debug mdir sendport send account dir mget put size append disconnect mkdir pwd status ascii form mls quit struct bell get mode quote sunique binary glob modtime recv system bye hash mput remotehelp tenex case help nmap rstatus trace cd image nlist rhelp type cdup lcd ntrans rename user close ls open reset verbose cr macdef prompt rmdir ? clear private protect safe ftp> remotehelp 214-The following commands are recognized(* =>'s unimplemented). USER PORT RETR MSND* ALLO DELE SITE* XMKD CDUP PASS PASV STOR MSOM* REST* CWD STAT* RMD XCUP ACCT* TYPE APPE MSAM* RNFR XCWD HELP XRMD STOU REIN* STRU MLFL* MRSQ* RNTO LIST NOOP PWD QUIT MODE MAIL* MRCP* ABOR NLST MKD XPWD AUTH ADAT PROT PBSZ MIC ENC CCC 214 Direct comments to ftp-bugs@canopus.austin.century.com. ftp> status Connected to canopus.austin.century.com. No proxy connection. Mode: stream; Type: ascii; Form: non-print; Structure: file Verbose: on; Bell: off; Prompting: on; Globbing: on Store unique: off; Receive unique: off Case: off; CR stripping: on Ntrans: off Nmap: off Hash mark printing: off; Use of PORT cmds: on ftp> bell Bell mode on. ftp> prompt Interactive mode off. ftp> runique Receive unique on. ftp> trace Packet tracing on. ftp> verbose Verbose mode off. ftp> quit $ - ftp コマンドを呼び出すには、システムにログインします。canopus、作業ディレクトリーを印刷し、作業ディレクトリーを変更し、ファイル転送タイプを ASCII に設定し、ローカル・ファイルをリモート・ホストに送信し、作業ディレクトリーを親ディレクトリーに変更してから、終了します。
$ ftp canopus Connected to canopus.austin.century.com. 220 canopus.austin.century.com FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready. Name (canopus:eric): dee 331 Password required for dee. Password: 230 User dee logged in. ftp> pwd 257 "/home/dee" is current directory. ftp> cd desktop 250 CWD command successful. ftp> type ascii 200 Type set to A. ftp> send typescript 200 PORT command successful. 150 Opening data connection for typescript (128.114.4.99,1412). 226 Transfer complete. ftp> cdup 250 CWD command successful. ftp> bye 221 Goodbye. $ - ( .netrc ファイルを使用して) 自動ログオンで ftp コマンドを呼び出すには、システムとのセッションをオープンします。canopus、ログインし、作業ディレクトリーを親ディレクトリーに変更し、作業ディレクトリーを印刷し、現行ディレクトリーの内容をリストし、ファイルを削除し、現行ディレクトリーの内容のリストをローカル・ファイルに書き込み、セッションをクローズしてから、終了します。
$ ftp canopus Connected to canopus.austin.century.com. 220 canopus.austin.century.com FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready. 331 Password required for dee. 230 User dee logged in. ftp> cdup 250 CWD command successful. ftp> pwd 257 "/home" is current directory. ftp> dir 200 PORT command successful. 150 Opening data connection for /usr/bin/ls (128.114.4.99,1407) (0 bytes). total 104 drwxr-xr-x 2 system 32 Feb 23 17:55 bin Drwxr-xr-x 26 rios 4000 May 30 17:18 bin1 drwxr-xr-x 2 system 32 Feb 23 17:55 books drwxrwxrwx 18 rios 1152 Jun 5 13:41 dee -r--r--r-- 1 system 9452 May 17 12:21 filesystems drwxr-xr-x 2 system 32 Feb 23 17:55 jim drwxr-xr-x 5 system 80 Feb 23 17:55 krs drwxrwxrwx 2 rios 16432 Feb 23 17:36 lost+found -rwxr-xr-x 1 rios 3651 May 24 16:45 oldmail drwxr-xr-x 2 system 256 Feb 23 17:55 pubserv drwxrwxrwx 2 system 144 Feb 23 17:55 rein989 drwxr-xr-x 2 system 112 Feb 23 17:55 reinstall 226 Transfer complete. ftp> delete oldmail 250 DELE command successful. ftp> mdir /home/dee/bin binlist output to local-file: binlist? y 200 PORT command successful. 150 Opening data connection for /usr/bin/ls (128.114.4.99,1408) (0 bytes). 226 Transfer complete. ftp> close 221 Goodbye. ftp> quit $
ファイル
| 項目 | 説明 |
|---|---|
| /usr/samples/tcpip/netrc | サンプルの .netrc ファイルが入っています。 |
| /etc/syslog.conf | syslogd デーモンの構成情報が入っています。 |