ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【MacOS/Raspberry Pi】SCPコマンドを使ったファイルのアップロードとダウンロード

rikoubou.hatenablog.com
 以前の記事でSSHを使ってリモートログインする方法を説明しました。

 SSHでログインしていると「ファイルのやりとりもしたい」となってくるので、今回はSCPコマンドを使ったファイルのアップロードとダウンロードの方法についてです。

 では始めます。


1:SCPコマンドでのファイルのアップロード
 ファイルのアップロードはMacOS側でターミナルを立ち上げ、以下のコマンドを実行すればできます。

$ scp [対象ファイルパス] [ユーザ名]@[IPアドレス]:[アップロード先ディレクトリパス]

 例えばMacOS側で「/Users/hoge.txt」ファイルをRaspberry Piのpiユーザ(IPアドレスが192.168.0.0)の「/home/pi/」配下にアップロードする場合は以下のコマンドになります。

$ scp /Users/hoge.txt pi@192.168.0.0:/home/pi/

 このコマンドを実行するとログインしようとしたユーザのパスワードを尋ねられるので、piユーザならデフォルトの「raspberry」と入力すればOKです。


2:SCPコマンドでのファイルのダウンロード
 ファイルのダウンロードはMacOS側でターミナルを立ち上げ、以下のコマンドを実行すればできます。

$ scp [ユーザ名]@[IPアドレス]:[対象ファイルパス] [ダウンロード先ディレクトリパス]

 例えばRaspberry Piのpiユーザ(IPアドレスが192.168.0.0)の「/home/pi/hoge.txt」ファイルをMacOS側の「/Users/」配下にダウンロードする場合は以下のコマンドになります。

$ scp pi@192.168.0.0:/home/pi/hoge.txt /Users/

 このコマンドも実行するとログインしようとしたユーザのパスワードを尋ねられるので、piユーザならデフォルトの「raspberry」と入力すればOKです。


 以上がSCPコマンドを使ったファイルのアップロードとダウンロードの方法です。

 こういうのも覚えてるとファイルのやりとりや更新が楽にできるのでどんどん使っていきたいです。


・2019/05/24追記:SCPコマンドでのディレクトリのアップロード/ダウンロード
 ファイルではなくディレクトリを丸ごと指定してアップロードやダウンロードをしたい場合は、以下のように「-r」オプションをつけます。

ディレクトリのアップロード

$ scp -r [対象ディレクトリパス] [ユーザ名]@[IPアドレス]:[アップロード先ディレクトリパス]
$ scp -r /Users/hoge/ pi@192.168.0.0:/home/pi/

ディレクトリのダウンロード

$ scp -r [ユーザ名]@[IPアドレス]:[対象ディレクトリパス] [ダウンロード先ディレクトリパス]
$ scp -r pi@192.168.0.0:/home/pi/ /Users/


・参考資料