2014年8月20日水曜日

sftpで補完が効かないので調べてみた

sftpで補完が効かないので調べてみた
enter image description here

sftpで補完が効かない

ssh接続した先のファイルをダウンロードしたり、アップロードしたりする際にscpを使っていたのだが、ファイルを転送するたびにscp打つのも面倒だし、sftpでは補完が効かないのでどうしたものかと思って調べてみた。

やりたいこと

ssh接続したサーバとのデータ転送を楽にしたい


案1: lftpを使う

lftpというコマンドだとsftp(ftp)ライクな操作でディレクトリの補完ができるよう。
早速試してみた.

インストール

brewで一発。
brew install lftp

使い方

lftpにsftpの接続文字列を渡す。
sftpのコマンドがこれだった場合。
sftp hoge@example.com
lftpではこうなる
lftp sftp://hoge@example.com
接続するとftpライクに操作できてディレクトリなどの補完もされた。
OK

案2: scpを使う

調べてみて知ったのだが、実はscpも補完ができる様。
試しにscpを打ってみて<TAB>すると補完された!まじか!
scp hoge@example.com:
#この状態で<TAB>を押すと補完結果が!!!

まとめ

ファイル単体の転送はscpの補完で。
いろいろとやりたいときはlftpで対応したいと思います。
個人的にはsshで接続している時にこいつダウンロード…みたいな事ができたら良いのになと思いました。
できそうな気がするのですがどうでしょう…?

参考:
shell - lftpでファイル転送 - Qiita - http://qiita.com/petitviolet/items/d25ce37eb7ef784df4fc
scpでファイル(ディレクトリ)名補完 - Ruby_log - http://d.hatena.ne.jp/hi_igu/20110310/1299749680
SSHでscpを使わずにファイルをコピーする - TIM Labs - http://labs.timedia.co.jp/2011/04/rawssh-filecopy.html#

Written with StackEdit.
  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly