sftp
command は確かにコマンドを中心に構築されています (ftp
など) )。そのため、scp
のインプレース置換としては機能しません。 .
ただし、次のようなワンライナーを使用できます:
echo get /remote/path/file.txt /local/path.txt | sftp [email protected]
または
echo put /local/path.txt /remote/path/file.txt | sftp [email protected]
-b -
を追加することもできます 非対話モードを強制します。
興味深いことに (@Kamil が述べたように)、ダウンロードには、この scp
も使用できます のような構文:
sftp [email protected]:/remote/path/file.txt /local/path.txt
(2 番目の引数の使用は文書化されていません)。
sftp://
の使用 プレフィックスも OpenSSH 7.7 以降で使用できます。これにより、構文が多少変更されます (ユーザー名とパスの URL エンコードが可能になります)。
フリー/オープンソースの pscp
もあります Linux で使用できる PuTTY パッケージに含まれるコマンドライン クライアント (Windows でより一般的に使用されます)。 同じ OpenSSH scp
へのコマンドライン インターフェイス .しかし、その名前と scp
に反して 、主に SFTP です クライアント (サーバーが SFTP をサポートしていない場合、SCP にフォールバックできます)。
その名前にもかかわらず、PSCP は (他の多くの表向きの scp クライアントと同様に) これらのプロトコルのいずれかを使用できます。
...
通常、PSCP は SFTP プロトコルの使用を試み、SFTP がサーバーで利用できない場合にのみ SCP プロトコルにフォールバックします。
apt-get
で PuTTY/pscp をインストールできます いいね:
sudo apt-get install -y putty
Stack Overflow にも同様の質問があります:Single line sftp from terminal