Ubuntu 6
2022.04.07
うぶんちゅ6回目です。
前回まででカレントディレクトリ、ディレクトリの移動、ファイルの表示、エディタでの編集をやりました。今回は異なるマシンとネットワーク越しにファイルのやり取りをしてみます。
ネットワーク越しにやりとりするときには基本的にはsshを利用します。よくあるコマンドは2つで、ひとつが scp でもうひとつが rsyncです。どちらも裏側でsshを利用します。
基本的なscpの使い方は次のような感じです。
scp <マシン名:><パス名>/<ファイル名> <マシン名:><パス名>/<ファイル名>
引数はソース、ディスティネーションの順です。ソースからディスティネーションにファイルがコピーされます。マシン名の後ろに「:」(コロン)が入っているのがキモでしょうか。基本的にはcpコマンドを意識しているので、 -r (リカーシブ: ディレクトリを再起的にコピー)のようなcpのオプションが使えます。
rsyncの方は次のような感じです。
rsync <オプション> <マシン名:><パス名>/<ファイル名> <マシン名:><パス名>/<ファイル名>
オプションの詳しいことは説明できませんが、-avz の組み合わせがよく使われます。scpとちがってファイルを全てコピーしてしまうのではなくて、ソースと同一の状態にディスティネーションを保ちます。したがって、既にディスティネーション側に存在するファイルはコピーされません。
昔はネットワーク越しのファイル転送にはftpがよく使われましたが、最近ではあまり使いません。通常、scpかrsyncです。リモート側にあるファイルをローカルに持ってきたり、その逆にローカルにあるファイルをリモートに送ったりするのによく使います。使いこなしてみてください。