大多数人在需要向 Linux/BSD 服务器传输文件或从其传输文件时更喜欢使用 FileZilla 或 WinSCP 等实用程序。如果该计算机上正在运行 OpenSSH 守护程序,用户可以通过 Secure/SSH FTP (SFTP) 协议连接到它。上述实用程序通过提供图形界面使文件传输更容易,但用户必须安装和配置这些程序。
一些简单的人不想安装额外的实用程序。其他人只是喜欢命令行,因为它允许更多控制和更快地“说出”用户希望它执行的实用程序。但是现在,当您想要传输文件时,还有另一个理由使用命令行。默认情况下,Windows 10 开始包含一个 OpenSSH 客户端应用程序,允许直接从命令提示符登录到 Linux/BSD 服务器。
这个客户端还带有许多其他实用程序,SFTP 就是其中之一。因此,用户现在可以直接从命令提示符将文件传输到 Linux/BSD 操作系统,而无需在 Windows 计算机上安装任何东西。
使用 SFTP 向/从 Linux 服务器传输文件的说明
- 如何使用 sftp 命令登录
- sftp登录后如何下载文件
- sftp登录后如何上传文件
- 如何继续转移和使用包含空格的空间
如何使用 sftp 命令登录
如果您使用的是 Windows,请打开 命令提示符。 如果您使用的是 Linux,请打开终端窗口。
使用sftp命令登录服务器,语法与ssh命令相同。
sftp your_username@IP-address-or-hostname
命令示例:
sftp john@203.0.113.1 sftp john@example.com
sftp登录后如何下载文件
现在可以在sftp输入命令了>提示与服务器上的文件进行交互。
下载文件:
get/path/to/file/on/server
例如:
get/bin/ls
该命令会下载当前目录(登录服务器前的目录)。要下载特定的本地目录(在 Windows 上):
get/path/to/file/on/server C:pathtolocalfolder
例如:
get/bin/ls C:UserJohnDesktop
在 Linux 上,只需使用 Unix 类型路径(正斜杠而不是反斜杠):
get/bin/ls/home/john/Desktop
注意:即使在 sftp 中对 Windows 路径使用斜线(不正确),该实用程序似乎仍能理解它们。
路径也可以是相对的。这意味着如果打开命令提示符时它已经在 C:UserJohn 中,则用户可以通过以下方式下载桌面 (C:UserJohnDesktop):
get/bin/ls 桌面
远程路径也可以是相对的。这意味着如果你用sftp john@203.0.113.1登录,用户已经在'/home/john'目录下,所以你可以用它来下载'/home/john/file'。
获取文件桌面
这个命令会将'/home/john/file'下载到'C:UsersYourUserDesktopfile'。
要复制目录,用户必须在命令中添加-r参数。
get-r/bin Desktopbin
记得为你要添加的新文件夹添加一个名称在本地创建,如本例中的 'Desktopbin'。如果使用 get-r/bin Desktop ,文件将直接复制到桌面上。它需要复制文件,而不是目录本身。
sftp登录后如何上传文件
按照同样的规则上传到文件或目录。唯一的例外是路径是颠倒的,即用户先指定本地文件/目录,再指定远程路径。
在 Windows 上:
put C:pathtolocalcontent/path/where/to/upload
在 Linux 上:
put/path/to/local/content/path/to/remote/location
上传文件夹时,请记住应用与上一节相同的规则。实际上复制的是文件夹中的文件,而不是文件夹本身。因此,为要将这些文件复制到的文件夹指定一个新名称。
put-r Desktop/bin bin
这将创建一个名为'bin'的新文件夹。
要退出shell sftp,只需输入:
退出
如何继续传输和使用包含空格的空格
传输大文件时,如果被中断,用户可以将前面的命令替换为reput和reget(而不是 put 和 get)。只需确保使用之前使用的确切路径,使源和目标完全匹配。
reget/path/to/file/on/server C:pathtolocalfile reput C:pathtolocalfile/path/to/file/on/server
要继续移动目录,只需添加-r参数:
reput-r Desktop/bin bin
如果文件路径中包含空格,请用引号引起来。
这个命令不起作用:
put C:Program Files (x86)SteamsteamappscommonThe_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip
但是下面的命令有:
put "C:Program Files (x86)SteamsteamappscommonThe Witcher 3SOUNDTRACKThe_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip"
这篇文章涵盖了关于 SFTP 最重要的知识。希望你成功。
评论