ミスティーネット・UNIXコマンド講座
homeコマンド検索ご利用について推奨環境リンクに関して免責・規約お問い合わせリンク集ホスティングサービスはミスティーネットで!!
コマンド簡易検索:   
UNIX講座

UNIX入門
ファイル/ディレクトリ
テキスト処理
プロセスについて
ユーザー管理
環境設定/確認
ネットワーク管理
ファイル転送 [ftp]
シェルについて
ディスク管理
システム管理
その他の機能
講座一覧


ラブラブメールでツーショット

優良サイトが多数リンクされているランキングサイト


HOME >> ネットワークの管理 >> ファイル転送プログラムを利用する
line
■ ファイル転送プログラムを利用する [ ftp ]
UNIX の環境でファイル転送を行う場合には 「ftp コマンド」 を利用します。
コマンドを起動すると 「ftp>」 というプロンプトが表示されます。 ここで、「ftp コマンド」 内で利用できる命令(サブコマンド)を入力することで、接続先ホストでのファイル操作・及び転送作業を行うことができます。

リモートホストへの接続を行う
リモートホストへの接続には 「ftp コマンド」 起動時に、引数にホスト名を指定する方法と、 一旦、「ftp コマンド」 を起動した後に 「ftp>」プロンプトから「open コマンド」 を使って接続する方法があります。

リモートホストとの接続を終了するには、「close コマンド」 を使います。
exit コマンド」 で、「ftp コマンド」 を終了させます。

ftp コマンドの起動と同時にホストに接続する方法
% ftp ax.misty.ne.jp enter       ←── ax.misty.ne.jp サーバーに接続する
Connected to ax.misty.ne.jp.
220 ax.misty.ne.jp FTP server (Version 6.00LS) ready.
Name (ax.misty.ne.jp:hoge): hoge enter    ←── ユーザーIDを入力する
331 Password required for hoge.
Password: enter    ←── ログインパスワードを入力する(画面には表示されません)
230 User hoge logged in, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> close enter    ←── リモートホストとの接続終了
ftp> exit enter    ←── ftp コマンドの終了
%
「ftp コマンド」起動時のメッセージはサーバーの設定によって違います。

open コマンドからホストに接続する方法
% ftp enter  ←── ftp コマンドを実行
ftp> open ax.misty.ne.jp enter  ←── open コマンドでサーバーに接続
Connected to ax.misty.ne.jp.
220 ax.misty.ne.jp FTP server (Version 6.00LS) ready.
Name (ax.misty.ne.jp:admin): hoge enter    ←── ユーザーIDを入力する
331 Password required for hoge.
Password: enter    ←── ログインパスワードを入力する(画面には表示されません)
230 User hoge logged in, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> close enter    ←── リモートホストとの接続終了
ftp> exit enter    ←── ftp コマンドの終了
%
最初に ftp でサーバーに接続する際には、コマンドにホストを引数指定するほうが簡単です。
一定時間接続したままの状態ですとタイムアウトで接続が切れていることがあります。
その際には、「open」コマンドを使って再ログインすると良いでしょう。




リモートホストでのディレクトリ操作
現在のファイル転送モードを調べるには 「type」コマンドを ディレクトリ操作に関するサブコマンドは UNIX のコマンドと同じ為、なじみやすいと思います。
ls」と「cd」、「pwd」 の3つのサブコマンドが用意されています。

ホストのファイルを一覧表示する [ ls ]
ftp> ls enter       ←── ls コマンドでファイルの一覧が表示されます
150 Opening ASCII mode data connection for '/bin/ls'.
total 80764
-rw-r--r--  1 hoge   group        503 Mar 31  2003 index.html
-rw-r--r--  1 hoge   group         16 Mar 31  2003 sample.html
-rw-rw-rw-  1 hoge   group      79736 Nov 25 14:11 member.dat
drw-rw-rw-  1 hoge   group        512 Nov 25 14:11 test
226 Transfer complete.
ftp>
「ls 」コマンドの表示形式は、UNIX コマンドの「ls -l」 と同じです。

ホストでのカレントディレクトリを表示する [ pwd ]
ftp> pwd enter       ←── カレントディレクトリを表示
257 "/home/hoge" is current directory.
ftp>


ホストでのカレントディレクトリを移動する [ cd ]
ftp> cd test enter       ←── ディレクトリを test に移動する
250 CWD command successful.
ftp> pwd enter
257 "/home/hoge/test" is current directory.
ftp>




転送ファイルの種類を設定する
ファイルの転送モードを調べるには 「type」コマンドを使います。
ascii(アスキー文字)」コマンドと「binary(バイナリ)」コマンドで、転送ファイルの種類を設定することができます。

・ Windows と UNIX の間でテキストファイルのやり取りをする場合には、ascii を指定すると、改行文字をそれぞれの環境に適したものに変換してくれます。 (文字コードは変更されません。)
・ プログラムや圧縮ファイルのやり取りには binary を指定します。

現在の転送モードを調べる [ type ]
ftp> type enter
Using binary mode to transfer files.       ←── 現在はバイナリモードに設定されている ftp>


転送モードを設定する [ ascii/binary ]
ftp> ascii enter
200 Type set to A.       ←── アスキーモードに設定された
ftp> binary enter
200 Type set to I.       ←── バイナリモードに設定された




ファイルの転送 [リモートホスト → ローカルホスト]
リモートホストにあるファイルをローカルホストへ転送するには 「get」コマンドを使います。
取得されたファイルは 「ftp コマンド」 を起動したときのカレントディレクトリに保存されます。

リモートホストからファイルを取得する [ get ]
ftp> get access_log enter       ←── access_log ファイルを取得する
local: access_log remote: access_log
150 Opening ASCII mode data connection for 'access_log' (503 bytes).
100% |********************************************|    507    &nbps; 00:00 ETA
226 Transfer complete.
507 bytes received in 0.00 seconds (1.27 MB/s)
ftp>       ↑ 取得したファイルのバイト数と転送速度が表示されます
ファイル転送中には、転送状況がパーセンテージと 「*」マークによって表示されます。


「get」コマンドでは、1つずつしかファイル転送が行えませんが、「mget」コマンドを使うと複数のファイルを一度に転送することができます。 また、正規表現が使えるため、決まった形式のファイル名のみを取り出してダウンロードすることも可能です。(正規表現って何?
指定した条件にマッチしたファイルごとに、ファイルを取得するかどうかを確認してきますので、y(Yes=取得する) か n(No=取得しない) で答えていきます。

複数ファイルを一度に取得する [ mget ]
ftp> mget *.txt enter       ←── 拡張子が txt のファイルのみ取得する
mget sample.txt? n enter       ←── ファイルを取得しない
mget message.txt? y enter       ←── ファイルの転送を行う
150 Opening BINARY mode data connection for 'message.txt' (5816314 bytes).
100% |********************************************| 5679 KB 00:00 ETA
226 Transfer complete.
5816314 bytes received in 0.76 seconds (7.28 MB/s)
mget access_log.txt? y enter
550 boo.bak: Permission denied.     ←─ ファイルの所有者でない場合には取得できません
ftp>
転送されたファイルの保存先に同名のファイルがある場合には、上書きして保存してしまいます。
もし、同名ファイがある場合には、ファイルを移動しておくか、保存先であるローカルホストのカレントディレクトリを移動してからファイルの転送を行ってください。





ファイルの転送 [ローカルホスト → リモートホスト]
ローカルホストからリモートホストへファイルを送りたい場合には 「put」コマンドを使います。
ローカルホストのカレントディレクトリにあるファイルを、リモートホストのカレントディレクトリに送ることができます。 「get」コマンド・「put」コマンドでは、ディレクトリの転送を行うことはできません。

リモートホストへファイルを転送する [ put ]
ftp> put introduction.txt enter       ←── introduction.txt ファイルを取得する
local: introduction.txt remote: introduction.txt
150 Opening ASCII mode data connection for 'introduction.txt'.
100% |********************************************| 796 --:-- ETA
226 Transfer complete.
796 bytes sent in 0.00 seconds (1.14 MB/s)
ftp>       ↑ 転送したファイルのバイト数と転送速度が表示されます
ファイル転送中には、転送状況がパーセンテージと 「*」マークによって表示されます。


「get」コマンドでは、1つずつしかファイル転送が行えませんが、「mget」コマンドを使うと複数のファイルを一度に転送することができます。 また、正規表現が使えるため、決まった形式のファイル名のみを取り出してダウンロードすることも可能です。(正規表現って何?
指定した条件にマッチしたファイルごとに、ファイルを取得するかどうかを確認してきますので、y(Yes=取得する) か n(No=取得しない) で答えていきます。

複数ファイルを一度に送信する [ mput ]
ftp> mput *.txt enter       ←── 拡張子が txt のファイルのみ送信する
mput sample.txt? n enter       ←── ファイルを送信しない
mput message.txt? y enter       ←── ファイルの送信を行う
150 Opening ASCII mode data connection for 'message.txt' (5816314 bytes).
100% |********************************************| 5679 KB 00:00 ETA
226 Transfer complete.
5816314 bytes sent in 0.76 seconds (7.28 MB/s)
ftp>
転送されたファイルの保存先に同名のファイルがある場合には、上書きして保存してしまいます。
もし、同名ファイがある場合には、ファイルを移動しておくか、保存先であるリモートホストのカレントディレクトリを移動してからファイルの転送を行ってください。





その他のコマンド
「ftp コマンド」内では、この他にも様々なサブコマンドが用意されております。
help」コマンドを使うと、どんなコマンドが用意されているか確認することができます。

サブコマンドの一覧を表示します [ help ]
ftp> help enter       ←── ls コマンドでファイルの一覧が表示されます
Commands may be abbreviated.  Commands are:

!               idle            ls              recv            restrict
$               disconnect      newer           reget           rhelp
account         edit            nlist           passive         tenex
append          exit            nmap            preserve        trace
ascii           form            ntrans          progress        type
bell            ftp             open            prompt          umask
binary          macdef          page            proxy           user
bye             mdelete         mode            rmdir           verbose
case            mdir            modtime         rstatus         size
cd              mget            more            runique         status
cdup            mkdir           mput            send            struct
get             mls             msend           sendport        sunique
gate            image           put             site            system
glob            lcd             pwd             rename          ?
hash            less            quit            reset
help            lpwd            quote           restart
ftp> help image enter       ←── image コマンドの説明が表示されます
image           set binary transfer type
ftp>
「help」コマンドの引数にコマンド名を指定すると、指定したコマンドの説明が表示されます。


prompt」コマンドを使うと、「mget」や「mput」コマンドでのファイル転送を確認メッセージ無しに行うことができるようになります。

ファイル転送の確認の表示/非表示を切り替える [prompt]
ftp> prompt enter
Interactive mode off.    ←── 確認表示をオフにする
ftp>




<< ネットワーク情報の表示・監視・ 他のホストと通信する [telnet] >>

line
Copyright (C) 2003 MISTY-NET UNIX Course All Rights Reserved .