ftp —
Internet
ファイル転送プログラム
ftp
[
-pinegvd]
[
host]
pftp
[
-inegvd]
[
host]
ftp は、 Internet
標準のファイル転送プロトコル
(File Transfer Protocol) の
ユーザーインターフェースである。
このプログラムにより、ユーザーはリモートのネットワークサイトと
相互にファイルを転送できる。
オプションは、コマンドライン上か、コマンドインタプリタで指定できる。
- -p
- データ転送にパッシブ
(passive) モードを使う。
ファイヤーウォールが背後にあるクライアントマシンへの
外部からの接続を防いでいるような環境で
ftp
が使えるようになる。
FTP サーバが PASV
コマンドをサポートしている必要がある。
pftp
として起動された場合のデフォルトである。
- -i
- 複数のファイルの転送中に対話
(interactive)
プロンプトを出さないようにする。
- -n
-
ftp
が最初の接続で
“自動ログイン
(auto-login)”
しようとするのを抑制する。
自動ログインが可能な場合、
ftp
はユーザーのホームディレクトリにある
.netrc ファイル
(netrc(5) を参照)
でリモートマシンのアカウントが記述されているエントリをチェックする。
エントリがない場合、
ftp
はリモートマシンのログイン名
(デフォルトではローカルマシンでログイン名)
を要求するプロンプトを出す。
必要ならば、ログインに使うパスワードとアカウントを要求するプロンプトを出す。
- -e
-
ftp
プログラムにコマンドライン編集
(edit)
とヒストリ機能が組み込まれている場合、
それを使用不可にする。
組み込まれていない場合は、何も影響しない。
- -g
- ファイル名展開
(glob) をさせない。
- -v
- 詳細表示 (verbose)
オプションを使うと、
ftp
はデータ転送の結果だけでなく、
リモートサーバからの全てのレスポンスを表示する。
- -d
- デバッグ (debug)
を有効にする。
ftp
が通信するクライアントホストは、コマンドラインで指定される。
通信相手が指定された場合、
ftp
はすぐにそのホスト上の
FTP
サーバと通信を確立しようと試みる。
指定されない場合、
ftp
はコマンドインタプリタとして動作し、ユーザーからのコマンド入力を待つ。
ftp
がユーザーからのコマンドを待つ場合、ユーザーに対して
‘
ftp>
’
というプロンプトが出される。
ftp
は以下のコマンドを認識する。
-
!
[command
[args]]
- ローカルマシン上で対話シェルを起動する。
複数の引き数がある場合、
最初の引き数は実際に実行されるコマンドとして解釈される。
残りはそのコマンドの引き数となる。
-
$
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
を終了させる。
同様に、end of file
でもセッションを閉じて終了する。
- case
-
mget
コマンドの場合に行われるリモート計算機上のファイル名に対する
大文字から小文字への変換を切替える。
case が on の場合
(デフォルトでは off)、
リモート計算機上でファイル名が全て大文字のファイルは、
ローカルディレクトリに小文字に変換された
ファイル名で書き込まれる。
-
cd
remote-directory
- リモートマシン上のワーキングディレクトリを
remote-directory
に変更する。
- cdup
- リモートマシン上のワーキングディレクトリを
リモートマシン上でのカレントワーキングディレクトリの親ディレクトリにする。
-
chmod
mode file-name
- リモートマシン上のファイル
file-name
のアクセス権を
mode
に変更する。
- close
- リモートサーバとの
FTP
セッションを閉じて、コマンドインタプリタに戻る。
定義された全てのマクロは消去される。
- cr
- ascii
タイプでファイル転送をする場合に行われる
キャリッジリターンの除去を切替える。
ascii
タイプのファイル転送では、
レコードはキャリッジリターン
/
ラインフィードという文字列で表される。
cr が on の場合
(これがデフォルトである)、
キャリッジリターンは
UNIX
のラインフィードのみによるレコード区切りに合わせるために
文字列から取り除かれる。
UNIX
以外のリモートシステム上のレコードでは、
ラインフィードしか含まれない場合がある。
ascii
タイプの転送の場合、
cr が off
になっているときにのみ、
これらのラインフィードがレコード区切りと区別される。
-
delete
remote-file
- リモートマシン上のファイル
remote-file
を削除する。
-
debug
[debug-value]
- デバッグモードを切替える。
オプション
debug-value
が指定されると、デバッグレベルを指定するために使われる。
debug が on の場合、
ftp
はリモートマシンに送られた各コマンドを
‘
-->
’
に続けて表示する。
-
dir
[remote-directory]
[local-file]
- リモートマシン上のディレクトリ
remote-directory
の内容をリスト表示する。
オプションとして、出力をローカルのファイル
local-file
に書き出す。
対話プロンプトが on
である場合、
ftp
は最後の引き数が本当に
dir
の出力を書き込むローカルファイルであるかを確認するプロンプトを出す。
ディレクトリが指定されていない場合、
リモートマシン上のカレントワーキングディレクトリの内容が表示される。
ローカルファイルが指定されていない場合、または
local-file が
-
の場合、出力は端末に送られる。
- disconnect
-
close
と同じ。
-
form
format
- ファイル転送形式
form を
format
に設定する。
デフォルトの転送形式は
“file” である。
-
get
remote-file
[local-file]
- リモートファイル
remote-file
を取得しローカルマシンに保存する。
ローカルファイル名が指定されていない場合、
リモートマシン上でのファイル名を現在の
case, ntrans,
nmap
の設定に従って変更した名前になる。
現在の type,
form, mode,
structure
の設定がファイル転送の際に使われる。
- glob
-
mdelete,
mget, mput
で使われるファイル名展開の使用・不使用を切替える。
glob
がオフの場合、ファイル名の引き数は文字通り扱われ、展開されない。
mput
の場合のファイル名展開は、
csh(1)
と行われるものと同様である。
mdelete と
mget
の場合、リモートファイル名はリモートマシン上で個々に展開され、
リストはマージされない。
ディレクトリ名の展開は、通常ファイルの名前展開と異なる場合がある。
つまり、展開の結果は
OS と FTP
サーバに依存する。
また、展開結果は
‘
mls remote-files -
’
によって、あらかじめ知ることができる。
注意: mget と
mput
はファイルのディレクトリサブツリー全体を転送するわけではない。
サブツリー全体を転送するには、
サブツリーの
tar(1) 書庫を (binary
モードで)
転送すればよい。
- hash
- 各データブロックが転送される毎に表示されるハッシュ記号
(``#'') の
表示・非表示を切替える。
データブロックのサイズは
1024 バイトである。
-
help
[command]
- コマンド
command
の意味についての情報メッセージを表示する。
引き数がない場合、
ftp
は使用可能なコマンドの一覧を表示する。
-
idle
[seconds]
- リモートサーバの無活動タイマを
seconds
秒に設定する。
seconds
を省略すると、現在の無活動タイマの値が表示される。
-
lcd
[directory]
- ローカルマシン上のワーキングディレクトリを変更する。
ディレクトリ
directory
が指定されない場合、ユーザーのホームディレクトリが指定される。
-
ls
[remote-directory]
[local-file]
- リモートマシン上のディレクトリの内容をリスト表示する。
リストにはサーバが選択したシステム依存の情報が含まれる。
例えば、大部分の
UNIX
システムでは
‘
ls -l
’
コマンド (nlist
を参照)
による出力が行われる。
リモートディレクトリ
remote-directory
が指定されない場合、カレントワーキングディレクトリが指定される。
対話プロンプトが on
の場合、 ftp
は最後の引き数が本当に
ls
の出力を書き込むローカルファイルであるかを確認するプロンプトを出す。
ローカルファイルが指定されない場合、または
local-file が
‘-’
の場合、出力は端末に送られる。
-
macdef
macro-name
- マクロを定義する。
後続の行がマクロ
macro-name
として保存される。
空行
(ファイル中の連続した改行文字、
または端末からのキャリッジリターン)
により
マクロ入力モードは終了する。
定義された全てのマクロで、マクロ数
16 個、合計 4096
文字という制限がある。
close
コマンドが実行されるまで、マクロは定義されたまま継続する
(有効である)。
マクロプロセッサは
`$' と `\'
を特殊文字として解釈する。
1 つ以上の数字が続く
`$'
は、マクロを呼び出したコマンドラインの
対応する引き数に置き換えられる。
`i' が続く `$'
は、マクロプロセッサに対して
マクロをループさせるように指示する。
最初のパスで `$i'
は、マクロを呼び出したコマンドラインの
最初の引き数に置き換えられる。
そして、2
回目のパスでは 2
番目の引き数に置き換えられ、
それ以降も同様に順番に置き換えられる。
任意の文字が続く `\'
は、その文字に置き換えられる。
`$'
を特殊文字として扱わせないためには
`\' を使うこと。
-
mdelete
[remote-files]
- リモートマシン上のファイル
remote-files
を削除する。
-
mdir
remote-files local-file
- 複数のリモートファイルを指定できることを除くと、
dir と同じ。
対話プロンプトが on
の場合、 ftp
は最後の引き数が本当に
mdir
の出力を書き込むローカルファイルであるかを確認するプロンプトを出す。
-
mget
remote-files
- リモートマシン上でファイル名
remote-files
を展開し、その名前のファイルに対して
get
を実行する。
ファイル名展開の詳細は、
glob
を参照すること。
結果として得られたファイル名は、
case, ntrans,
nmap
の設定に従って処理される。
ファイルはローカルのワーキングディレクトリに転送される。
このディレクトリは
‘
lcd directory
’
で変更できる。
新しいローカルディレクトリは
‘! mkdir directory
’
で作成することができる。
-
mkdir
directory-name
- リモートマシン上にディレクトリを作成する。
-
mls
remote-files local-file
- 複数のリモートファイルを指定できる点とローカルファイル
local-file
を指定しなければならない点を除くと、
nlist と同じ。
対話プロンプトが on
の場合、 ftp
は最後の引き数が本当に
mls
の出力を書き込むローカルファイルであるかを確認するプロンプトを出す。
-
mode
[mode-name]
- ファイル転送モード
mode を
mode-name
に設定する。
デフォルトは “stream”
モードである。
-
modtime
file-name
- リモートマシン上のファイルの最終修正時刻を表示する。
-
mput
local-files
- 引き数で与えられたローカルファイルのリストにあるワイルドカードを展開し、
結果として得られたファイルリストにある各ファイルに対して
put
を実行する。
ファイル名展開の詳細は、
glob
を参照すること。
結果として得られたファイル名は、
ntrans と
nmap
の設定に従って処理される。
-
newer
file-name
[local-file]
- リモートファイルの修正時刻が
ローカルマシン上のファイルのものより新しい場合にのみ、
ファイルを取得する。
ファイルがローカルマシンに存在しない場合、リモートファイルは
新しい
ものとして扱われる。
その他について、このコマンドは
get
と同じである。
-
nlist
[remote-directory]
[local-file]
- リモートマシン上のディレクトリにあるファイルのリストを表示する。
リモートディレクトリ
remote-directory
が指定されない場合、カレントワーキングディレクトリが指定される。
対話プロンプトが on
の場合、 ftp
は最後の引き数が本当に
nlist
の出力を書き出すローカルファイルであるかを確認するプロンプトを出す。
ローカルファイルが指定されない場合、または
local-file が
-
の場合、出力は端末に送られる。
-
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]
に置き換えられ、
seq1
が空文字列の場合は
seq2
に置き換えられる。
例えば、コマンド
は、 入力ファイル名
"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
サーバとの接続を確立する。
オプションとしてポート番号を指定した場合、
ftp
は指定したポートで
FTP
サーバーと接続を試みる。
auto-login が on
(デフォルト)
の場合、 ftp は
FTP
サーバーに自動ログインを試みる
(以下を参照)。
- prompt
- 対話プロンプトの使用・不使用を切替える。
(prompt が on の場合)
複数のファイルを転送するときに
ユーザーが選択的にファイルを取得・保存できるように、
対話的な問い合わせが行われる。
prompt が off (デフォルトは on)
の場合、 mget
または mput
では全てのファイルが転送され、
mdelete
では全てのファイルが削除される。
-
proxy
ftp-command
- ftp コマンドを 2
次的な制御接続上から実行する。
このコマンドを使うと、2
つのリモート FTP
サーバ間でファイルを転送するために、
同時に 2
つのサーバに接続できる。
最初の proxy
コマンドは、2
次的な制御接続を確立するための
open
コマンドである必要がある。
2
次接続上で実行可能な他の
ftp
コマンドを閲覧するためには、
"proxy ?"
というコマンドを入力すること。
以下のコマンドは
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
サーバに送信する。
-
recv
remote-file
[local-file]
-
get
と同じ。
-
reget
remote-file
[local-file]
-
get
と似た動作をする。
ただし、ローカルファイル
local-file
が存在しているがリモートファイル
remote-file
より小さいという場合、ローカルファイル
local-file
がリモートファイル
remote-file
の部分的に転送されたコピーであると見做し、
転送の失敗が見つかった位置から転送を続行する。
このコマンドは非常に大きなファイルを
接続が切れやすいネットワーク上で転送する場合に役立つ。
-
remotehelp
[command-name]
- リモートの FTP
サーバに対してヘルプメッセージを要求する。
コマンド名
command-name
が指定された場合、そのコマンド名はサーバにも送られる
(サーバにそのコマンドのヘルプを要求する)。
-
remotestatus
[file-name]
- 引き数が指定されない場合、リモートマシンの状態を表示する。
ファイル名
file-name
が指定された場合、リモートマシン上のファイル
file-name
の状態を表示する。
-
rename
[from]
[to]
- リモートマシン上の
from
というファイルを
to
というファイル名に変更する。
- reset
- 応答キューをクリアする。
このコマンドは、リモートの
FTP サーバとの間で
コマンドと応答のシーケンスを再同期させる。
リモートサーバによる
FTP
プロトコル違反があった場合、
その後に再同期が必要になることがある。
-
restart
marker
- マーカー
marker
で示した位置から
get や put
をすぐに再開する。
UNIX
システムでは、通常
marker
はファイルのバイトオフセットである。
-
rmdir
directory-name
- リモートマシン上のディレクトリを削除する。
- runique
- 一意なファイル名でローカルシステムに保存するか否かを切替える。
get や
mget
コマンドによる転送先ローカルファイル名と
同じ名前のファイルが既に存在する場合、
転送先ファイル名に
".1" が付加される。
そのファイル名も既に存在するファイル名と一致する場合、
元のファイル名に
".2" が付加される。
この処理が ".99"
まで続いた場合、
エラーメッセージが表示され、転送は行われない。
生成された一意なファイル名が表示される。
runique
はシェルコマンドによって生成されるローカルファイル
(以下を参照) には
影響しない点に注意すること。
デフォルトの値は off
である。
-
send
local-file
[remote-file]
-
put
と同じ。
- sendport
-
PORT
コマンドの使用・不使用を切替える。
デフォルトでは、
ftp
はデータ転送のための接続を確立するため
PORT
コマンドを使おうとする。
PORT
コマンドを使用すると、複数のファイルを転送する場合に遅延を避けることができる。
PORT
コマンドが失敗した場合、
ftp
はデフォルトのデータポートを使う。
PORT
コマンドが off
の場合、データ転送に
PORT
コマンドを使おうと試みない。
このオプションは、
PORT
コマンドを無視するにもかかわらず、
受け付けると間違って返答するような
FTP
の実装の場合に役立つ。
-
site
arg1 arg2 ...
- 指定された引き数を
SITE
コマンドの引き数としてそのままリモートの
FTP
サーバに送信する。
-
size
file-name
- リモートマシン上のファイル
file-name
のサイズを返す。
- status
-
ftp
の現在の状態を表示する。
-
struct
[struct-name]
- ファイル転送の構造
structure を
struct-name
に設定する。
デフォルトでは、“stream”
構造が使われる。
- sunique
- 一意なファイル名でリモート計算機上にファイルを保存するか否かを切替える。
この機能が使えるためには、リモートの
FTP サーバが FTP
プロトコルの
STOU
コマンドをサポートしていなければならない。
リモートサーバは一意なファイル名を表示する。
デフォルトの値は off
である。
- system
- リモートマシンで稼働している
OS
のタイプを表示する。
- tenex
- TENEX
マシンと通信するために必要なファイル転送タイプに
type を設定する。
- trace
- パケットトレースの使用・不使用を切替える。
-
type
[type-name]
- ファイル転送のタイプ
type を
type-name
に設定する。 type
を指定しない場合、現在の
type が表示される。
デフォルトの type
はネットワーク ASCII
である。
-
umask
[newmask]
- リモートサーバのデフォルトの
umask を newmask
に設定する。
newmask
を省略すると、現在の
umask が表示される。
-
user
user-name
[password]
[account]
- リモートの FTP
サーバにユーザーを識別させる。
パスワード
password
が指定されておらず、かつサーバがパスワードを必要とする場合、
ftp は
(ローカルエコーをオフにしてから)
ユーザーにパスワードを問い合わせる。
アカウントフィールド
account
が指定されておらず、かつ
FTP
サーバがアカウントを必要としている場合、ユーザーはアカウントを尋ねられる。
リモートサーバがログインにアカウントを必要としない場合、
アカウントフィールド
account
が指定されると、ログイン処理の完了後に
account
コマンドがリモートサーバに渡される。
ftp が
“自動ログイン
(auto-login)” を off
にして起動されない限り、
この処理は FTP
サーバに最初に接続されたときに自動的に行われる。
- verbose
- 詳細表示モードを切替える。詳細表示モードの場合、
FTP
サーバからの全ての応答が表示される。
さらに詳細表示モードが
on
の場合、ファイル転送が完了すると、
転送効率に関する統計が報告される。
デフォルトでは、詳細表示モードは
on である。
- ?
[command]
-
help
と同じ。
スペースを含むコマンド引き数は、引用記号
`"'
で括らなければならない。
ファイル転送を中止するためには、
端末のインタラプトキー
(通常は Ctrl-C)
を使うこと。
データ送信は直ちに停止する。
データ受信は FTP
プロトコルの
ABOR
コマンドをリモートサーバに送信することで停止し、
それ以降のデータは破棄される。
これが行われるスピードは、リモートサーバの
ABOR
コマンド処理の機能に依存する。
リモートサーバが
ABOR
コマンドをサポートしていない場合、
要求したファイルをリモートサーバが送信しおわるまで
‘
ftp>
’
というプロンプトは現れない。
ftp
がローカルの処理を完了し、リモートサーバからの応答を待っている場合、
端末からのインタラプトキー文字列は無視される。
このモードでの長い遅延は、上で述べた
ABOR 処理によるものか、
FTP
プロトコル違反を含めたリモートサーバの予期せぬ動作によるものである。
リモートサーバの予期せぬ動作の結果による遅延の場合、ローカルの
ftp
プログラムは手動で終了
(kill)
しなければならない。
ftp
の引き数として指定されたファイル名は、以下の規則に従って変更される。
- ファイル名として
‘-’
が指定された場合、(読み込みとして)
stdin
が、(書き出しとして)
stdout
が使われる。
- ファイル名の最初の文字が
‘|’
の場合、残りの引き数はシェルコマンドとして解釈される。
そして、 ftp
は与えられた引き数を
popen(3)
に渡してシェルを fork
し、stdout
を読み込み、stdin
に書き出す。
シェルコマンドがスペースを含む場合、
“" ls -lt"”
のように引き数をクォートしなければならない。
この機構の特に役立つ例としては、“dir
more” がある。
- 上記のチェックにひっかからず、ファイル名展開
``glob'' が on の場合、
ローカルファイル名は
csh(1)
で使われる規則に基づいて展開される。
glob
コマンドを参照すること。
ftp コマンドが
1
つしかローカルファイルを必要としない場合
(例えば put
の場合)、「ファイル名展開」操作で生成された最初のファイル名のみが使われる。
-
mget
コマンドと get
コマンドにおいてローカルファイル名が指定されていない場合、
ローカルファイル名はリモートファイル名と同じであるが、
case, ntrans,
nmap
の設定によって変更されることがある。
runique が on
の場合、結果として得られるファイル名が変更されることがある。
-
mput
コマンドと put
コマンドにおいてリモートファイル名が指定されていない場合、
リモートファイル名はローカルファイル名と同じであるが、
ntrans と
nmap
の設定によって変更されることがある。
sunique が on
の場合、結果として得られるファイル名が
サーバによって更に変更されることがある。
FTP
の仕様にはファイル転送に影響を及ばす多くのパラメータがある。
type は “ascii”,
“image” (binary), “ebcdic”, “local byte
size” ( PDP-10's と PDP-20's
でよく使われる)
のいずれかである。
ftp ascii タイプと image
タイプのファイル転送をサポートしている。
更に、
tenex
モード転送のためにローカルバイトサイズ
8
のファイル転送をサポートしている。
ftp
は他のファイル転送パラメータ
mode,
form,
struct
についてはデフォルトの値しか使えない。
ftp
は以下の環境変数を使用する。
HOME
-
.netrc
ファイルが存在する場合のデフォルトの場所。
SHELL
- デフォルトのシェル。
ftpd(8), RFC 959
ftp コマンドは
4.2BSD
で登場した。
コマンドが正しく動作するかは、リモートサーバが適切に動作するかに依存する。
4.2BSD の ascii
タイプ転送のソースコードにあった
キャリッジリターンの扱いに関するエラーが訂正された。
この訂正の結果として、
4.2BSD
のサーバとの間でバイナリファイルを
ascii
タイプで転送すると、
転送に誤りが起こる。
この問題を避けるためには、binary
image タイプを使うこと。
この man
ページの翻訳にあたり、
FreeBSD jpman project <
http://www.jp.freebsd.org/man-jp/>
による翻訳を参考にさせていただいた。