如何使用 SSH 将文件从 Ubuntu 移动到 Windows?

如何使用 SSH 将文件从 Ubuntu 移动到 Windows?

我登录到 Windows 机器上。我正在使用 Putty 登录同一网络上的 Ubuntu 计算机。现在,我尝试将 .c 文件从 Ubuntu 计算机移动到 Windows 计算机,在那里编辑它,然后将其移回 Ubuntu 计算机,编译并运行它。

我仍然坚持获取 C 文件。

我正在运行这个命令...

sudo scp odroid:/home/odroid/test/test.c C\Users\MyUser\Downloads 

我没有将文件移动到我的 Windows 机器...不知何故,我在我的 Ubuntu 机器的主目录中创建一个未扩展的文件。

我究竟做错了什么?

答案1

在类似的情况下,我使用了 WinSCP。它是一个 Windows SCP 客户端,允许您以图形方式浏览 Linux 文件系统,并在两台机器之间来回浏览 scp 文件。

可以在这里找到: http://winscp.net/eng/index.php

答案2

你正在以最困难的方式做到这一点,但你可以这样做:

  1. 获得精彩pscp程序。我根本不是 Windows 用户,所以我能告诉你的一切都放在pscp.exe你的%path%.
  2. 在 Windows 计算机上,将目录更改为C:\Users\MyUser\Downloads
  3. 在 Windows 计算机上:pscp test.c odroid:test/ 您可能需要输入 Ubuntu 密码。
  4. 在Ubuntu机器上,编译并测试。

你必须从 Linux 机器上“拉取”文件,因为微软人为地将计算机变成“服务器”和“客户端”(大概是为了给企业买家制造虚假的高价位),并且认为不适合放置 SSH 服务器任何事物。就此而言,您可能需要启动sshd您的 Ubuntu 机器。

老实说,你最好在 Ubuntu 机器上进行文本编辑。首先,有一系列令人惊叹的各种类型的编辑器可供使用,从 NotePad 模仿器到成熟的 IDE。其次,在 Windows 和 Linux 之间来回移动文件时,您会遇到行尾字节问题。在某些时候,编译器将拒绝编译某些内容,或者您​​的 Windows 编辑器不会将单个换行符识别为行尾。

答案3

我不得不经常处理这个问题,我曾经教过一些学生需要在 Windows 机器上工作的课程。我将描述两种方法,您可以决定您最喜欢哪种。另外,警告:我不是 Windows 用户,我只是在他们需要使用 Unix 时为他们提供支持:)。

  1. 使用 WinSCP(http://winscp.net/eng/download.php

    WinSCP 只是一个 GUI,其工作方式与 PuTTY 类似,但您可以浏览远程服务器上的文件。我发现它相当可以接受,而且它是一个 GUI,因此您只需在本地 Windows 计算机和远程 Ubuntu Linux 计算机之间拖放文件/文件夹即可。

  2. 使用 Sublime Text 3 (https://www.sublimetext.com/3)以及 Sublime SFTP 插件(抱歉,您必须搜索这个)

    (好吧,我基本上认可这个文本编辑器,但自从我的一位朋友向我展示它后,我发现它是我在最多情况。其他编辑可能会让你做这样的事情;请随时查看。相信每个人都有自己最喜欢的。)

    ST是付费软件,可以试用,每隔几次你省钱就会不断要求你购买。您可以安全地永远忽略这一点,并且免费使用它不会花费您任何功能,但请注意这一点(如果您可以支持开发人员......)。 SFTP 插件也会提醒您购买它。

    这就是我使用 ST3 和 SFTP 插件的方式(我假设您已经安装了两者)。

如果您要处理远程文件夹中的所有文件

  • 打开ST3并选择文件->“打开文件夹”
  • 如果您愿意,可以创建一个新文件夹。该文件夹将保存您需要使用的所有文件。否则,只需选择一个文件夹。
  • 在左侧边栏中,右键单击文件夹名称或图标。选择SFTP/FTP ->“映射到远程”。
  • ST3 将打开一个配置文件来设置您的连接。填写重要值 ( host, user, remote_path)。remote_path应该是您的本地目录在某种意义上将被“镜像”的目录。如果您希望每次保存时自动将文件复制到远程服务器,您也可以设置upload_on_save为。true
  • 保存文件并再次右键单击文件夹名称。这次,选择 SFTP/FTP ->“同步远程 -> 本地...”。警告:如果您选择的文件夹中有文件,这将覆盖它们。
  • 当要求执行控制台中显示的操作时,选择“是”。
  • 现在您的文件将显示在侧栏上。您可以在本地计算机上打开它们、编辑它们并保存它们。如果您没有设置该upload_on_save选项,您可以右键单击文件名或文件内的任意位置,然后选择 SFTP/FTP ->“同步本地 -> 远程...”将其复制回来。

如果您只想使用一个文件

通过 SFTP 插件在 Sublime Text 中编辑文件可能会更容易。这给您一种在本地使用它的感觉,但实际上,您的本地计算机上只存在它的缓存版本。 SFTP 插件的开发人员将此称为“服务器”工作流程(您可以在他们的页面上阅读相关信息)。基本上:

  • 打开 ST3,文件 -> SFTP/FTP -> “设置服务器...”
  • 填写配置文件,类似于我上面描述的方式,并用名称保存它(也许服务器的名称是个好主意)。
  • 文件 -> SFTP/FTP -> “浏览远程...”
  • 使用相当笨重的界面浏览文件,选择它,然后选择“编辑”
  • 根据需要编辑您的文件。保存后会自动上传。

我发现 ST3 足以满足我的需求。希望这至少对您有所帮助。如果您不寻找其他编辑器,希望 WinSCP 可以帮助您完成您需要做的事情。

答案4

确保您首先拥有 pscp,使用 git Bash 而不是 Windows power shell,scp odroid:/home/odroid/test/test.c C\Users\MyUser\Downloads

相关内容