三大平台下的文件MD5校验和FTP传输教程

遇坑填坑之旅:使用FTP工具在不同的平台之间传输文件时,用错传输类型将导致文件损坏

我在Windows10用Xftp工具发送RPM软件包到CentOS后遇到过2次传输问题----执行yum安装命令时才发现RPM包是损坏的; 于是我慢慢养成一个习惯:凡是跨平台传输了安装包一类的文件,都用命令去校验源文件和传输后的文件MD5是否一致.

一. 若你的目标文件是test.txt,三大主流平台下的MD5校验命令:

Linux:

md5sum test.txt

Windows:

certutil -hashfile test.txt MD5

MacOS:

md5 test.txt

二. 另外记录一下在Linux系统使用ftp命令来推送文件:

举例:从CentOS7发送一个RPM包到远程服务器的操作流程:


1.传输的是非文本类型,如安装包、压缩包等等,必须指定binary[二进制]类型进行传输:

例如有个文件是CentOS系统上的QQ RPM安装包:
linuxqq.rpm

操作过程如下:

//发起请求ftp连接请求
ftp www.target.com

//接着按顺序输入用户名和密码
root
123456

//因为目标文件是RPM格式,必须指定二进制类型传输,否则会乱码无法安装
binary

//先定位到本地的家目录,因为linuxqq.rpm就放在那
lcd ~

//然后打开远程服务器的一个目录,本次我要把文件推送到home目录下
cd /home

//推送文件
put linuxqq.rpm

//检查一下远程服务器的目录下是否多出了目标文件
dir

//关闭ftp通道
close

//退出ftp模式
bye

2.传输的是文本类型,请指定ascii类型进行传输:

又例如在你的CentOS系统上有个python项目,你想把里面的依赖包描述文件(requirements.txt)发送到其他机器:

操作过程如下:

//发起请求ftp连接请求
ftp www.target.com

//按顺序输入用户名和密码
root
123456

//因为目标文件是文本格式,指定用ASCII类型来推送
ascii

//先定位到本地的项目根目录,如/home/PlaneWars/
lcd /home/PlaneWars/

//然后打开远程服务器的一个目录,本次我要把文件推送到home目录下
cd /home

//推送文件
put requirements.txt

//检查一下远程服务器的目录下是否多出了目标文件
dir

//关闭ftp通道
close

//退出ftp模式
bye
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章