我以为我熟悉sftp
unix 中的命令,据我所知,用于compressed
从服务器下载文件的命令是
sftp 获取文件名.tar.gz
但是当我尝试这个命令时,文件被清空,我的意思是文件大小变为 0,我不知道为什么会发生这种情况。是否有其他专门针对.tar.gz
文件类型的命令。获取此压缩文件的过程是什么。我用的是mac终端。
答案1
get
是合法的 sftp 命令,但不能那样使用。
下载filename.tar.gz
到 Mac 的正确语法是:
sftp user@host:/path/to/filename.tar.gz /some/local/folder
(替换user
为用于连接远程服务器的用户,替换host
为远程服务器名称。)
tar.gz
上述命令中的文件没有什么特别的,它对任何扩展名都是通用的。
要使用get
您必须先进入交互模式:
建立与远程服务器的连接:
sftp user@host
等到
>
sftp 提示符出现在换行符中 - 您现在可以键入命令。将远程路径更改为
/path/to
:cd /path/to/
将本地路径更改为
/some/local/folder
:lcd /some/local/folder
用于
get
下载文件:get filename.tar.gz
答案2
如果您已经登录到 sftp 会话,则可以使用另一种方法。
如果你做了一个获取:
sftp> get my-file.txt
get: failed to download /home/user/my-file.txt. Access is denied.
您可以考虑本地是否有写入权限。要检查文件的下载位置,请执行以下操作:
sftp> lpwd
C:\Users\user1\Documents
一般来说,“文档”是不允许的。因此,将下载目录更改为C:\tmp
:
sftp> lcd C:\tmp
sftp> get my-file.txt
Downloading my-file.txt from /home/user/my-file.txt
1% 437123KB 620KB/s 00:00:41 ETA
完毕