JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1: ユーザーコマンド     Oracle Solaris 11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

ユーザーコマンド

acctcom(1)

adb(1)

addbib(1)

admin(1)

alias(1)

allocate(1)

amt(1)

appcert(1)

apptrace(1)

apropos(1)

ar(1)

arch(1)

as(1)

asa(1)

at(1)

atq(1)

atrm(1)

audioconvert(1)

audioctl(1)

audioplay(1)

audiorecord(1)

audiotest(1)

auths(1)

auto_ef(1)

awk(1)

banner(1)

basename(1)

basename(1B)

batch(1)

bc(1)

bdiff(1)

bfs(1)

bg(1)

biff(1B)

break(1)

builtin(1)

cal(1)

calendar(1)

case(1)

cat(1)

cd(1)

cdc(1)

cdrw(1)

chdir(1)

checkeq(1)

checknr(1)

chgrp(1)

chkey(1)

chmod(1)

chown(1)

chown(1B)

ckdate(1)

ckgid(1)

ckint(1)

ckitem(1)

ckkeywd(1)

ckpath(1)

ckrange(1)

ckstr(1)

cksum(1)

cktime(1)

ckuid(1)

ckyorn(1)

clear(1)

cmp(1)

col(1)

comb(1)

comm(1)

command(1)

compress(1)

continue(1)

cp(1)

cpio(1)

cpp(1)

cputrack(1)

crle(1)

crontab(1)

csh(1)

csplit(1)

ct(1C)

ctags(1)

ctrun(1)

ctstat(1)

ctwatch(1)

cu(1C)

cut(1)

date(1)

dc(1)

deallocate(1)

decrypt(1)

delta(1)

deroff(1)

df(1B)

dhcpinfo(1)

diff(1)

diff3(1)

diffmk(1)

digest(1)

digestp(1)

dircmp(1)

dirname(1)

dirs(1)

dis(1)

disown(1)

dispgid(1)

dispuid(1)

dos2unix(1)

dpost(1)

du(1)

du(1B)

dump(1)

dumpcs(1)

dumpkeys(1)

echo(1)

echo(1B)

ed(1)

edit(1)

egrep(1)

eject(1)

elfdump(1)

elfedit(1)

elffile(1)

elfsign(1)

elfwrap(1)

encrypt(1)

enhance(1)

env(1)

eqn(1)

errange(1)

errdate(1)

errgid(1)

errint(1)

erritem(1)

error(1)

errpath(1)

errstr(1)

errtime(1)

erruid(1)

erryorn(1)

eval(1)

ex(1)

exec(1)

exit(1)

expand(1)

export(1)

exportfs(1B)

expr(1)

expr(1B)

exstr(1)

factor(1)

false(1)

fastboot(1B)

fasthalt(1B)

fc(1)

fg(1)

fgrep(1)

file(1)

file(1B)

filebench(1)

filep(1)

filesync(1)

filofaxp(1)

find(1)

finger(1)

fmt(1)

fmtmsg(1)

fold(1)

for(1)

foreach(1)

franklinp(1)

from(1B)

ftp(1)

function(1)

gcore(1)

gencat(1)

geniconvtbl(1)

genmsg(1)

get(1)

getconf(1)

getfacl(1)

getlabel(1)

getopt(1)

getoptcvt(1)

getopts(1)

gettext(1)

gettxt(1)

getzonepath(1)

glob(1)

goto(1)

gprof(1)

grep(1)

groups(1)

groups(1B)

grpck(1B)

hash(1)

hashcheck(1)

hashmake(1)

hashstat(1)

head(1)

helpdate(1)

helpgid(1)

helpint(1)

helpitem(1)

helppath(1)

helprange(1)

helpstr(1)

helptime(1)

helpuid(1)

helpyorn(1)

hist(1)

history(1)

hostid(1)

hostname(1)

i386(1)

i486(1)

iconv(1)

idnconv(1)

if(1)

indxbib(1)

install(1B)

ipcrm(1)

ipcs(1)

isainfo(1)

isalist(1)

jobs(1)

join(1)

jsh(1)

kbd(1)

kdestroy(1)

keylogin(1)

keylogout(1)

kill(1)

kinit(1)

klist(1)

kmdb(1)

kmfcfg(1)

kpasswd(1)

krb5-config(1)

ksh(1)

ksh88(1)

ksh93(1)

ktutil(1)

lari(1)

last(1)

lastcomm(1)

ld(1)

ldapadd(1)

ldapdelete(1)

ldaplist(1)

ldapmodify(1)

ldapmodrdn(1)

ldapsearch(1)

ldd(1)

ld.so.1(1)

let(1)

lex(1)

lgrpinfo(1)

limit(1)

line(1)

list_devices(1)

listusers(1)

llc2_autoconfig(1)

llc2_config(1)

llc2_stats(1)

ln(1)

ln(1B)

loadkeys(1)

locale(1)

localedef(1)

logger(1)

logger(1B)

login(1)

logname(1)

logout(1)

look(1)

lookbib(1)

lorder(1)

ls(1)

ls(1B)

m4(1)

mac(1)

mach(1)

machid(1)

madv.so.1(1)

mail(1)

Mail(1B)

mail(1B)

mailcompat(1)

mailp(1)

mailq(1)

mailstats(1)

mailx(1)

make(1S)

makekey(1)

man(1)

mconnect(1)

mcs(1)

mdb(1)

mesg(1)

mkdir(1)

mkmsgs(1)

mkstr(1B)

mktemp(1)

moe(1)

more(1)

mp(1)

mpss.so.1(1)

msgcc(1)

msgcpp(1)

msgcvt(1)

msgfmt(1)

msggen(1)

msgget(1)

mt(1)

mv(1)

nawk(1)

nc(1)

ncab2clf(1)

ncakmod(1)

neqn(1)

netcat(1)

newform(1)

newgrp(1)

newsp(1)

newtask(1)

nice(1)

nl(1)

nm(1)

nohup(1)

notify(1)

nroff(1)

od(1)

on(1)

onintr(1)

optisa(1)

pack(1)

page(1)

pagesize(1)

pam_tty_tickets.so(1)

pargs(1)

passwd(1)

paste(1)

patch(1)

pathchk(1)

pax(1)

pcat(1)

pcred(1)

perl(1)

pfbash(1)

pfcsh(1)

pfexec(1)

pfiles(1)

pfksh(1)

pflags(1)

pfsh(1)

pftcsh(1)

pfzsh(1)

pg(1)

pgrep(1)

pkcs11_inspect(1)

pkginfo(1)

pkgmk(1)

pkgparam(1)

pkgproto(1)

pkgtrans(1)

pkill(1)

pklogin_finder(1)

pktool(1)

plabel(1)

pldd(1)

plgrp(1)

plimit(1)

pmadvise(1)

pmap(1)

popd(1)

ppgsz(1)

ppriv(1)

pr(1)

praliases(1)

prctl(1)

preap(1)

print(1)

printenv(1B)

printf(1)

priocntl(1)

proc(1)

prof(1)

profiles(1)

projects(1)

prs(1)

prt(1)

prun(1)

ps(1)

ps(1B)

psig(1)

pstack(1)

pstop(1)

ptime(1)

ptree(1)

pushd(1)

pvs(1)

pwait(1)

pwd(1)

pwdx(1)

ranlib(1)

rcapstat(1)

rcp(1)

read(1)

readonly(1)

red(1)

refer(1)

regcmp(1)

rehash(1)

remote_shell(1)

remsh(1)

renice(1)

repeat(1)

reset(1B)

return(1)

rksh(1)

rksh88(1)

rlogin(1)

rm(1)

rmail(1)

rmdel(1)

rmdir(1)

rmformat(1)

rmmount(1)

rmumount(1)

roffbib(1)

roles(1)

rpcgen(1)

rpm2cpio(1)

rsh(1)

runat(1)

rup(1)

rup(1C)

ruptime(1)

rusage(1B)

rusers(1)

rwho(1)

sact(1)

sar(1)

sccs(1)

sccs-admin(1)

sccs-cdc(1)

sccs-comb(1)

sccs-delta(1)

sccsdiff(1)

sccs-get(1)

sccs-help(1)

sccshelp(1)

sccs-prs(1)

sccs-prt(1)

sccs-rmdel(1)

sccs-sact(1)

sccs-sccsdiff(1)

sccs-unget(1)

sccs-val(1)

scp(1)

script(1)

sdiff(1)

sed(1)

sed(1B)

select(1)

set(1)

setenv(1)

setfacl(1)

setlabel(1)

setpgrp(1)

settime(1)

sftp(1)

sh(1)

shcomp(1)

shell_builtins(1)

shift(1)

shutdown(1B)

size(1)

sleep(1)

soelim(1)

sort(1)

sortbib(1)

sotruss(1)

source(1)

sparc(1)

spell(1)

spellin(1)

split(1)

srchtxt(1)

ssh(1)

ssh-add(1)

ssh-agent(1)

ssh-http-proxy-connect(1)

ssh-keygen(1)

ssh-keyscan(1)

ssh-socks5-proxy-connect(1)

stop(1)

strchg(1)

strconf(1)

strings(1)

strip(1)

stty(1)

stty(1B)

sum(1)

sum(1B)

sun(1)

suspend(1)

svcprop(1)

svcs(1)

switch(1)

symorder(1)

sys-suspend(1)

sysV-make(1)

t300(1)

t300s(1)

t4014(1)

t450(1)

tabs(1)

tail(1)

talk(1)

tar(1)

tbl(1)

tcopy(1)

tee(1)

tek(1)

telnet(1)

test(1)

test(1B)

tftp(1)

time(1)

timemanp(1)

times(1)

timesysp(1)

timex(1)

tip(1)

touch(1)

touch(1B)

tplot(1)

tput(1)

tr(1)

tr(1B)

trap(1)

troff(1)

true(1)

truss(1)

tset(1B)

tsort(1)

tty(1)

type(1)

typeset(1)

ul(1)

ulimit(1)

umask(1)

unalias(1)

uname(1)

uncompress(1)

unexpand(1)

unget(1)

unhash(1)

unifdef(1)

uniq(1)

units(1)

unix2dos(1)

unlimit(1)

unpack(1)

unset(1)

unsetenv(1)

until(1)

updatehome(1)

uptime(1)

userattr(1)

users(1B)

uucp(1C)

uudecode(1C)

uuencode(1C)

uuglist(1C)

uulog(1C)

uuname(1C)

uupick(1C)

uustat(1C)

uuto(1C)

uux(1C)

vacation(1)

val(1)

valdate(1)

valgid(1)

valint(1)

valpath(1)

valrange(1)

valstr(1)

valtime(1)

valuid(1)

valyorn(1)

vc(1)

vedit(1)

ver(1)

vgrind(1)

vi(1)

view(1)

vipw(1B)

volcheck(1)

volrmmount(1)

w(1)

wait(1)

wc(1)

what(1)

whatis(1)

whence(1)

whereis(1B)

which(1)

while(1)

who(1)

whoami(1B)

whocalls(1)

whois(1)

write(1)

xargs(1)

xgettext(1)

xstr(1)

yacc(1)

yes(1)

ypmatch(1)

yppasswd(1)

ypwhich(1)

zcat(1)

zlogin(1)

zonename(1)

zonestat(1)

ftp

- ファイル転送プログラム

形式

ftp [-adfginpstvx] [-m GSS Mech] [-T timeout] 
     [hostname [port]]

機能説明

ftp コマンドは、インターネット標準ファイル転送プロトコル (FTP) のユーザーインタフェースとして機能します。このコマンドを使用すると、リモートネットワークサイトとファイルをやりとりすることができます。

ftp の通信相手であるホストおよびポート (任意指定) は、コマンド行に指定することができます。クライアントホスト名をコマンド行に指定した場合 ftp は、ただちにそのホストの FTP サーバーとの接続を確立しようとします。ホスト名がコマンド行で指定されなかった場合は、コマンドインタプリタに制御が移り、ユーザーからの指示を待ちます。指示を待っている間、ftp> というプロンプトが表示されます。

オプション

以下に示すオプションは、コマンド行中に指定することも、コマンドインタプリタに対して指定することもできます。

-a

GSSAPI 認証だけを使用します。この認証に失敗した場合、接続を閉じます。

-d

デバッグ処理を実施します。

-f

ローカルのセキュリティ証明書をリモートサーバーに転送します。

-g

ファイル名の “グロビング” (展開) 機能を無効にします。

-i

複数ファイルの転送中に、対話形式のプロンプトを出力しないようにします。

-m

GSS-API メカニズムを使用することを指定します。デフォルトでは、kerberos_v5 メカニズムを使用します。サポートされる代替機構は、/etc/gss/mech に定義されています (mech(4) を参照)。

-n

初期接続時に “自動ログイン”を行いません。自動ログインが有効になっている場合、ftp はユーザーのホームディレクトリ内の .netrc ファイルを検査し、リモートマシンにログインするアカウントが記述されているかどうかを確認し、アカウントが見つからない場合は、リモートマシン上のアカウントのログイン名の入力を要求します (デフォルトはローカルマシン上のログイン名)。さらに、もし必要であれば、パスワードとログインするアカウントの入力も要求します。

-p

データ転送を受動モードで行います。このオプションは、ファイアウォールを介して接続されているリモートホストと通信する場合に便利です。

-s

接続時にデフォルトですべてのリモートサーバーに送信される SYST コマンドをスキップします。このシステムコマンドは、プロトコルでデフォルトの ASCII モードではなくバイナリモードを自動的に使用できるようにします。

一部の古いサーバーでは ftp コマンドを処理できないため、そのようなサーバーとの相互運用性のためにこの指令が提供されています。

-t

パケットトレース機能を有効にします (この機能はまだ実装されていません)。

-T timeout

大域接続タイマーを有効にします (秒単位、10 進数で指定)。タイマーには、サーバーにデータが送信されるとリセットされ、クライアントシステムにユーザーの入力を求めるプロンプトが表示されている間は無効になるという制御接続用のタイマーと、着信方向または発信方向のデータ接続を監視するためのタイマーの 2 種類があります。

-v

データ転送統計情報のレポートとともに、リモートサーバーからのすべての応答を表示します。ftp が対話形式で動作している場合は、この機能はデフォルトで有効になります。

-x

認証と暗号化に GSSAPI の使用を試みます。データとコマンドのチャネル保護は「private」に設定されます。

以下に示すコマンドは、コマンドインタプリタに対して指定することができます。

!

command で指定したコマンドを、ローカルマシン上でシェルコマンドとして実行します。command を省略した場合、対話型シェルが呼び出されます。

$ macro-name [ args ]

macro-name で指定したマクロを実行します。このマクロは macdef コマンドで定義したものです。引数 args は、そのままマクロに渡されます。

account [ passwd ]

リモートシステムに正常にログイン完了した後、リソースのアクセスに必要な補助パスワードを指定します。password を省略した場合、ユーザーはアカウントのパスワードを入力するように要求されます。このとき、入力したパスワードは画面上には表示されません。

append local-file [ remote-file ]

[ remote-file ] local-file で指定したローカルファイルを、リモートマシン上の remote-file で指定したファイルの末尾に追加します。remote-fileを省略した場合、ローカルファイル名が ntrans または nmap の設定に従って変更され、リモートファイル名として使用されます。ファイル転送時、“表現タイプ”、“ファイル構造”、“転送モード” には、現在の設定値が使用されます。

ascii

“表現タイプ” を、デフォルトの “ネットワーク ASCII” に設定します。これがデフォルトです。

bell

各ファイル転送コマンドが終了するたびに、ベルを鳴らします。

binary

“表現タイプ” を、“イメージ” に設定します。

bye

リモートサーバーとの FTP セッションを終了し、ftp コマンドの実行を終了します。なお EOF (ファイルの終わり) に到達した場合もセッションを終了し、コマンドの実行を終了します。

case

mget コマンドを実行している間、リモートコンピュータ上にあるファイル名の大文字と小文字を対応づける機能を有効にします (デフォルトでは無効になっています)。この機能を有効にすると、英大文字の名前を持つリモートコンピュータ上のファイルは、英小文字の名前でローカルディレクトリに書き込まれます。

cd remote-directory

リモートマシン上の作業ディレクトリを、remote-directory で指定したディレクトリに変更します。

cdup

リモートマシン上の作業ディレクトリを、現在の作業ディレクトリの親ディレクトリに変更します。

clear

データ転送の保護レベルを「clear」に設定します。ADAT コマンドが失敗した場合、これがデフォルトの保護レベルになります。

close

リモートサーバーとの FTP セッションを終了し、コマンドインタプリタに戻ります。定義されたマクロがあれば削除されます。

cr

“ネットワーク ASCII” タイプのファイル検索中に復帰改行 (RETURN) を除去する処理のオン・オフの切り替えを行います。“ネットワーク ASCII” タイプのファイル転送時には、復帰改行/改行 (RETURN/LINEFEED シーケンス) によってレコードが認識されます。cr がオン (デフォルト) のとき、復帰改行はこのシーケンスから取り除かれます。これにより、改行のみでレコードを区切っている UNIX システムの仕様に準拠できます。UNIX 以外のシステムのリモートホスト上のレコードには、改行のみを区切り記号として使用している場合があります。“ネットワーク ASCII”タイプの転送を行なったとき、これらの改行文字は cr がオフの場合にのみレコード区切り記号とは 区別して扱われます。

delete remote-file

リモートマシン上の remote-file で示したファイルを削除します。

debug

デバッグモードのオン・オフの切り替えを行います。デバッグモードがオンのとき、ftp はリモートマシンに送られたコマンドを、先頭に –> を付加して印刷します。

dir [ remote-directory [ local-file ]]

remote-directory で示すリモートディレクトリの内容を出力します。出力先は local-file で示したローカルファイルです。remote-directory を省略した場合は、現在の作業ディレクトリの内容を出力します。ローカルファイルを省略した場合、または local-file として - を指定した場合は、出力先は端末となります。

disconnect

close と同一機能です。

form [ format-name ]

“表現タイプ” のうちのキャリッジ制御 フォーマットサブタイプを、format-name で示したフォーマットに設定します。なお format-name として指定可能なものは non-print だけです。これはデフォルトの “ノンプリント” サブタイプに対応します。

get remote-file [ local-file ]

remote-file で示したリモートファイルを取り出し、local-file で示した名前でローカルマシン上に格納します。local-file を省略した場合、リモートマシン上のファイル名が casentransnmap 設定に従って変更され、ローカルファイル名として使用されます。ファイル転送時、“表現タイプ”、“ファイル構造”、“転送モード” に関しては、現在の設定値が用いられます。

glob

mdeletemgetmput 時のファイル名の展開、あるいは “グロビング” 機能のオン・オフの切り替えを行います。グロビング機能をオフにすると、ファイル名は展開されずそのまま使用されます。

mput 時のグロビングは、sh(1) での処理と同一です。mdeletemget に関しては、各リモートファイル名はリモートマシン上で個々に展開され、リストはマージされません。

ディレクトリ名の展開は、通常ファイル名の展開とはかなり異なります。すなわちグロビングの結果は、リモートオペレーティングシステムと FTP サーバーにより決まります。その値は mls remote-files - コマンドの実行によりあらかじめ得ることができます。

mgetmput は、ファイルのディレクトリサブツリーをすべて転送するためのものではありません。そのような転送を行いたいときは、tar(1) アーカイブをサブツリーに転送してください(その際には binary コマンドの実行で設定される “イメージ” という “表現タイプ”を使用してください)。

hash

個々のデータブロックを転送するたびにハッシュサイン (#) を印刷する機能のオン・オフの切り替えを行います。各データブロックのサイズは 8192 バイトです。

help [ command ]

command で示したコマンドの意味を説明するメッセージを出力します。command を省略した場合は、定義されているコマンドの一覧表が出力されます。

lcd [ directory ]

ローカルマシン上の作業ディレクトリを、directory で示したディレクトリに変更します。directory を省略した場合は、ユーザーのホームディレクトリが指定されたものとみなされます。

ls [ -al | remote-directory [ local-file ]]

デフォルトでは remote-directory で示すリモートファイル上のディレクトリの内容を、要約した形式で出力します。このデフォルトの動作は ls コマンドが dir コマンドと同じになるように変更できます。この変更を行うには、/etc/default/ftp または環境において、FTP_LS_SENDS_NLST を「no」に設定します。詳細については、ftp(4) を参照してください。

-a オプションは、すべてのファイルを表示します。通常は表示されないドット (.) で始まるファイルも表示されます。-l オプションは、ファイルを詳細に表示します。各ファイルのモード、リンク数、所有者、グループ、サイズ (バイト数)、最後修正日時が表示されます。ファイルが特殊ファイルの場合、サイズフィールドには、サイズではなく、メジャーデバイス番号とマイナーデバイス番号が表示されます。ファイルがシンボリックリンクの場合は、ファイル名を出力したあとに、-> に続いて参照されるファイルのパス名が出力されます。

remote-directory を省略した場合は、現在の作業ディレクトリの内容が出力されます。

ローカルファイルを省略した場合、または local-file として - を指定した場合は、出力先は端末となります。

macdef macro-name

マクロを定義します。後続の行で指定された内容が、macro-name という名前のマクロとして格納されます。マクロ定義の終わりは空の (NULL) 行 (ファイル中では連続した復帰改行 (NEWLINE) 文字、端末入力では連続した復帰改行 (RETURN) 文字) によって表されます。定義可能なマクロ数は最大 16 個、その合計文字数は最大 4096 文字です。いったん定義されたマクロは、close コマンドが実行されるまで定義されたままとなります。

マクロプロセッサは、$\ を特殊文字として解釈します。$1、$2、$3 ... のように $ の後に 1 個 (または複数個) の数値を指定すると、それは、マクロ呼び出しコマンド行内の対応する引数に置き換えられます。$ の後に文字 i を指定すると、そのマクロはループされる旨がマクロプロセッサに通知されます。つまり最初のパスでは $i はマクロ呼び出しコマンド行内の 第 1 引数で置き換えられ、2 回目の実行時には 第 2 引数で置き換えられ、という方法で繰り返されます。\ の後に何らかの文字を指定すると、\ はその文字で置き換えられます。これにより、$ を特殊文字ではなく通常の文字として使用することができます。

mdelete remote-files

リモートマシン上にある、remote-files で示すファイルを削除します。

mdir remote-files local-file

dir と同機能ですが、複数のリモートファイル名を指定できる点が異なります。対話形式のプロンプトが有効な場合、最後の引数が mdir の出力先としてのターゲットのローカルファイルであることを確認するためのプロンプトを出力します。

mget remote-files

リモートマシン上にある、remote-files で示すファイル名を展開し、それにより生成された名前を持つ各ファイルに対して get を実行します。ファイル名の展開の詳細については、glob の説明を参照してください。生成されたファイル名は、casentransnmap の設定値に従って処理されます。ファイルはローカル作業ディレクトリに転送されます。ローカル作業ディレクトリは lcd directory により変更できます。新たなローカルディレクトリを作成するには、! mkdir directory を使用してください。

mkdir directory-name

directory-name で示したディレクトリをリモートマシン上に生成します。

mls remote-files local-file

ls(1) と同機能ですが、複数のリモートファイル名を指定できる点が異なります。対話形式のプロンプトが有効な場合、最後の引数が mls の出力先としてのターゲットのローカルファイルであることを確認するためのプロンプトを出力します。

mode [ mode-name ]

“転送モード” を、mode-name に設定します。なお mode-name として指定可能なものは stream だけです。これはデフォルトの “ストリーム” モードに対応します。現在のシステムでサポートしているモードは stream だけなので、これを指定しなければなりません。

mput local-files

local-files で示したローカルファイル名のリスト中のワイルドカードを展開し、それにより生成された名前を持つ各ファイルに対して put を実行します。ファイル名展開の詳細については glob の説明を参照してください。生成されたファイル名は、ntrans および nmap の設定値に従って処理されます。

nlist [ -al | remote-directory [ local-file ]]

リモートマシン上のディレクトリの内容を簡略に表示します。-a オプションまたは -l オプションを指定しない限り、表示されるファイルは get コマンドで取得できるファイルだけです。remote-directory を省略した場合は、現在の作業ディレクトリの内容が出力されます。

-a オプションは、すべてのファイルを表示します。通常は表示されないドット (.) で始まるファイルも表示されます。-l オプションは、ファイルを詳細に表示します。lsコマンドの l オプションと同じです。

nmap [ inpattern outpattern ]

ファイル名マッピングメカニズムを 設定または解除します。引数を省略した場合は、解除となります。引数を指定した場合は、リモートファイル名は「対象のリモートファイル名指定のない mput および put コマンド」の実行時にマップされます。同様にローカルファイル名は 「対象のローカルファイル名指定のない mget および get コマンド」の実行時にマップされます。

このコマンドは、異なったファイル名規約を持つ、UNIX 以外のシステムのリモートホストに接続する場合に便利です。マッピング処理は、inpatternoutpattern で設定されたパターンに従って行われます。inpattern は入力ファイル名 (すでに ntrans および case の設定により処理されている場合もある) 用のテンプレートです。inpattern 中に $1、$2 . . . 、$9 シーケンスを含めることにより、変数を使用したテンプレート処理も可能です。$ を特殊文字ではなく通常の文字として扱う必要があれば、\ を使用してください。その他の文字はすべて入力されたとおりに処理され、nmapinpattern 変数の値を決定するために用いられます。

たとえば、inpattern として $1.$2 を指定し、リモートファイル名が mydata.data のとき、$1 の値は mydata に、$2 の値は data になります。

outpattern は、マッピングの結果生成されるファイル名を決定します。$1$2、. . . 、$9 というシーケンスを指定すれば、inpattern のテンプレートから得られる値により置き換えられます。シーケンス $0 は、元のファイル名に置き換えられます。さらに、[ seq1 , seq2 ]というシーケンスは、seq1 が NULL でなければ seq1 に、NULL であれば 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 中にスペース文字が含まれていても構いません。$[], の 4 つの各文字を、特殊文字ではなく通常の文字として扱う必要があれば、\ を使用してください。

ntrans [ inchars [ outchars ] ]

ファイル名の文字変換メカニズムを 設定または解除します。引数を省略した場合は、解除となります。引数を指定した場合は、リモートファイル名を構成する文字は「対象のリモートファイル名指定のない mput および put コマンド」の実行時に変換されます。同様にローカルファイル名の文字は「対象のローカルファイル名指定のない mget および get コマンド」の実行時に変換されます。

このコマンドは、異なったファイル名規約を持つ、UNIX 以外のシステムのリモートホストに接続する場合に便利です。inchars で指定した文字がファイル名に含まれていると、その文字は outchars 中の対応する文字に変換されます。inchars 内におけるその文字の位置が outchars の長さを超えている場合、その文字はファイル名から削除されます。

ntrans コマンドを ftp で使用すると 16 文字のみを変換します。全アルファベットを転換する場合には、case (前述参照) を使います。

open host [ port ]

host が示すホストの FTP サーバーとの接続を確立します。オプションであるポート番号を指定すると、ftp はそのポートにおいて FTP サーバーと接続しようと試みます。また 自動ログインオプションが有効 (デフォルト値) のとき、ftp はユーザーを自動的に FTP サーバーにログインしようと試みます。

passive

受動モードのオン・オフを切り替えます。受動モードがオンの場合、ftpクライアントは、データ接続用のポートをオープンし、そのポートのアドレスを返すことを要求する PASV コマンドを FTP サーバーに送信します。リモートサーバーはそのポートで待機し、クライアントはそのポートに接続します。受動モードがオフの場合、ftpクライアントは、リモートサーバーが接続するべきアドレスを指定する PORT コマンドを送信します。受動モードは、ftp クライアントへの接続が何らかの形で制御されている場合 (例: ファイアウォール配下にある場合など) に便利です。IPv6 対応の FTP サーバーに接続する場合は、PASV の代わりに EPSVPORT の代わりに EPRT が使用される場合があります。

private

データ転送の保護レベルを「private」に設定します。データの転送の信頼性 (と整合性) は暗号化によって保護されます。ADAT コマンドが失敗した場合、データ転送の保護レベルは「clear」になります。

prompt

対話形式のプロンプトのオン・オフの切り替えを行います。オンに設定すれば、複数個のファイル転送を行う場合、読み書きの対象とするファイルを個別に選択することが可能となりますデフォルトはオンです。オフのときは、mgetmput コマンドはすべてのファイルを転送し、mdelete コマンドはすべてのファイルを削除します。

protect protection-level

データ転送の保護レベルを protection-level に設定します。有効な保護レベルは、「clear」(データ転送を保護しない)、「safe」(データ転送の整合性を暗号チェックサムで保護する)、「private」(データ転送の信頼性と整合性を暗号化で保護する)です。ADAT コマンドが失敗した場合、データ転送の保護レベルは「clear」のみになります。保護レベルを指定しない場合、現在の保護レベルが表示されます。デフォルトの保護レベルは「clear」です。

proxy ftp-command

二次制御接続上で FTP コマンドを実行します。すなわちこのコマンドは、2 つのリモート FTP サーバーに対して同時に接続を確立し、それらのサーバー間での転送を可能とします。最初に発行する proxy コマンドは、二次制御接続を確立するための open コマンドでなければなりません。二次接続上で実行可能なその他のコマンドを知るには、proxy ? コマンドを使用してください。

以下に述べるコマンドは、proxy を伴って入力された場合、次のように、通常とは異なった動作をします。 open は自動ログイン処理中には新たなマクロの定義は行いません。close は既存のマクロの削除は行いません。get および mget は一次制御接続上のホストから 二次制御接続上のホストへファイルを転送します。putmput、および append は、二次制御接続上のホストから一次制御接続上のホストへファイルを転送します。

第三者によるファイル転送は、二次制御接続上のサーバーが PASV コマンドをサポートしているか否かにより異なります。

put local-file [ remote-file ]

local-file で示すローカルファイルを、remote-file という名でリモートマシン上に格納します。remote-file を省略した場合は、ローカルファイル名が ntrans または nmap 設定に従って変更され、リモートファイル名として使用されます。ファイル転送時、“表現タイプ”、“ファイル構造”、“転送モード” には、現在の設定値が使用されます。

pwd

現在の作業ディレクトリの名前を リモートマシン上に出力します。

quit

bye と同一機能です。

quote arg1 arg2 ...

指定された引数をそのままリモート FTP サーバーに送信します。FTP からは応答コードが 1 つ返されます。(有効な引数の一覧を表示するには、remotehelp コマンドを使用してください。)

quote コマンドの使用は、FTP プロトコルを熟知している、経験豊かなユーザーだけに限るべきです。

recv remote-file [ local-file ]

get と同一機能です。

reget remote-file [ local-file ]

reget コマンドの動作は get コマンドと似ています。ただし、ローカルファイル (local-file) が存在し、かつ、そのサイズがリモートファイル (remote-file) より小さい場合は、local-file を転送中の remote-file の部分コピーであるとみなして、障害が発生したと考えられる時点から転送を継続するという点が異なります。このコマンドは、接続が途切れる可能性の高いネットワーク経由での大きなファイル転送に便利です。

remotehelp [ command-name ]

リモート FTP サーバーのヘルプ機能を呼び出します。command-name が指定されていれば、それもサーバーに渡されます。

rename from to

リモートマシン上に存在する from で示したファイルの名前を to という名前に変更します。

reset

応答用のキューをクリアします。このコマンドは、コマンドと応答との順序を、リモート FTP サーバーに合わせ直します (再同期化)。リモートサーバーが FTP のプロトコルに違反する動作を行なった場合、この再同期化処理が必要となることがあります。

restart [ marker ]

指定したマーカー (marker) の値で、直後にある get または put を再起動します。UNIX システムでは、marker は通常ファイルへのバイトオフセットです。直後のコマンドが mgetの場合、restart は、1 つめの get に対して適用されます。marker0 を指定した場合は、再起動マーカーはクリアされます。引数を指定しなかった場合は、現在の再起動ステータスが表示されます。

rmdir directory-name

リモートマシン上の directory-name で示すディレクトリを削除します。

runique

ローカルシステムにファイルを格納する際に一意なファイル名を与える処理のオン・オフの切り替えを行います。この機能がオンのとき、get または mget コマンドの対象となるローカルファイルの名前と 同じファイル名がすでに存在していれば、ファイル名の終わりに .1 を付加して一意な名前を新たに生成します。さらにその名前と同じファイル名もすでに存在していれば、.2 を使用します。このようにして数値を増加させていき、.99 に到達しても一意名を生成できない場合、ファイル転送は中止され、エラーメッセージが表示されます。一意なファイル名が生成できたら、その名前が報告されます。この runique 機能は、シェルコマンドで生成する ローカルファイルの名前には影響を与えません。デフォルトはオフです。

safe

データ転送の保護レベルを「safe」に設定します。データ転送は、暗号チェックサムによって整合性が保護されます。ADAT コマンドが失敗した場合、データ転送の保護レベルは「clear」のみになります。

send local-file [ remote-file ]

put と同一機能です。

sendport

PORT コマンドの使用のオン・オフの切り替えを行います。デフォルトでは、ftp は各データ転送処理に対して接続を確立する際に PORT コマンドの使用を試みます。複数のファイル転送を実施する場合に、PORT コマンドを用いると時間の遅れを防ぐことができます。PORT コマンド実行が失敗すると、ftp はデフォルトのデータポートを使用します。PORT コマンドの使用がオフの (使用しない) 状態では、データ転送処理に対しての PORT コマンドの使用の試みは抑止されます。このオフ指定は、PORT コマンドを無視するのにもかかわらず受け入れた旨を(誤って) 表してしまうような FTP システムに接続されている場合に便利です。

site arg1 [ arg2 ] ...

指定した引数をそのまま SITE コマンドとして、リモートの FTP サーバーに送信します。

status

ftp の現在のステータスを表示します。

struct [ struct-name ]

ファイル構造を struct-name で示す値に設定します。なお struct-name として指定可能なものは file だけです。これはデフォルトの “ファイル” 構造にあたります。現在のシステムでサポートされている構造は file だけで、これ以外は指定できません。

sunique

リモートシステムにファイルを格納する際に一意なファイル名を与える処理のオン・オフの切り替えを行います。この機能を使うには、リモート FTP サーバーが STOU コマンドをサポートしていなければなりません。リモートサーバーは、生成した一意名を報告します。デフォルトはオフです。

tcpwindow [ size ]

データ接続に使用する TCP ウィンドウのサイズ (size) を設定します。0 を指定すると、データ接続時の TCP ウィンドウサイズは明示的には設定されません。引数を指定しなかった場合は、現在の設定が表示されます。

tenex

“表現タイプ” を、TENEX マシンと通信するために必要な値に設定します。

trace

パケットトレース機能のオン・オフの切り替えを行います (未実装)。

type [ type-name ]

“表現タイプ”を、type-name に設定します。type-name として指定可能なものは次のとおりです。“ネットワーク ASCII” の場合は ascii、“イメージ” の場合は binary または image、バイト長が 8 の “ローカルバイトサイズ” の場合は tenex (TENEX マシンとの通信に使用)。type-name を省略した場合は、現在の表現タイプが表示されます。デフォルト時のタイプは “ネットワーク ASCII” です。

user user-name [ password ] [ account ]

リモート FTP サーバーに対して、ユーザー自身の名前などの属性を通知します。サーバーがパスワードを必要としているのに password を省略した場合は、ftp はローカルエコーをオフにしてから パスワードの入力を要求します。同様にサーバーがアカウントを必要としているのに account 指定を省略した場合は、ftp はアカウントの入力を要求します。アカウントが指定された場合、(リモートサーバーがログイン時にアカウントを必要としなければ) ログイン処理完了後にアカウントコマンドが リモートサーバーに渡されます。この処理は、ftp が “自動ログイン使用不可”状態で呼ばれた場合を除き、FTP サーバーへ最初に接続が行われた時点で 自動的に実行されます。

verbose

冗長表示モードのオン・オフの切り替えを行います。このモードがオンのとき、FTP サーバーからの応答はすべて表示されます。さらにファイル転送が終了するたびに、その転送処理の効率に関する統計データも報告されます。デフォルトは、ftp のコマンドが端末から送られてくる場合はオン、それ以外の場合はオフです。

? [ command ]

help と同一機能です。

スペースを含んだコマンド引数は、引用符 (") で囲むことができます。

省略できないコマンド引数を指定しない場合、 ftp はその引数の入力を要求するプロンプトを出力します。

ファイル転送の中止

ファイル転送処理を中止したい場合、端末の割り込みキーを使用します。その転送処理が送信の場合は、ただちに中止されます。受信の場合には、リモートサーバーに対して FTP プロトコルの ABOR コマンドを送信し、以後受信するデータを 破棄することにより中止されます。この処理に要する時間は、リモートサーバーが ABOR 処理をサポートしているかどうかで違ってきます。リモートサーバーが ABOR コマンドをサポートしていないと、要求されたファイルをリモートサーバーが完全に送信し終わるまで ftp> というプロンプトは現れません。

ftp がローカル処理を終えてリモートサーバーからの 応答を待っている状態の場合には、端末から割り込みキーを入力しても無視されます。このモードでは遅延時間が長くなることがあります。その場合の理由としては、前述の ABOR 処理によるもの、またはリモートサーバー側の誤った動作 (たとえば、ftp プロトコル違反) によるものが考えられます。後者が原因の場合、ローカル ftp プログラムを手動で終了させることが必要となります。

ファイル命名規約

ftp コマンドの引数として指定されたローカルファイル名は、以下の規則に従って処理されます。

1)

ファイル名として - を指定すると、読み込みの場合は標準入力、書き出しの場合は標準出力が使用されます。

2)

ファイル名の最初の文字が | の場合、引数の残りの部分はシェルコマンドであると解釈されます。ftp はその引数を指定して popen(3C) を使ってシェルを呼び出し、そのシェルの標準入力からデータを読み込みます (または標準出力にデータを書き出します)。シェルコマンドが空白文字を含んでいる場合には、引用符で囲む必要があります (たとえば、| ls - lt)。この機能の便利な使い方の典型的な例は "dir | more" です。

3)

前述の 2 種類に該当しないローカルファイル名は、グロビング(展開) メカニズムが有効な場合、sh(1) が使用する規則に従って展開されます (詳細は glob の項を参照)。put のようにローカルファイル名を 1 つだけ必要とする ftp コマンドの場合には、グロビング処理で最初に生成されるファイル名だけが用いられます。

4)

mget または get コマンドに対してローカルファイル名を省略すると、リモートファイル名が casentransnmap の設定値に従って変更され、ローカルファイル名として使用されます。runique がオンの場合は、その名前がさらに変更されることがあります。

5)

mput または put コマンドに対してリモートファイル名を省略すると、ローカルファイル名が ntransおよび nmap の設定値に従って変更され、リモートファイル名として使用されます。sunique がオンの場合は、その名前をリモートサーバーがさらに変更することがあります。

ファイル転送用パラメータ

FTP 仕様では、ファイル転送に影響を与えうるパラメータをいくつか指定できます。

“表現タイプ” として指定できる値は “ネットワーク ASCII”、“EBCDIC”、“イメージ”、バイト長指定つきの “ローカルバイトサイズ”(おもに PDP10 および PDP20 シリーズ用) です。“ネットワーク ASCII” および “EBCDIC” の場合には、さらにサブタイプ指定を伴います。このサブタイプは、垂直方向のフォーマット制御( 復帰改行 (NEWLINE) 文字やフォームフィードなど) がそのまま渡される (“ノンプリント”) か、TELNET フォーマット中に存在する (“TELNET フォーマット制御”)か、あるいは ASA (FORTRAN) (“キャリッジ制御 (ASA)”) フォーマット中に存在するかを指定します。ftp がサポートする表現タイプは、“ネットワーク ASCII” (サブタイプは “ノンプリント” のみ)、“イメージ”、およびバイト長が 8 の “ローカルバイトサイズ” (TENEX マシンとの通信に使用) のみです。

“ファイル構造” に指定可能な値は “file” (レコード構造なし)、“record”、および “page” です。ftp はデフォルトである “file” のみをサポートします。

“転送モード” に指定できる値は “stream”、“block”、および “compressed” です。ftp はデフォルトである “stream” のみをサポートします。

使用法

ファイルが 2 ギガバイト ( 231 バイト) 以上ある場合の ftp の動作については、largefile(5) を参照してください。

ftp コマンドは IPv6 に対応しています。ip6(7P) を参照してください。

ファイル

~/.netrc

属性

属性についての詳細は、attributes(5) を参照してください。

属性タイプ
属性値
使用条件
network/ftp
CSI
有効

関連項目

ls(1), rcp(1), sh(1), tar(1), popen(3C), ftp(4), ftpusers(4), mech(4), netrc(4), attributes(5), largefile(5), ip6(7P)

RFC 2428, FTP Extensions for IPv6 and NATs』、Allman, M., Ostermann, S., および Metz, C. 共著、The Internet Society 発行、1998 年 9 月

RFC 2228, FTP Security Extensions』、Lunt, S. J. 著インターネットドラフト、1993 年 11 月

RFC 959, File Transfer Protocol (FTP )』Postel,Jon, Joyce Reynolds 著、Network Information Center 発行、1985 年 10 月

RFC 1639, FTP Operation Over Big Address Records (FOOBAR)』、Piscitello, D 著、Network Working Group 発行、1994 年 6 月

注意事項

アカウントが /etc/ftpusers ファイルにリストされていると、リモート FTP サーバーに明示的に拒否されることが原因で、ログインに失敗する場合があります。ftpusers(4) を参照してください。

多くのコマンドの実行が正常に行われるか否かは、リモートサーバーの動きによって決まります。

以前は、表現タイプが “ネットワーク ASCII” の場合の 4.2 BSD コードハンドリング転送においてキャリッジリターンの扱いに誤りがありましたが、この誤りは修正されました。ただしその修正の影響で、表現タイプが “ネットワーク ASCII” のとき、4.2 BSD とのバイナリファイル転送が正しく行われないかも知れません。表現タイプとして “イメージ” を使用してください。