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 example@unixlinux.online
nebo
echo put /local/path.txt /remote/path/file.txt | sftp example@unixlinux.online
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 example@unixlinux.online:/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