ネットワークの利用/データ転送/UNIX環境でのFTPの利用
UNIX環境でFTPを利用するには,ftpコマンドを実行します.ここではftpコマンドの利用方法について説明します. 3.2.1 リモートホストへのログイン
次の実行例ではリモートホストccz03.sfc.keio.ac.jpにログインしています.ログインに成功すると`230 User t01000tf logged in.'というメッセージが画面に表示され,ログインが成功していることが確認できます.
ftp> open ccz03.sfc.keio.ac.jp<RET>
Connected to ccz03.
220 ccz03 FTP server (SunOS 5.6) ready.
Name (ccz03.sfc.keio.ac.jp:t01000tf): _
331 Password required for t01000tf.
Password:
230 User t01000tflogged in.
ftp> _ ログイン名やパスワードが間違っているとログインできません.その場合はuserコマンドを利用して,もう一度ログイン名とパスワードを入力します.次の実行例ではパスワードを間違ったときのuserコマンドの 使い方を示しています. 331 Password required for t01000tf. Password: 530 Login incorrect. Login failed. ftp> user (username) t01000tf 331 Password required for t01000tf. Password: 230 User t01000tflogged in. ftp> _ 3.2.2 FTPでのディレクトリ操作FTPで転送したいファイルがあるディレクトリへ移動したり,ディレクトリ内のファイルを表示させたりするにはlsコマンドやcdコマンドを使用します.次にFTPで利用できるファイルとディレクトリ操作のコマンドについて説明します. lsコマンドlsコマンドは,リモートホストのカレントディレクトリに存在するファイルの一覧を表示します.
ftp> ls<RET>
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
bin
Mail
report.tex
226 Transfer complete.
99 bytes received in 0.0011 seconds (8.78 Kbytes/s)
ftp> _ dirコマンドdirコマンドはlsと同じようにリモートホストのカレントディレクトリに存在するファイルの一覧を表示します. lsコマンドと異なり,dirコマンドはファイルサイズや保護モードの情報も同時に表示します. lsコマンドに-lオプションを利用しても同じ情報が表示されます.
ftp> dir<RET>
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 44
-rw-rw-rw- 1 t01000tfstudent 254 Oct 20 01:55 .cshrc
drwxr-xr-x 2 t01000tfstudent 4096 Feb 12 12:25 bin
drwxr----- 2 t01000tfstudent 4096 Nov 14 04:12 Mail
-rwxr-xr-x 2 t01000tfstudent 4096 Feb 12 12:25 report.tex
226 Transfer complete.
705 bytes received in 0.047 seconds (15 Kbytes/s)
ftp> _ cdコマンド
ftp> cd report<RET> 250 CWD command successful. ftp> ls<RET> 200 PORT command successful. 150 Opening ASCII mode data connection for file list. kadai.tex kadai.dvi 226 Transfer complete. 44 bytes received in 0.00073 seconds (59 Kbytes/s) ftp> _
lcdコマンドlcdコマンドはLocal Change Directoryの略です.FTPを実行中にローカルホストの作業ディレクトリを変更したい場合は,lcdコマンドを使用します.次の実行例ではローカルホストの作業ディレクトリをenglishに変更しています.
ftp> lcd english<RET>
Local directory now /a/fs0001a/t01000tf/english
ftp> _
3.2.3 ファイル転送モードの変更ファイル転送を行うときには,転送したいファイルの種類に合わせて転送モードを選ぶ必要があります.転送モードはバイナリモードとアスキーモードの2種類あります.次に転送モードの確認,変更を行うコマンドについて説明します.
typeコマンド設定されているファイル転送モードを確認するときは,typeコマンドを実行します.次に実行例を示します.
ftp> type<RET>
Using ascii mode to transfer files.
ftp> _
binaryコマンドbinaryコマンドは,ファイル転送モードをバイナリモードに変更します.次に実行例を示します.
ftp> binary<RET>
200 Type set to I.
ftp> _ asciiコマンド
ftp> ascii<RET>
200 Type set to A.
ftp> _
3.2.4 リモートホストからローカルホストへのファイルの転送リモートホストに置いてあるファイルをローカルホストに転送するには, getコマンドやmgetコマンドを利用します.
getコマンド
ftp> get kadai.tex<RET>
200 PORT command successful.
150 Binary data connection for kadai.tex (xxx.xxx.xxx.xxx,1496) (973 bytes).
226 Binary Transfer complete.
3973 bytes received in 0.011 seconds (3.7e+02 Kbytes/s)
ftp> _ 転送が終了するとFTPプロンプトが表示されます.リモートホストにファイルが存在しない場合,エラーメッセージが表示されるのでファイル名を確認してください.次はエラーメッセージが表示されている実行例です.
ftp> get kadai.html<RET>
200 PORT command successful.
550 kadai.html: No such file or directory.
ftp> _
mgetコマンド
次に,リモートホストのカレントディレクトリのファイルをすべてローカルホストに転送する実行例を示します. mgetコマンドを実行すると,指定された条件に合致するファイルがみつかるたびに,そのファイルを転送してよいかどうか尋ねられます. yもしくはnを入力して転送してよいかどうか答える必要があります.yを入力すると転送され,nを入力すると転送されません.
ftp> mget *<RET> mget kadai.tex? n<RET> mget kadai.dvi? y<RET> 200 PORT command successful. 150 Binary data connection for kadai.dvi (xxx.xxx.xxx.xxx,41525) (973 bytes). 226 Binary Transfer complete. ftp> _
getコマンドやmgetコマンドは,ローカルホストの作業ディレクトリに転送しようとしているファイルと同じ名前のファイルがある場合,それを警告なしに上書きします.あらかじめ,ローカルホストの作業ディレクトリには転送するファイルと同名のファイルがないことを確認してください.
3.2.5 ローカルホストからリモートホストへのファイル転送ローカルホストにあるファイルをリモートホストに転送するには,putコマンドやmputコマンドを利用します. putコマンドputコマンドはローカルホストのファイルをリモートホストに転送するときに利用します.次に,draft.texというファイルをリモートホストに転送する実行例を示します.
ftp> put draft.tex<RET>
200 PORT command successful.
150 Opening BINARY mode data connection for draft.tex.
226 Transfer complete.
local: draft.tex remote: draft.tex
6089 bytes sent in 0.055 seconds (1.1e+02 Kbytes/s)
ftp> _
ftp> put drink.tex<RET>
drink.tex: No such file or directory
ftp> _ mputコマンドmputコマンドはファイルを1個ずつしか転送できません. mputコマンドはmgetコマンドと同様にメタキャラクタを利用できるので,`*.tex'や`kadai?.tex'などのようにファイル名を指定することで複数のファイルを同時に転送できます. 次に,ローカルホストの作業ディレクトリにある`example.'ではじまるファイルをすべてリモートホストに転送する実行例を示します. mputコマンドを実行すると,指定された条件に合致するファイルがみつかるたびに,そのファイルを転送してよいかどうか尋ねられます. yもしくはnを入力して転送してよいかどうか答える必要があります.yを入力すると転送され,nを入力すると転送されません.
ftp> mput example.}{<RET> mput example.aux? n<RET> mput example.dvi? y<RET> 200 PORT command successful. 150 Opening BINARY mode data connection for example.dvi. 226 Transfer complete. local: example.dvi remote: example.dvi 348 bytes sent in 0.0051 seconds (67 Kbytes/s) ftp> _
putコマンドやmputコマンドは,リモートホストのカレントディレクトリに転送しようとしているファイルと同じ名前のファイルがある場合,警告なしに上書きします.あらかじめリモートホストのカレントディレクトリに同名のファイルがないことを確認してください.
3.2.6 接続の切断とftpコマンドの終了ファイルの転送を終了するにはcloseコマンドを実行してリモートホストとの接続を切断します.closeコマンドを実行するとFTPプロンプトが表示されます.再び別のホストに接続する場合は openコマンドを利用します. FTPを終了する場合はquitコマンドを実行してください.
ftp> close<RET> 221 Goodbye. ftp> quit<RET> % _
|