sftp
de hecho, el comando se basa en comandos (como ftp
). Por lo tanto, no puede funcionar como un reemplazo en el lugar para scp
.
Aunque puedes usar frases ingeniosas como:
echo get /remote/path/file.txt /local/path.txt | sftp [email protected]
o
echo put /local/path.txt /remote/path/file.txt | sftp [email protected]
Es posible que desee agregar -b -
para forzar un modo no interactivo.
Curiosamente (como mencionó @Kamil), para las descargas, también puede usar este scp
-como sintaxis:
sftp [email protected]:/remote/path/file.txt /local/path.txt
(el uso del segundo argumento no está documentado).
Uso de sftp://
El prefijo también es posible desde OpenSSH 7.7, que modifica un poco la sintaxis (permite la codificación URL del nombre de usuario y la ruta).
También hay pscp
gratuito/de código abierto cliente de línea de comandos que viene en el paquete PuTTY, que está disponible para Linux (aunque se usa más comúnmente en Windows). Tiene un idéntico interfaz de línea de comandos para OpenSSH scp
. Pero contrario a su nombre y scp
, es principalmente SFTP cliente (aunque puede recurrir a SCP, si el servidor no es compatible con SFTP).
A pesar de su nombre, PSCP (como muchos otros clientes aparentes de scp) puede usar cualquiera de estos protocolos.
...
Normalmente, PSCP intentará usar el protocolo SFTP y solo recurrirá al protocolo SCP si SFTP no está disponible en el servidor.
Puede instalar PuTTY/pscp con apt-get
como:
sudo apt-get install -y putty
Hay una pregunta similar en Stack Overflow:Single line sftp from terminal