Linux和Windows之间的文件互传

前言

我们一般在传输文件的时候,都是在同操作系统之间进行传输的,比如Windows到Windows,Linux到Linux,这样传起来非常方便。但有的时候需要在不同操作系统之间传输文件,比如我现在开发好了一个系统,把它打成了jar包,想把它传输到Linux服务器上运行,这就是一个典型的Windows到Linux文件传输的例子,这里记录一下Windows与Linux之间文件互传的实现方法。

1、常见的传输协议

先要了解一下常见的文件传输协议。

常见的文件传输协议有ftp、sftp等,这里就只说这两种了。

(1)ftp

FTP(File Transfer Protocol,文件传输协议) 是TCP/IP协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

(2)sftp

sftp是SSH File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。sftp就是在ftp的基础上对传输的数据进行了加密。

(3)ftp和sftp的比较

ftp是明文传输,速度快,默认使用21端口。
sftp是加密传输,速度略慢但安全性高。如果传输的数据包含敏感内容,使用sftp。默认使用22端口。

我的Linux服务器是使用阿里云的ECS,安装的是CentOS8.3版本,CentOS的作为企业级服务器,安全性高,默认安装、开启了sftp,而ftp默认没有安装。所以这里直接使用sftp协议进行传输了。先看22端口有没有开启:
在这里插入图片描述
是开启的,OK,下面准备传输文件。

2、使用FileZilla互传文件

FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。

(1)下载及安装

去网上下载好FileZilla的安装包,并且完成安装,这里直接跳过。

(2)传输文件

安装完成后桌面有这个图标:
在这里插入图片描述
点击直接打开:
在这里插入图片描述
输入远程主机、用户名、密码、端口号,然后连接:
在这里插入图片描述
已经连接上了。下面我想将桌面的一个test.txt文件传到linux服务器的/test下,test.txt内容如下:
在这里插入图片描述
在这里插入图片描述
本地站点是文件所在路径,下面是这个路径下的所有文件。
在这里插入图片描述
右边的远程站点选择你的文件上传的目的地,选择test目录,然后可以开始上传了,选中test.txt文件,右键—上传。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到提示上传成功了,下面去Linux上看一下:
在这里插入图片描述
可以看到test.txt的确是传到了根目录下的test目录下,查看内容也是正确的,如果有中文,这里会乱码,所以测试文件里面最好不要有中文字符。

(3)文件下载

将桌面上的test.txt删除掉。右边选择test目录下的test.txt文件,右键–下载。
在这里插入图片描述
注意左边的本地站点就是存放下载文件的路径,我这里就选桌面了。
在这里插入图片描述
提示是下载成功了,查看桌面:
在这里插入图片描述
查看内容:
在这里插入图片描述
那么下载就成功了。

3、使用WinSCP互传文件

WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。.winscp也可以链接其他系统,比如linux系统。

(1)下载及安装

略。

(2)上传文件

在这里插入图片描述
下载安装完成后,直接双击打开:
在这里插入图片描述
在弹出来的登录窗口输入主机、端口、用户名、密码,文件协议选择SFTP,然后点击登录。
在这里插入图片描述
连接上远程服务器了,还是上传刚才那个文件,先把刚才传的删掉:
在这里插入图片描述
在这里插入图片描述
左边选择文件所在路径。
在这里插入图片描述
右边选择要上传文件的目的地。
在这里插入图片描述
选择文件–上传–上传。
在这里插入图片描述
确认上传的远程目录,点击确定。
在这里插入图片描述
右边有了,然后去服务器查看:
在这里插入图片描述
上传成功,内容正确。

(3)下载

在这里插入图片描述
我现在将它下载D盘根目录,左上角选择D盘,右边选择文件右键–下载–下载:
在这里插入图片描述
确认下载路径,点击确定,查看D盘:
在这里插入图片描述
打开查看内容:
在这里插入图片描述
OK,下载成功。

4、使用PSFTP互传文件

PSFTP是PuTTY SFTP客户端,用于本地与服务器间安全传输文件(使用SSH连接)。

这个我就不演示了,跟WinScp和FileZilla流程都一样,其实都差不多,只要能连接上,基本上传、下载不会有太大的问题。有兴趣的可以自己试一下PSFTP。

5、总结

Windows传文件到Linux远程服务器,可以使用ftp协议,也可以使用sftp协议。由于是跨平台的操作,因此需要借助一些工具,比如FileZilla、WinScp、PSFTP等客户端。掌握其中一两种即可。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值