質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

4回答

1239閲覧

scpでtabが効くようにしたい

loreeeee

総合スコア40

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2018/05/16 02:32

編集2018/05/16 05:30

前提・実現したいこと

scpでファイルをコピーするときに,ローカル上で 

scp -r username@133.XX.XXX.XX:/mnt/workXX/username/pictures/aaa.png ./

として,相手サーバーからファイルをローカルにコピーしたい場合に相手サーバーのパスを打っているときに,tab補完が効くように設定するにはどうすればいいのでしょうか?

「tab補完が効く」というのは例えば上記のコマンドをターミナル上で打つ際に「username@133.XX.XXX.XX:/mnt/wor」まで打ってtabを押すと/mnt/以下のディレクトリが全てターミナル上に候補として示されるという挙動です.

環境

Linux(Redhat系のOSです)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2018/05/16 04:40

「tab補完が効く」というのは、どういう意味ですか? コマンドのパラメータで指定する通りのファイルがコピーされるのではダメなのですか?
loreeeee

2018/05/16 05:28

「tab補完が効く」というのは例えば上記のコマンドをターミナル上で打つ際に「username@133.XX.XXX.XX:/mnt/wor」まで打ってtabを押すと/mnt/以下のディレクトリが全てターミナル上に候補として示されるという挙動です.
loreeeee

2018/05/16 05:30

相手先のサーバーの階層構造が複雑な場合,毎回ディレクトリの場所を覚えていられないので,tab補完の機能があればいいなと思っているのです.サーバーによってはtab補完が効くものもあったりそうでなかったりするので,どういう設定なのか気になっているのです.
guest

回答4

0

ベストアンサー

使っているシェルは何でしょうか? コマンドラインの補完はシェルの機能なので、使っているシェルによって設定方法が違います。

とりあえず Red Hat 系 OS で良く使われている bash での方法について書きます。

bash で scp コマンドの補完を行いたい場合は、yum コマンドで bash-completion-extras をインストールします。
インストール後は補完設定を有効にする為にログインしなおしてください。

bash での設定は上記だけですが、補完が行える条件として「対象のサーバにパスワード/パスフレーズ無しでログイン(コマンドを実行)出来るようになっている」というのが有ります。
なので、ssh-agent やパスフレーズ無しの認証鍵を設定するなどして、パスフレーズ無しでログインできるよう設定してください。

投稿2018/05/16 09:51

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

loreeeee

2018/05/17 04:19

ありがとうございます.現在はパスフレーズが必要なのでssh-agentを使ってやってみます.
guest

0

CentOS 7でbashを使っている場合、bash-completionパッケージを入れるとリモートファイル名補完ができます。ただし、公開鍵認証でエージェントが効いているか、パスフレーズなしの鍵ペアをローカルとサーバー側に設置する必要があります。

投稿2018/05/16 09:41

編集2018/05/16 09:45
emasaka

総合スコア524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こういうことでしょうか?
https://teratail.com/questions/85268

投稿2018/05/16 09:42

TaichiYanagiya

総合スコア12141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

愚策ですが、シェルを変えると補完が効くものがあったと思います。
とりあえず手元のFishだと、特に設定せずに、そんな風に動いていた記憶がします。

もし興味をいだきましたら、以下のページをご覧いただければ幸いです。

以上、拙い意見で申し訳ございません。

投稿2018/05/16 08:49

manzyun

総合スコア2244

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問