[.com快速翻译]大多数需要在Linux/BSD服务器之间传输文件的人都喜欢FileZilla或WinSCP这样的实用程序。如果OpenSSH守护进程正在该机器上运行,您可以通过SSHFTP协议(SFTP)连接到它。上述实用程序提供了一个图形界面,使用户更容易传输文件,但必须安装和配置该程序。一些纯粹主义者更喜欢不必安装额外的实用程序。其他人更喜欢命令行,因为命令行提供了更好的控制,并且可以更快地告诉实用程序您想要它做什么。但是,如果您想传输文件,那么现在就多了一个使用命令行的理由。默认情况下,Windows10包含OpenSSH客户端软件,它允许您直接从命令提示符登录到Linux/BSD服务器。客户端软件还附带许多其他实用程序,包括SFTP。因此,您现在还可以直接从命令提示符将文件传输到Linux/BSD操作系统,而无需在Windows计算机上安装任何东西。SFTP实用程序在Linux机器上也可用,并且工作方式相同。如何使用SFTP命令登录?如果您使用的是Windows,请打开命令提示符。如果使用Linux,请打开一个终端窗口。要使用SFTP命令登录服务器,请使用与SSH命令相同的语法。如果您不熟悉语法,请阅读介绍段落中链接的教程。sftpyour_username@IP-address-or-hostname示例命令:sftpjohn@203.0.113.1sftpjohn@example.com图1SFTP登录后如何下载文件?现在你可以在sftp>提示符下输入命令来与服务器上的文件取得联系。下载文件:get/path/to/file/on/server示例:get/bin/ls这将下载到您的当前目录,即您在登录服务器之前所在的本地目录。想下载到特定的本地目录(在Windows上):get/path/to/file/on/serverC:\path\to\local\folder例如:上面Linux上的get/bin/lsC:\User\John\Desktop,你只需要使用Unix类型的路径(正斜杠而不是反斜杠):get/bin/ls/home/john/Desktop就可以理解。路径也可以是相对的。这意味着,如果您在打开命令提示符时已经在C:\User\John中,则可以使用以下命令下载到您的桌面(C:\User\John\Desktop):get/bin/lsDesktopTheremotepath也可以是relative的,意思是如果你用sftpjohn@203.0.113.1登录,你已经在目录“/home/john”,所以你可以用这个目录下载“/home/john/file””。getfileDesktop这会将“/home/john/file”下载到“C:\Users\YourUser\Desktop\file”。要复制目录,您必须在命令中添加-r参数,它代表递归。get-r/binDesktop\bin图2记得为要在本地创建的新目录添加名称,例如本文中的“Desktop\bin”。如果要使用get-r/binDesktop,文件将直接复制到桌面。复制的是文件,而不是目录本身。使用SFTP登录后如何上传文件?上传文件或目录遵循相同的原则。唯一的例外是路径是相反的,这意味着你必须先指定本地文件/目录,然后再指定远程路径。在Windows上:放置C:\path\to\local\content/path/where/to/upload在Linux上:放置/path/to/local/content/path/to/remote/location上传目录时(递归),请记住,上面的规则同样适用:目录中的文件实际上是被复制的,而不是目录本身。因此,为要将这些文件复制到的目录指定一个新名称。put-rDesktop/binbin这将在远程端创建一个名为“bin”的新目录。要退出SFTPshell,只需输入:exit如何恢复传输并使用包含空格的路径?在传输大文件时,如果传输中断,可以将之前的命令替换为reput和reget(替换put和get)来恢复传输。只需确保使用与上次使用时完全相同的路径,以便源和目标完全匹配。reget/path/to/file/on/serverC:\path\to\local\filereputC:\path\to\local\file/path/to/file/on/server如果要恢复目录传输,只需添加-r参数。reput-rDesktop/binbin如果文件路径包含空格,请将其放在引号中。这不起作用:putC:\ProgramFiles(x86)\Steam\steamapps\common\TheWitcher3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip但是这一行:put"C:\ProgramFiles(x86)\Steam\steamapps\common\TheWitcher3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip”(是的,如果您安装了Witcher3配乐,您实际上可以在Steam上找到它。)结论本文涵盖了有关SFTP的最重要的要点。如果您觉得需要更多信息,可以在Internet(http://man7.org/linux/man-pages/man1/sftp.1.html)上阅读完整的SFTP命令手册。原标题:HowtoUseSFTPtoTransferFilesto/fromLinuxServers,作者:AlexandruAndrei
