Вроде странный вопрос, но есть ли способ, которым я могу работать на удаленных ресурсах как файлы UNIX?

Например, я ищу какой-то способ сделать такие задачи, как следующие:

head ssh://hostname:/path/to/file.txt
cat http://domain.com/file.html > local-file

Я сильно подозреваю, что ответ - нет. Любые намеки на попытки такого рода вещей также приветствуются

2 ответа2

1

Собственно, в SSH такой возможности нет.

Однако вы можете добиться почти того же с SSHFS, которая позволяет вам монтировать удаленную, доступную по SSH файловую систему, а затем работать с ней локально, как если бы это был локальный ресурс.

Вы также можете установить SSH-туннель для прокси-сервера некоторого другого метода совместного использования сети, такого как NFS, SMB или CIFS, который снова достиг бы аналогичного конечного результата.

0

Для SSH вы можете запустить неинтерактивную команду в удаленной системе:

ssh hostname "head /path/to/file"

Это позволяет вам перенаправить вывод в процесс на вашем локальном компьютере:

ssh hostname "cat /path/to/file" | head

head здесь выполнена на вашей локальной машине. Вы также можете взять локальный вывод и перенаправить его в сеанс SSH:

cat /local/file | ssh hostname "head > /remote/file"

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

Для доступа к файлам HTTP (и HTTPS) и дальнейшей их локальной обработки обычно выбирается инструмент curl:

curl http://domain.com/file.html > local-file

Здесь curl запускается локально и выбирает HTML-файл для работы с вами. Он не позволяет вам изменять удаленные файлы, поскольку это не является функцией протокола HTTP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .