sftp
příkaz je skutečně postaven na příkazech (jako ftp
). Nemůže tedy fungovat jako náhrada scp
na místě .
I když můžete použít jednolinky jako:
echo get /remote/path/file.txt /local/path.txt | sftp [email protected]
nebo
echo put /local/path.txt /remote/path/file.txt | sftp [email protected]
Možná budete chtít přidat -b -
vynutit neinteraktivní režim.
Zajímavé je (jak zmínil @Kamil), že pro stahování můžete také použít tento scp
-jako syntaxe:
sftp [email protected]:/remote/path/file.txt /local/path.txt
(použití druhého argumentu není zdokumentováno).
Použití sftp://
prefix je také možný od OpenSSH 7.7, který poněkud upravuje syntaxi (umožňuje kódování URL uživatelského jména a cesty).
K dispozici je také bezplatný/open source pscp
klient příkazového řádku, který je dodáván v balíčku PuTTY, který je dostupný pro Linux (zatímco běžněji se používá ve Windows). Má identické rozhraní příkazového řádku na OpenSSH scp
. Ale na rozdíl od jeho názvu a scp
, je to především SFTP klient (i když se může vrátit k SCP, pokud server nepodporuje SFTP).
Navzdory svému názvu může PSCP (stejně jako mnoho jiných zdánlivých klientů scp) používat kterýkoli z těchto protokolů.
...
Normálně se PSCP pokusí použít protokol SFTP a vrátí se k protokolu SCP pouze v případě, že SFTP není na serveru k dispozici.
PuTTY/pscp můžete nainstalovat s apt-get
jako:
sudo apt-get install -y putty
Podobná otázka je na Stack Overflow:Single line sftp from terminal