Я регулярно использую SCP для перемещения файлов между серверами, и я слышал, что вы можете использовать табуляцию на удаленном сервере, если вы используете открытые ключи, но пока мне не повезло.
Я пытаюсь сделать следующее:
scp -r remote.ip.address:/remote/dir/folder<TAB> /local/destiation/
На ls
удаленном сервере /dir/
откроются 3 папки:
/remote/dir/folder_1
/remote/dir/folder_2
/remote/dir/folder_3
Я бы хотел, чтобы SCP показывал, какие папки совпадают (если есть), как при обычном завершении пути при навигации по локальной файловой системе. Завершение с помощью вкладок работает с локальными путями в scp
командной строке, но я заметил, что когда путь к удаленной машине совпадает с локальным (то есть: "~ /"), он скорее завершает / предлагает файлы / папки из локальной файловой системы чем пульт.
Выполнение следующих действий для входа без пароля:
`ssh remote.ip.address`
... так что я знаю, что ключи настроены правильно. Любые идеи о том, как заставить это работать?
Ответы:
Какую оболочку вы используете? Если вы используете bash, вам может потребоваться включить «расширенные» дополнения в bash ...
В вашем ~ / .bashrc
На OSX вы можете сделать:
К вашему ~ / .profile добавьте:
источник
Если кто-то хочет сделать это для Mac OSX Mountain Lion с помощью метода rkthkr, он должен сначала установить порты Mac ( http://www.macports.org/install.php ), запустить команду, которую он упомянул:
затем настройте приложение терминала в соответствии с приведенными ниже инструкциями: https://trac.macports.org/wiki/howto/bash-completion
источник
Другое, может быть, более простое решение - использование sshfs .
Это файловая система на основе предохранителей , которая связывает вашу удаленную папку с локальной. Под капотом используется scp, но вы можете управлять
cp
командой так же, как копировать файлы на локальный компьютер. Таким образом, табуляция работает автоматически! sshfs доступен для большинства дистрибутивов, например dosudo apt-get install sshfs
(также загружаетfuse
модуль ядра)Начните так:
источник
Я настоятельно рекомендую использовать yafc .
Он поддерживает завершение имени файла и имеет некоторые другие полезные функции (например, рекурсивный get / put / fxp / ls / rm)
источник