sftp
command è infatti costruito attorno a comandi (come ftp
). Quindi non può funzionare come sostituto sul posto di scp
.
Sebbene tu possa usare battute come:
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]
Potresti voler aggiungere -b -
per forzare una modalità non interattiva.
È interessante notare che (come menzionato da @Kamil), per i download, puoi anche usare questo scp
-like sintassi:
sftp [email protected]:/remote/path/file.txt /local/path.txt
(l'uso del secondo argomento non è documentato).
Uso di sftp://
prefisso è possibile anche da OpenSSH 7.7, che modifica in qualche modo la sintassi (consente la codifica URL del nome utente e del percorso).
C'è anche pscp
gratuito/open-source client della riga di comando fornito nel pacchetto PuTTY, disponibile per Linux (mentre è più comunemente utilizzato su Windows). Ha un identico interfaccia a riga di comando per OpenSSH scp
. Ma contrariamente al suo nome e scp
, è principalmente SFTP client (mentre può eseguire il fallback su SCP, se il server non supporta SFTP).
Nonostante il nome, PSCP (come molti altri presunti client scp) può utilizzare uno di questi protocolli.
...
Normalmente PSCP tenterà di utilizzare il protocollo SFTP e tornerà al protocollo SCP solo se SFTP non è disponibile sul server.
Puoi installare PuTTY/pscp con apt-get
come:
sudo apt-get install -y putty
C'è una domanda simile su Stack Overflow:Single line sftp from terminal