技術情報ブログ

Ubuntu 6

2022.04.07

うぶんちゅ6回目です。

前回まででカレントディレクトリ、ディレクトリの移動、ファイルの表示、エディタでの編集をやりました。今回は異なるマシンとネットワーク越しにファイルのやり取りをしてみます。

ネットワーク越しにやりとりするときには基本的にはsshを利用します。よくあるコマンドは2つで、ひとつが scp でもうひとつが rsyncです。どちらも裏側でsshを利用します。

基本的なscpの使い方は次のような感じです。

scp <マシン名:><パス名>/<ファイル名> <マシン名:><パス名>/<ファイル名>

引数はソース、ディスティネーションの順です。ソースからディスティネーションにファイルがコピーされます。マシン名の後ろに「:」(コロン)が入っているのがキモでしょうか。基本的にはcpコマンドを意識しているので、 -r (リカーシブ: ディレクトリを再起的にコピー)のようなcpのオプションが使えます。

rsyncの方は次のような感じです。

rsync <オプション> <マシン名:><パス名>/<ファイル名> <マシン名:><パス名>/<ファイル名>

オプションの詳しいことは説明できませんが、-avz の組み合わせがよく使われます。scpとちがってファイルを全てコピーしてしまうのではなくて、ソースと同一の状態にディスティネーションを保ちます。したがって、既にディスティネーション側に存在するファイルはコピーされません。

昔はネットワーク越しのファイル転送にはftpがよく使われましたが、最近ではあまり使いません。通常、scpかrsyncです。リモート側にあるファイルをローカルに持ってきたり、その逆にローカルにあるファイルをリモートに送ったりするのによく使います。使いこなしてみてください。

一覧に戻る