ローカルのMacから、あるサーバーのファイルを別のサーバーに送りたい時、
SSHFSでマウントするためのaliasを作るのもめんどくさくて、
SCPコマンドを実行するものめんどくさくて、
Filezillaかなんかのクライアントでやるのもめんどくさそうだと思って、
SFTPをterminalからやったら簡単便利だったのでメモ。
違い
SCP,SFTPの違いは以下を見ればわかる
http://qiita.com/cyberblack28/items/275c5df386a50b224765
SFTPとFTPSの違いは以下を見れば分かる
http://qiita.com/kasei-san/items/bf766e6c2ececa4c3905
SSHFSはローカルにリモートのFSをマウントする
穴兄弟の使い分け方
どれもssh config読みこんでくれて同じポートに安全に接続してくれて滅茶便利なのだが、
以下の用に使い分けるのが正しいのか?
コマンド | 使いみち |
---|---|
SSH | リモートシェル叩きたい |
MOSH | 接続が切れないでリモートのシェル叩きたい |
SCP | リモートシェル叩かずにファイルの移動をしたい |
SFTP | リモートとローカルのシェル叩いてに柔軟にファイルの操作をしたい |
SSHFS | リモートのFSをローカルにマウントしてローカルから操作したい |
SFTPのコマンド備忘録
※ lがlocalコマンドのプレフィックスになる
用途 | コマンド |
---|---|
接続 | $ sftp <host> # ssh/configのhost名 |
リモートのパス | $ pwd |
ローカルのパス | $ lpwd |
リモートからローカルにDL | $ get <remote filename> # -rで再帰的な感じ |
ローカルからリモートにアップロード | $ put <local filename> # -rで再帰的な感じ |
FTPコマンドの備忘録
用途 | コマンド |
---|---|
接続 | $ ftp <host> # IDとPWをその後入力する |
リスト | $ ls |
チェンジディレクトリ | $ cd |
ファイルのアップロード | $ put |
ファイルのダウンロード | $ get |
正規表現を使ってファイルのアップロード | $ mput <regexp> |
正規表現を使ってファイルのダウンロード | $ mget <regexp> |
一気にフォルダごとDLする方法
$ wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/
その他のコマンドは以下にある
http://answers.stat.ucla.edu/groups/answers/wiki/7a848/Using_SSH_and_SFTP_in_Mac_OS_X.html
参考文献
https://www.digitalocean.com/community/tutorials/how-to-use-sftp-to-securely-transfer-files-with-a-remote-server
http://stackoverflow.com/questions/113886/how-do-you-recursively-ftp-a-folder-in-linux