ファイル転送

TCP/IP のネットワークでつながっているコンピュータ間でのファイ ルを転送には、 FTP (File Transfer Protocol)というプロトコルを 用ます。

  1. nctd55 から moon へ、abc.txt というファイルを送る。
    [tiger@nctd55 ~]$  ftp moon
    Connected to moon (192.168.246.3).
    220 (vsFTPd 1.1.3)
    Name (moon:tiger):  tiger              ! ユーザ名の入力
    331 Please specify the password.                     
    Password:                              ! パスワードの入力
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>  ascii                            ! アスキーモードへの変換
    200 Switching to ASCII mode.
    ftp>  mkdir newdir                     ! ディレクトリの作成
    257 "/homes/home-t/tiger/newdir" created
    ftp>  cd newdir                        ! ディレクトリの変更
    250 Directory successfully changed.
    ftp>  put abc.txt                      ! ファイルの転送
    local: abc.txt remote: abc.txt
    227 Entering Passive Mode (192,168,246,3,142,215)
    150 Ok to send data.
    226 File receive OK.
    9 bytes sent in 0.000312 secs (28 Kbytes/sec)
    ftp> bye                               ! 終了
    221 Goodbye.
    
  2. moon から nctd55 に efg.txt というファイルを送る
    ftp>  get efg.txt
    local: efg.txt remote: efg.txt
    200 PORT command successful.
    150 Opening ASCII mode data connection for efg.txt (29824 bytes).
    226 Transfer complete.
    31169 bytes received in 0.11 seconds (276.19 Kbytes/s)
    ftp> 
    
  3. 送受信のまとめ
     ファイルを送る場合
        put abc.txt          (abc.txt のファイル名のまま送る)
        または、
        put abc.txt efg.txt  (efg.txt というファイル名に変えて送る)
    
     ファイルを受け取る場合
        get abc.txt          (abc.txt のファイル名のまま受け取る)
        または、
        get abc.txt efg.txt  (efg.txt というファイル名に変えて受け取る)
    
  4. ftp で使えるコマンド
        ftp> ?  
    とすると、ftp のモードで使えるコマンドの一覧が出ます。 そこコマンドの意味を知るには、
        ftp> ? comman-name 
    とします。例えば、
        ftp> ? mget
        mget            get multiple files 
    となります。

    よく使うコマンドは、

         cd        ! ディレクトリの変更
         ls        ! リストの表示
         pwd       ! カレントディレクトリの表示
         mkdir     ! ディレクトリの作成
    
         lcd       ! ローカルディレクトリの変更
         !         ! ローカルホストに対するコマンド発行
                   ! よく使うもの --  !pwd, !ls
    
         put/get   ! ファイルを渡す、受け取る
         mput/mget ! 複数のファイルをえ渡す、受け取る
         prompt    ! 確認をする/しないのモードを変更
    
         bin       ! バイナリモードへの変更
         ascii     ! アスキーモードへの変更
       
    これだけ覚えていれば、実際上は、ほとんど十分です。

  5. たくさんのファイルの転送

    mget, mput というコマンドを用います。このコマンドでは、 ワイルドカード(*)が使えます。

    例えば、そのディレクトリにあるファイルを全て、put したけ れば、

         ftp> mput * 
    とします。拡張子が、html というファイルだけを get したければ
         ftp> mget *.html 
    とします。
         ftp> mget *.html
         mget mh.html? 
    と聞いてきますので、ここで、"y" をタイプすれば、そのファイルを 転送、"n" をタイプすれば転送しません。

    対象となる全てのファイルを、確認なしで転送したい場合は、mget/mput のコマンドを発行する前に、

         ftp> prompt
         Interactive mode off. 
    とします。これで、Interactive mode が on から off に変わります。 もう一度、prompt を実行すると、
         ftp> prompt
         Interactive mode on. 
    というように、off から on に変わります。(トグルになっています)

  6. ASCII モードとバイナリモードの切替え

    ASCII ファイルは ASCII モードで、バイナリファイルは、バイナリ モードでファイルの転送を行うのが原則です。 とくに、バイナリファイルは、必ずバイナリモードで転送しないと、 ファイルは完全には送れません。

    UNIX-UNIX 間では、ASCII ファイルをバイナリモードで送っても、とくに 問題ありませんが、UNIX-DOS/MAC 間の転送では、ASCII モードで送らない と、改行コードの違いが吸収されません。

    バイナリモードへの切替え

         ftp> bin
         200 Switching to Binary mode.
    ASCII モードへの切替え
         ftp> ascii
         200 Switching to ASCII mode.
  7. anonymous FTP

    通常の ftp は、相手先のホストにも、自分のアカウントがないと、 利用できません。

    これに対し、匿名ユーザでの ftp の login を許しているサービスを anomymous FTP といいます。このサービスは、フリーソフトの配布や データの公開を行っているサイトで行われています。

    ほとんどの anonymous FTP では、get(mget) だけが許されており、 put(mput) は許されていません。

    anonymous FTP は、次の様に利用します。

    anonymous FTP のログイン時のログを以下に示します。

    
    [tiger@nctd55 ~]$ ftp ftp.vinelinux.org
    Connected to ftp.vinelinux.org (133.1.84.71).
    220 ProFTPD 1.2.9 Server (ftp.vinelinux.org) [vinelinux.ime.cmc.osaka-u.ac.jp]
    Name (ftp.vinelinux.org:tiger): anonymous
    331 Anonymous login ok, send your complete email address as your password.
    Password:
    230 Anonymous access granted, restrictions apply.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    
    login 後は、put(mput), mkdir が出来ないこと以外は、通常の ftp と同様な 使い方ができます。


Last update: Jun 24,2004 by ushimaru@numazu-ct.ac.jp