使用WinSCP在Windows和Linux系统之间传输文件

时间:2023-11-26 15:00:20

小梅哥编写,未经许可,严禁用于任何商业用途

2018年6月30日

在日常SoC开发中,我们经常需要在Windows和Linux系统之间传输文件,例如在Windows系统上的DS-5集成开发环境中编写好的Linux应用程序需要传递到Linux嵌入式开发板中(例如SoC FPGA开发板),或者需要将Linux系统中的文件拷贝到Windows上进一步操作处理,就涉及到两者之间的文件传输。实现上述场景中文件传输的一种比较便捷的方式,是使用SCP方式。在Windows系统中,可以通过安装WinSCP软件来实现上述功能。

该软件可以在https://winscp.net/eng/download.php网址下载得到,光盘资料中提供了下载好的离线安装包WinSCP-5.13.3-Setup.exe,直接双击即可运行安装。安装过程没有什么需要注意的,一律默认即可。

使用时,如果远程主机没有固定的IP和端口映射,则需要Windows主机和远程主机处于同一网段,例如连接在同一个路由器上,或者通过网线直连,并设置IP在同一网段,否则无法实现连接。

安装完成后运行。首次使用会自动弹出登录界面,在主机名处输入希望连接的主机的IP地址,端口号默认22,用户名和密码输入远程系统的用户名和密码即可。

使用WinSCP在Windows和Linux系统之间传输文件

为了下次使用方便,可以点击保存,将该站点保存为常用站点,下次打开时就能快速打开该站点了。如果是在自己的实验电脑上做开发用,不涉及到数据保密安全问题。可以选择保存密码,方便下次快速登录。同时可以勾选建立快捷方式到桌面,这样下次想登录该主机时,直接双击该快捷图标就可以了。

使用WinSCP在Windows和Linux系统之间传输文件

配置完成后,点击登录即可开始连接到远程主机。首次登录一个新主机时,会弹出下述对话框,选择是即可。

使用WinSCP在Windows和Linux系统之间传输文件

连接完成后,即可在文件浏览窗口的右侧浏览远程主机的文件系统了,左侧是Windows系统的资源管理器,在这个浏览器里,可以很方便的通过拖拽的方式将Windows中的文件拖动到远程Linux主机中,也可以直接从Linux主机中将文件或文件夹拖动到Windows系统中。使用完毕,直接关闭软件即可自动退出。

使用WinSCP在Windows和Linux系统之间传输文件

下次要使用时,可以直接在桌面双击保存的快捷方式以快速自动登录,也可以打开WinSCP软件,在弹出的对话框中选择已经保存的站点直接登录。

使用WinSCP在Windows和Linux系统之间传输文件

使用WinSCP在Windows和Linux系统之间传输文件

另外,WinSCP软件可以同时登录多个远程主机,例如,在开发SoC时,建立两个远程连接,一个连接到SOC开发板的Linux系统,一个连接到电脑上的Ubuntu虚拟机,这样就可以通过网络分别在多个主机之间互传数据了。

建立多个远程连接时,点击新建站点,输入另一个远程站点的IP和用户名以及密码,就可以登录了。下图为同时使用WinSCP登录两个远程主机的截图。由于Ubuntu主机使用无线网卡联网,Windows系统也使用无线网卡联网,虚拟机和Windows主机网卡使用桥接模式,因此处于同一网段,通过无线网卡能够直接连通。另外,PC的有线网卡通过网线直接连接到了SoC板卡的网口上,通过手动设置两者处于同一网段(PC的IP为192.168.0.3、SoC板卡IP为192.168.0.100),则两者也能够顺利通信。

使用WinSCP在Windows和Linux系统之间传输文件

通过WinSCP工具,在以后的开发中,需要在虚拟机,Windows系统、SoC开发板中互相传输文件就非常方便了。无需设置NFS挂载,也无需使用U盘作为中间传输介质。

另外,该软件还可以调用PuTTY以实现Shell终端连接,执行各种命令。该功能需要用户的电脑C:\Program Files (x86)\PuTTY\路径下存在putty.exe软件,如果没有的话,自己建立该路径,将putty软件放置进去即可。putty准备好之后,只需要选中希望连接shell的远程主机,然后点击putty快捷图标即可。如下图所示:

使用WinSCP在Windows和Linux系统之间传输文件