保証とサポート・保守サービスメニューのご案内

ホーム » HPCシステムズの製品サポート » HPC製品によくあるご質問(FAQ) » Q. WindowsマシンとLinuxマシンの間でファイルを転送したい。

Q. WindowsマシンとLinuxマシンの間でファイルを転送したい。

A.Linuxマシンへファイルを転送する方法としては、次の方法が代表的です。
ただしSSHの時と同様にrootアカウントに対するファイルの転送はできませんのでご注意ください。

また改行コードの種類と変換方法について解説しています。

WinSCPを用いてファイルを転送する

特長

手順

  1. WinSCPダウンロードサイトの"Multilanguage installation package"版をダウンロードし、インストーラを起動します。
  2. "Select Setup Language"のダイアログが表示されたら"English"を選択し[OK]ボタンをクリックします。
  3. [Next] ボタンを5回押し[Install] ボタンをクリックします。
  4. インストールが終わったら[Finish]ボタンをクリックします。
  5. WinSCP Loginウィンドウが起動したら[Languages]-[Get more...]をクリックし、WinSCP Translationsのページからjp.zipをダウンロードします。
  6. ダウンロードしたZIPファイルを解凍しWinSCP.jpをWinSCPのインストール先(デフォルトは C:¥Program Files¥WinSCP)に格納します。
    *お使いの PC 環境によっては、"¥" (円記号)は "\" (バックスラッシュ) として表示される場合があります。
  7. [Languages]-[Get more...]をクリックしたあと[Japanese-日本語]をクリックすると日本語化されます。
  8. ホスト名の箇所にはLinuxマシンのIPアドレスを指定します。
    ユーザ名(一般ユーザ)とパスワードを入力し最後に[Enter]キーを押します。
  9. 初回接続時には(キャッシュに無い旨の)"警告"が出ますが[はい(Y)] をクリックします。

    サーバのメンテナンスなどでホスト鍵に変更があると(セキュリティ違反である旨の)"警告"が表示されますが、正しいサーバという確証が有る場合は[はい(Y)] をクリックします。
  10. 左右に分かれたWinSCPの画面が出れば接続成功です。

    Linuxマシンにあるファイルを取得する場合
    1. Windowsマシンのディレクトリが画面左側に表示されています。
      ファイルをダウンロードしたい場所に変更してください。
    2. 現在取得可能な計算機上のファイル一覧が画面右側に並んでいます。
      取得したいファイルの格納されているディレクトリへ移動するにはフォルダ名をダブルクリックしてください。
    3. 取得したいファイルを左にドラッグすると、コピーダイアログが開くので[コピー]ボタンをクリックするとコピーが開始されます。
    4. 画面左側に転送したファイルが表示されればファイルの取得に成功しています。
    Linuxマシンへファイルを転送する場合
    1. Windowsマシンのディレクトリが画面左側に表示されています。
      アップロードしたいファイルのある場所に変更してください。
    2. ファイルのアップロード先のファイル一覧が画面右側に並んでいます。
      取得したいファイルの格納されているディレクトリへ移動するにはフォルダ名をダブルクリックしてください。
    3. 転送したいファイルを左にドラッグするとコピーダイアログが開くので、[コピー]ボタンをクリックするとコピーが開始されます。
    4. 画面右側に転送したファイルが表示されればファイルの転送に成功しています。

改行コードについて

改行コードの種類と特長

表1. Windows, MacOS9, Linuxの改行コード
Windows
MS-DOS
MacOS9以前 Linux
MacOS X
CR/LF CR LF

誤った改行コードを用いた場合の問題点

表1からわかるようにWindowsのテキストファイルをそのまま(バイナリモードで)Linuxマシンに転送すると、不要な制御コード"CR"が付着している状態となります。
C言語のソース等であればコンパイラが解釈しないため影響はないのですが、シェルスクリプトやGaussianのインプットファイルにこの制御コードが混入していると、正常に動作しない原因となります。

逆にLinuxのテキストファイルをバイナリモードでWindowsに転送すると、Windowsとしての改行コードの要件を満たさない為メモ帳などのツールで開くと改行の全く無いファイルに見えます。(Webページ編集が可能な高性能なテキストエディタでは自動的にLinuxの改行コードを認識し、改行した形で表示することが出来ます。)

これを防ぐための仕組みがFTPのASCIIモードです。ASCIIモードではWindowsとLinux間のファイル交換時に自動的に改行コードを変換します。

転送済みファイルの改行コードの確認方法

Linuxマシンに格納されたテキストファイルの改行コードを調べるには、次の操作を実行してください。
$ file ファイル名

"ファイル名: ASCII text"と表示された場合はLinuxの改行コードです。
但し"ファイル名: ASCII text, with CRLF line terminators"と表示された場合は、Windowsの改行コードです。
より視覚的に確認するには、次のコマンドを実行してください
$ cat -v ファイル名

行の末尾に"^M"が付着している場合、これがCRです。
すなわちWindowsの改行コードと確認できます。

改行コードの変換

それでは変換せずにBinaryモードで転送したファイルの改行コードを後から変更することは出来ないのでしょうか?
そんなことはありません。常に無変換で転送されるpsftpやscpの文字コード変換にも表2に示す方法が便利です:

表2. 改行コード変換早見表
  Windows Linux
CR/LF→LF dos2unix $ dos2unix ファイル名
LF→CR/LF テキストファイルをInternet Explorer で開き
名前をつけて保存する
$ unix2dos ファイル名

表2で掲示している方法はほんの一例です。
Windows、Linux共に各種コマンド、エディタやツールがWeb上に紹介されていますので調べてみる事をお勧めします。

資料請求・お問い合わせ

※ 会社名・製品名・サービス名などは一般に各社の登録商標または商標です。
※ 製品の仕様、構成、価格などは、予告なく変更される場合があります。ご了承ください。
※ 製品の色調は実際と異なる場合があります。