环境:Ubuntu 18.04
研究原因:https://www.cnblogs.com/sjsea/p/13126996.html
1.SCP
# 上传 scp /home/sea/Desktop/test.sh sea@192.168.1.31:/home/sea/Desktop/test.sh # 下载 scp sea@192.168.1.31:/home/sea/Desktop/test.sh /home/sea/Desktop/test.sh
文件的内容并不会发生任何变化,只变化了修改时间。
2.FTP
ftp 192.168.1.31 # 下载 ftp> get /home/sea/Desktop/test.sh /home/sea/Desktop/test.sh # 上传 ftp> put /home/sea/Desktop/test.sh /home/sea/Desktop/test.sh
下载的时候没有问题,文件内容也没有变化。
但是在上传的时候报错了:553 Could not create file。查了一下大概是操作权限问题,我懒得去试了,盲猜没有问题(不严谨的做法)。
3.SFTP
sftp sea@192.168.1.31
# 下载 sftp> get /home/sea/Desktop/test.sh /home/sea/Desktop/test.sh # 上传 sftp> put /home/sea/Desktop/test.sh /home/sea/Desktop/test.sh
结果就是不管是上传还是下载,文件内容确实变没了。
没想到这么快就找到了真凶,我还想测试paramiko和fabric的(虽然这两个底层还是SFTP)。
4.paramiko 和 fabric
不测了,肯定是SFTP的原因。
总结:
比较了SCP、FTP、SFTP对自己进行文件的上传和下载,SCP与FTP都没什么问题,就正常的对文件进行覆盖,但是SFTP会将自己的文件内容变为空,不知道为什么,希望有空研究一下。