生活哲学

如何使用 SFTP 向/从 Linux 服务器传输文件

大多数人在需要向 Linux/BSD 服务器传输文件或从其传输文件时更喜欢使用 FileZilla 或 WinSCP 等实用程序。如果该计算机上正在运行 OpenSSH 守护程序,用户可以通过 Secure/SSH FTP (SFTP) 协议连接到它。上述实用程序通过提供图形界面使文件传输更容易,但用户必须安装和配置这些程序。

一些简单的人不想安装额外的实用程序。其他人只是喜欢命令行,因为它允许更多控制和更快地“说出”用户希望它执行的实用程序。但是现在,当您想要传输文件时,还有另一个理由使用命令行。默认情况下,Windows 10 开始包含一个 OpenSSH 客户端应用程序,允许直接从命令提示符登录到 Linux/BSD 服务器。

这个客户端还带有许多其他实用程序,SFTP 就是其中之一。因此,用户现在可以直接从命令提示符将文件传输到 Linux/BSD 操作系统,而无需在 Windows 计算机上安装任何东西。

使用 SFTP 向/从 Linux 服务器传输文件的说明

  1. 如何使用 sftp 命令登录
  2. sftp登录后如何下载文件
  3. sftp登录后如何上传文件
  4. 如何继续转移和使用包含空格的空间

如何使用 sftp 命令登录

如果您使用的是 Windows,请打开 命令提示符。 如果您使用的是 Linux,请打开终端窗口。

使用sftp命令登录服务器,语法与ssh命令相同。

 sftp your_username@IP-address-or-hostname 

命令示例:

 sftp john@203.0.113.1 sftp john@example.com 

如何使用 SFTP 向/从 Linux 服务器传输文件的图片 1

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'。

如何使用 SFTP 向/从 Linux 服务器传输文件的图片 2

要复制目录,用户必须在命令中添加-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,只需输入:

 退出 

如何继续传输和使用包含空格的空格

传输大文件时,如果被中断,用户可以将前面的命令替换为reputreget(而不是 putget)。只需确保使用之前使用的确切路径,使源和目标完全匹配。

 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 最重要的知识。希望你成功。

相关资讯

评论

回复