Заполнение клавишей Tab имени файла SCP

Это появляется (исправьте меня, если я неправ), что Вы рассматриваете FUSE-sshfs установки на своем сервере. Вы могли бы быть смущены способом, которым это работает: FUSE-sshfs должен быть установлен на клиентских машинах. Серверу действительно больше нужно, чем он уже имеет: сервер SSH.

"потенциал для FUSE монтируется для дестабилизации сервера Linux", "некоторые".

Это заплатит для понимания природы FUSE. FUSE это не само внутренне нестабильный. Это - (относительно сформировавшийся) код ядра, который дает возможность выполнения пространства пользователя 'драйверы' для различных файловых систем. Оно предназначается для тестирования или 'игрушечных' файловых систем, или тех, которые не 'принадлежат' ядра или тех, которые являются все еще в движении, т.е. что самих мог бы быть нестабильным, однако, учитывая, что выполнения драйвера в пространстве пользователя, любая проблема в коде драйвера пространства пользователя несколько изолируется от ядра. Это таким образом возможно более стабильно, чем выполнение незрелого кода в ядро.

точная устойчивость зависит больше, на котором модуле FUSE Вы используете. Я использовал sshfs немного и никогда не имел проблемы с устойчивостью. Файловая система прекращает отвечать, если я теряю соединение с сервером SSH, но это ожидается, очевидно.

13
задан 16 June 2009 в 21:34
4 ответа

Какую оболочку Вы используете? При использовании удара, Вы, возможно, должны включить "усовершенствованные" завершения в ударе...

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

В Вашем ~/.bashrc

На OSX можно сделать:

$ sudo port install bash-completion

К Вашему ~ добавляют/.profile:

if [ -f /opt/local/etc/bash_completion ]; then
    . /opt/local/etc/bash_completion
fi
16
ответ дан 2 December 2019 в 21:25
  • 1
    I' m использующий OSX в качестве рабочей станции, тот файл doesn' t существуют. Однако I' m предполагающий, что с каким-либо distrubtion я должен установить пакет завершения удара, чтобы заставить это работать? –   16 June 2009 в 21:27
  • 2
    Я обновлю свой ответ.. –  rkthkr 16 June 2009 в 21:28
  • 3
    Я только что закончил проходить те шаги сам, все работы хорошо. Спасибо помощник! –   16 June 2009 в 21:33
  • 4
    Без проблем, счастливый помочь! –  rkthkr 16 June 2009 в 21:33
  • 5
    Конечно, часть установки порта для OS X только работает при установке пакета MacPorts (www.macports.org). И я предполагаю, что существует пакет, доступный, если необходимо использовать штрейкбрехера вместо MacPorts. –  Sven♦ 16 June 2009 в 21:43

Другой, возможно, простое решение использует sshfs.

Это - клиент файловой системы на основе Протокола передачи файлов SSH. Так как большинство серверов SSH уже поддерживает этот протокол, очень легко настроить: т.е. на стороне сервера там не имеет отношения. На стороне клиента, монтирующей файловую систему, так же легко как вхождение в сервер с ssh.

Это - основанная на предохранителе файловая система, которая связывает Вашу удаленную папку с локальной. Под капотом используется scp, но можно действовать cp команда точно так же, как копирование файлов на Вашей локальной машине. Таким образом заполнение клавишей Tab работает автоматически! sshfs доступен для большинства дистрибутивов, например, сделать sudo apt-get install sshfs (это также загружается fuse модуль ядра)

Запустите как это:

$ sudo mkdir /mnt/server1
$ sudo chown local-username /mnt/server1
$ sshfs remote-username@server1.example.com:/home/remote-username /mnt/server1
$ ls /mnt/server1
 .. <bunch of files> ...
$ cp /mnt/server1/.bash<tab><tab>
.bash_history  .bash_logout   .bashrc
$ cp /mnt/server1/.bashrc .
0
ответ дан 2 December 2019 в 21:25

Я настоятельно рекомендую использовать yafc.

Это поддерживает завершение имени файла и имеет некоторые другие полезные функции также (например, рекурсивный get/put/fxp/ls/rm)

0
ответ дан 2 December 2019 в 21:25

Если кто-то хочет чтобы сделать это для Mac OSX Mountain Lion с помощью метода rkthkr, они должны сначала установить порты Mac ( http://www.macports.org/install.php ), выполнить указанную им команду:

$ sudo port install bash-completion

затем настройте их терминальное приложение в соответствии с этими инструкциями, приведенными здесь: https://trac.macports.org/wiki/howto/bash-completion

2
ответ дан 2 December 2019 в 21:25

Теги

Похожие вопросы