OSXとPiの間でファイルをコピーする


12

OSXではsshと画面共有、raspbianではtightvncserverを使用してヘッドレスでPiを実行しています。

sshまたは画面共有(VNC)を使用してMacからPiにファイルをコピーできますか、それともSambaなどを使用する必要がありますか?


4
scpおよび/またはを参照してくださいsftp。sshがすでに機能している場合は、それらを使用できるはずです。sshfsNFSの共有をマウントできるもあります。
goldilocks

1
scp over sshは私にとってはうまくいきます。私自身もファイル転送にCyber​​duckを使用しています。Finderのようにドラッグアンドドロップするだけです。
Gerben 2013

1
そこにファイルを取得するsftp(FileZillaを使用)を使用したので、クエリは終了しました。(私はこれを承認済みとしてマークしました。)
ミリウェイズ2013

Piでは、ssh暗号化が遅くなる可能性があることに注意してください。私はふぐが数年前のCPUの賢明な高速であることを発見しました。
–ThorbjørnRavn Andersen 2013

NFSは別のオプションであり、ネイティブと同様にUnixの世界で最も理にかなっています。
ジェット

回答:


18

私がこの回答を投稿してからの6年間で、多くのことが変わった。
macOS Sambaのサポートが改善され、Appleはファイル共有のデフォルトとしてSambaを使用するようになりました(そしてafpは新しいAppleファイルシステムでは機能しません)
Debian Busterはnetatalk 3を使用するようになりました。
最近のRaspbianでは、nfsのサポートが大幅に改善されていますが、macOSからの書き込み権限に問題があります。

私はftp、Samba、afp、nfsのすべてを使用しています。
主にftp(Filezilla)Pi
との間の定期的なファイル転送Samba、Pi Homeと共有ファイルシステムの閲覧、およびバックアップ/復元のためのバックアップイメージのループマウント。

私は(上記のように)問題を解決するためにftpを使用しましたが、最近他のMacユーザーが役立つと思われる別の方法を発見しました。

sudo apt-get install netatalk

Piにappletalkプロトコルをインストールします。これにより、次を使用して(Macのターミナルプロンプトで)Piに接続できます。

open afp://10.1.1.10  (replace this with your Raspberry Pi IP address)

次に、Finder(またはQuollEyeTreeなどの他のFileManager)を使用して、Macで使用するのと同じ手法を使用して、Piとの間でファイルを転送できます。

注:この編集は別のユーザーによるものであり、AFAIKは不要です。「open afpコマンドでコンソール参照してファイル記述子を取得できませんでした」というエラー発生した場合、sudoを使用して再試行し、Macでリモートログインが構成されていることを確認してください。


@Paul Fort:あなたが元々それを追加したとき、「open afp command」とは何ですか?「afp」は「ftp」にする必要がありますか?
Peter Mortensen 2014

@PeterMortensenは試しましたか(またはMacヘルプを確認しましたか)?
ミリウェイズ2014

1
これはすごい。大好きです!ヒントをありがとう、これを行う能力を知らなかった。
gdgr

7

を使用できる場合はssh、おそらくscp(SSHコピー)も機能します。

とにかくsambaをインストールします。どこにでも多くのwinboxenがあり、次に必要になる可能性があるのは、Windowsからのアクセスになるためです。


Macでscpを試しましたが、動作するように見えましたが、ファイルは表示されませんでした( "sudo scp -v world2 //pi@10.1.1.10:"とバリアントを使用しました)。RSAキーの転送にscp(Pi上)を使用しました。sftpが最も簡単なオプションのようです。
ミリウェイズ2013

scp通常はは必要ありませんがsudo、それがなくても正常に動作します。
lenik 2013

scpMacからRPiへの移行は期待どおりに機能し、RPiで追加のソフトウェアを必要としません。netatalkもうまく機能しますが、もちろん、たまにしか使用されないソフトウェアとオーバーヘッドが追加されます。
ボブストロ

3

旗をscp使ってみました-rか?これがないと、再帰的なコピーは実行されません。

ファイルまたはフォルダーをコピーする場合world2は、次のようにします。

$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/

優れたコマンド。早くて簡単。どうもありがとうございました。
GutierrezDev 2016年

あなたは作ることができますscpあなたがあなたのホストを定義する場合に使用する方がはるかに簡単~/.ssh/config(参照nerderati.com/2011/03/17/...を) -として、あなたのホストを構成する場合はrpi、あなたがのようなものを使用することができ、scp -r world2 rpi:/path/to/copy/of/world2/。それが明白でない場合に備えて、それは他の方法でも動作します、例えば:scp rpi:.bashrc somedir。パスが絶対パスでない場合は、からの相対パスになります$HOME
ccpizza

3

多くのファイルがある場合は、rsyncの使用も検討してください。-Pフラグ(の--partial --progress)を使用できます。これは、中断の可能性がある長い転送を予想しているときに便利です。これにより、部分的に転送されたファイルが保持されます(通常の状況では削除されます)。転送を再開すると、転送が完了するまでに時間がかかりません。

したがって、あなたの場合はあなたがすることができます:

rsync -avP world2/ pi@10.1.1.10:world2

(それは仮定world2のディレクトリでは、このコマンドは、コピーする内容world2に対して/world2、リモートマシン上のディレクトリ)


1

長期的な解決策である場合、別のオプションは、両方のマシンにSyncthingまたはBittorrent Syncをインストールすることです。複数のマシン上のディレクトリを同期させ、大きなファイルやディレクトリを処理できます。ファイルサーバー、バックアップ、ファイル転送に非常に便利です。

btsyncからSyncthingに切り替えました。Syncthingはより多くのオプションと制御を提供します(そしてbtsyncは独自のコードを持っています)。

apt.syncthing.netにある彼らのDebian / Ubuntuパッケージは私にとってはうまくいき、私はこのチュートリアルをガイドとして使用しました


1

PiでSMB共有を設定します 。http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html

次に、Macでfinder>移動>サーバーに接続(cmd + k)> piのアドレスを入力しsmb://192.Ras.Pi、フォルダー構造のナビゲート、ファイルのコピー/貼り付けなどを行います。


なぜわざわざ2年前の質問への回答を、承認された回答とともに投稿するのですか。SMBはbなので、これは良い答えではありません。プロトコルの。あなたがMacを持っているなら、答えを試してください。
Milliways

提供された他のすべてのソリューションとは異なる完全に良い答えに役に立たないコメントを投稿するのはなぜですか?ファイルをある場所から別の場所に移動するには複数の方法があり、これはMacに他のソフトウェアをインストールする必要がなく、端末を広範囲に使用する必要もありません。なぜN年前のスレッドに投稿するのですか?A)解決策はまだ良好です、B)質問はまだ関連しています-私は今朝グーグル検索を行い、これが最初の結果ですC)この解決策は他の提供された解決策とは異なります。
jrubins

私は元の質問で「またはSambaなどを使用する必要がありますか」でこれを暗示し、それを(暗黙的に)除外しました。
Milliways

「または、Sambaなどを使用する必要がありますか」は除外言語ではありません。そのため、Sambaはすでに多くのRPiディストリビューションにインストールされているため、ほとんどの場合、他のどの回答よりもはるかに簡単であるという、完全に適切な回答を提供できたことをお詫び申し上げます。私の答えについて議論して反対票を投じる必要性を感じた理由が本当にわかりません。Stack Exchangeで5000の評判を得ているからといって、ディックホールではないというわけではありません。
jrubins

0

FileZillaを使用し、ファイルメニューのサイトマネージャから新しいサイトを設定するだけです。次に、SFTPを選択し、Raspのユーザー名とパスワードを入力してください。


0

私が見つけた最も簡単な方法は、Cyber​​duckを使用することでした

  1. 新しい接続を開く
  2. ドロップダウンメニューからSFTPを選択します
  3. サーバー:PiのIPアドレスを入力します
  4. ユーザー名:「pi」である必要があります
  5. パスワード:変更しない限り、デフォルトで「ラズベリー」にする必要があります

匿名ログインの選択を解除して接続します。


0

MacFusionをMacにインストールすると、USBスティックをMacにマウントするのと同様に、SSH経由でPiをマウントできます。次に、ファインダーを使用して、好きなようにファイルをPi上の任意のフォルダーにコピーできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.