Windows、Linux之间传输文件的几种方式
常见的文件传输协议有ftp、sftp,sftp就是在ftp的基础上对传输的数据进行了加密。
ftp速度快,sftp速度略慢但安全性高。
ftp默认使用21端口,sftp默认使用22端口。
我使用的是CentOS,不知道是不是CentOS安全性高的原因,默认开启了sftp,而ftp默认没有安装。
可以直接使用sftp,如果想使用ftp,需要先在Linux上安装ftp。
Linux安装ftp
先看下安装了ftp没:
yum list installed | grep ftp
没有安装就下一步。
搜索可用的软件包:
yum list | grep ftp
安装:
sudo yum install vsftpd
开启ftp服务:
service vsftpd start
看下是否启动成功:
sudo netstat -nltp | grep 21
root账户才能看到所有信息,要么切换到root,要么加sudo。
看到服务已经成功启动。
方式一、使用FileZilla(免费)
下载安装FileZilla,打开
输入Linux的ip、要登录的用户名、密码,使用ftp就选择21端口,使用sftp就使用22端口。
左边是windows的目录,右边是linux目录,可以选择文件|目录,右键传输,也可以直接鼠标拖到目标文件夹里。
方式二、使用FlashFXP(收费)
有30天免费试用期。下载安装打开
同样的,左边是windows目录,右边是linux目录,可以右键传输,也可以直接拖。
方式三、使用PSFTP(免费)
安装PuTTY时自动安装了PSFTP,当然也可以单独下载安装
可以双击打开PSFTP,但双击太没有逼格,我们使用命令行来操作。
命令行输入psftp启动psftp。
连接到Linux:
open 192.168.1.7
根据提示输入用户名、密码:
Windows向Linux传文件:
put D:\jdk-8u241-linux-x64.rpm /root/jdk-8u241-linux-x64.rpm
put 本地文件路径 目标文件路径。
注意windows的文件路径用\,Linux的文件路径用/。
如果传的是文件夹,加参数-r表示递归:
put -r D:\tomcat1 /root/tomcat1
如果目标路径只写文件|目录名,比如 put D:\jdk-8u241-linux-x64.rpm jdk-8u241-linux-x64.rpm,默认传到你登录用户的根目录下。
可以缺省目标文件|目录的路径,缺省时默认传到登录用户的根目录下,文件|目录名就使用源文件|目录的。
下载Linux上的文件到Windows:
get /root/jdk-8u241-linux-x64.rpm C:\Users\chy\Desktop\jdk-8u241-linux-x64.rpm
get -r /root/tomcat1 C:\Users\chy\Desktop\tomcat1
注意点都一样,Windows的路径用\,Linux的路径用/,文件夹加-r。
关闭连接:
close
退出程序:
quit
此外还提供了一系列命令来操作Linux上的文件、目录,比如新建、剪切、删除、修改权限等,输入help查看命令介绍:
四、使用Windows自带的ftp程序
命令行输入ftp即可启动ftp,和psftp的操作完全一样,唯一区别是psftp使用的是sftp协议(安全),ftp使用ftp协议(不安全)。
说明
- 都只能看到、操作登录到的那个账户的目录
- ftp使用明文传输,用户名、密码、文件内容都是明文传输,很不安全;sftp的数据都是加密传输