================================== ファイル転送を行う ================================== スーパーコンピューティングシステムとPCとの間でファイル転送を行います。 :doc:`/getting_started/login_to_system` が完了していることを前提とします。 sftpによるファイル転送 ====================== Windowsでは「コマンドプロンプト」、macOSおよびLinuxでは「ターミナル」から ``sftp`` コマンドを使用してファイルを転送します。 .. code-block:: none $ sftp super.sc.imr.tohoku.ac.jp Enter passphrase for key ‘/home/pc-user/.ssh/keys/id_rsa’: sc-user@super.sc.imr.tohoku.ac.jp's password: Connected to super.sc.imr.tohoku.ac.jp. sftp> 特に指定のない限り、リモートのディレクトリはユーザーのホームディレクトリとなります。 基本的なコマンドを説明します。 .. list-table:: :widths: 30 70 :header-rows: 1 * - コマンド - 機能 * - ``ls [ディレクトリ名]`` - リモート(接続先)のディレクトリの内容を表示します。 * - ``cd [ディレクトリ名]`` - リモートのカレントディレクトリを変更します。 * - ``lls [ディレクトリ名]`` - ローカル(接続元)のディレクトリの内容を表示します。 * - ``lcd [ディレクトリ名]`` - ローカルのカレントディレクトリを変更します。 * - ``put [ファイル名]`` - ローカルのファイルをリモートのカレントディレクトリに転送します。 * - ``put -r [ディレクトリ名]`` - ローカルのディレクトリをリモートのカレントディレクトリに転送します。 * - ``get [ファイル名]`` - リモートのファイルをローカルのカレントディレクトリに転送します。 * - ``get -r [ディレクトリ名]`` - リモートのディレクトリをローカルのカレントディレクトリに転送します。 * - ``help`` - sftpの使用方法を表示します。 * - ``exit`` - 接続を終了します。 .. attention:: putおよびgetコマンドでファイルを転送する際、転送先に同名のファイルが存在する場合は上書きされます。 以下にいくつかの使用例を示します。 * ローカルのカレントディレクトリに存在する ``test.txt`` という名前のファイルをリモートに転送する .. code-block:: none sftp> put test.txt Uploading test.txt to /home/sc-user/test.txt test.txt 100% 16 0.8KB/s 00:00 sftp> * リモートのカレントディレクトリに存在する ``test`` という名前のディレクトリをローカルにコピーする .. code-block:: none sftp> get -r test Fetching /home/sc-user/test/ to test Retrieving /home/sc-user/test /home/sc-user/test/test1.txt 100% 1855 39.0KB/s 00:00 /home/sc-user/test/test2.txt 100% 354 6.3KB/s 00:00 sftp> rsyncによるファイル転送 =============================== WindowsではWindows Subsystem for Linux(WSL)、macOSおよびLinuxでは「ターミナル」から ``rsync`` コマンドを使用してファイルを転送します。 * スパコン上のファイルをPCにダウンロードする例 .. code-block:: none $ rsync -auvHAS --stats sc-user@super.sc.imr.tohoku.ac.jp:/home/sc-user/source_directory /destination_directory Enter passphrase for key ‘/home/pc-user/.ssh/keys/id_rsa’: your_ssh_passphrase password: your_password receiving incremental file list ... * PC上のファイルをスパコンにアップロードする例 .. code-block:: none $ rsync -auvHAS --stats /source_directory sc-user@super.sc.imr.tohoku.ac.jp:/home/sc-user/destination_directory Enter passphrase for key ‘/home/pc-user/.ssh/keys/id_rsa’: your_ssh_passphrase password: your_password sending incremental file list ... 上の例で使用したオプションを説明します。詳細についてはrsyncのマニュアルをご覧ください。 .. list-table:: :widths: 30 70 :header-rows: 1 * - オプション - 機能 * - ``-a`` , ``--archive`` - 属性を維持 * - ``-u`` , ``--update`` - 更新があるファイルのみ転送 * - ``-v`` , ``--verbose`` - 動作内容を表示 * - ``-H`` , ``--hard-links`` - ハードリンクを保持 * - ``-A`` , ``--acls`` - アクセス制御リスト(ACL)を保持 * - ``-S`` , ``--sparse`` - スパースファイルを維持 * - ``--stats`` - 転送完了後に統計情報(ファイル数や転送サイズ)を表示 参考資料 ================ - :doc:`/login/how_to_file_transfer`