【4】ftpコマンドによるリモートファイルコピー

 

<<ftp によるリモートファイル転送>>

 

リモートホスト(あちら)での作業 ローカルホスト(こちら)での作業
cd     デリクトリの変更 lcd  デリクトリの変更
ls (ls -F)  dir, file の表示 !ls  dir, file の表示
get put

 

接続:  %ftp オプション 相手ホスト名

       ID, password 入力

終了:  ftp>quit (叉はbye)

 

    ftp> ?

        < サブコマンド一覧表示 >

       

    ftp> ? サブコマンド

      <そのコマンドの簡単な説明>

   

4.1 1つのファイルを転送する(get,put

  %get a.file b.file       リモートホスト(のカレントデリクトリ)にあるファイル a.file を ローカルホスト(のカレントデリクトリ)へ

 コピーしてb.file という名で保存する

    %put c.file d.file       ローカルホスト(のカレントデリクトリ)にあるファイル c.file をリモートホスト(のカレントデリクトリ)へ

 コピーしてd.file という名で保存する

4.2 複数のファイルを転送する(mget,mput

  %mget *        リモートホスト(のカレントデリクトリ)にある全てのファイルを ローカルホスト(のカレントデリクトリ)へ 同じ名前でコピーする

    %mget dir/*    リモートホストの dir ディレクトリにある全てのファイルを ローカルホスト(のカレントデリクトリ)へ同じ名前でコピーする

%mput *        ローカルホスト (のカレントデリクトリ)にある全てのファイルを リモートホスト(のカレントデリクトリ)へ 同じ名前でコピーする

4.3 全ファイルをまとめて転送する(tar

 アーカイブ:長い論文や大きなプログラムソースのようにたくさんのファイルからなる情報をそのまま扱うと、処理が繁雑になり、途中で一部のファイルが欠けてしまうことなどが起こりやすい。これを防ぐためには、アーカイバと呼ばれるツールを用いて複数のファイルを1つのファイルにまとめて扱うとよい。(今では誰でもよく使う圧縮ツールもアーカイバです)

tar:UNIXでよく用いられるアーカイバ(圧縮機能はない)です

 

% tar -[オプション] [アーカイブファイル名] [アーカイブするファイル名]

オプション c はアーカイブファイルの作成、xはアーカイブファイルの展開を表す。また、fはアーカイブファイル名を指定する、vは処理状況を逐一表示する、ことを意味します

 

以下に、local-server(ローカルサーバー名)のホームディレクトリ中のサブディレクトリpublicにある、全ディレクトリと全ファイルをアーカイブファイルtotal.tarにまとめて、ftpでバイナリ転送し、remote-server(リモートサーバー名)のホームディレクトリ中のサブディレクトリecip2000内に展開する例を示します

 

local-server にログインして)

local-server % cd public

local-server % ls -F

calman         chaos1.dat     fact77.f       manout         rand.dat

chaos1.cc      dir1/          fact90.f       mule.txt       unixcom2.txt

local-server % ls dir1

chaos2.cc

local-server % tar -cvf total.tar *    (カレントディレクトリ内のすべてのファイルをまとめてtotal.tarというアーカイブファイルを作成する)

local-server % ls -F

calman         dir1/          manout         total.tar

chaos1.cc      fact77.f       mule.txt       unixcom2.txt

chaos1.dat     fact90.f       rand.dat

 

remote-server にftp接続して)

local-server % ftp remote-server

ユーザーID:

パスワード:

ftp> lcd public

現在のローカル・ディレクトリは /home/users/user1/public です

ftp> binary  (テキストファイル以外はバイナリ転送モードにする)

200 Type set to I.

ftp> put total.tar ecip2000/total.tar     (アーカイブファイルtotal.tarをremote-server内のサブディレクトリecip2000へ転送する) 

200 PORT command successful.

150 Opening BINARY mode data connection for ecip2000/total.tar.

226 Transfer complete.

51200 バイトを 0.003454 秒で送信しました (1.448e+04 キロバイト/秒)

ローカル: total.tar リモート: ecip2000/total.tar

ftp> quit

221 Goodbye.

 

remote-server内のサブディレクトリecip2000で)

remote-server% ls -F

total.tar

remote-server% tar -xvf total.tar  (アーカイブファイルtotal.tarを、サブディレクトリecip2000内で展開する) 

remote-server% ls -F

calman         dir1/          manout         total.tar

chaos1.cc      fact77.f       mule.txt       unixcom2.txt

chaos1.dat     fact90.f       rand.dat

remote-server% rm total.tar                                                                     

 

TOPへ戻る