在传一个文件到服务器的时候,第一次传完看见大小不一样(服务器中du命令查看大小796596MB)就重传了一下,还是大小不一样,就查了下。

查了下有以下原因:
  
-  文件系统的不同: - 原因:不同的文件系统可能会对文件大小的计算方式不同,尤其是在处理文件系统块大小和压缩文件头时。
- 解决方法:检查本地和服务器上的文件系统类型以及它们的块大小。
 
-  上传过程中数据压缩: - 原因:某些上传工具或协议(如 FTP 或 SFTP)可能会对数据进行压缩。
- 解决方法:检查上传工具的设置,确保没有启用额外的压缩。
 
-  传输过程中数据丢失或损坏: - 原因:在传输过程中可能发生数据丢失或损坏。
- 解决方法:尝试使用 md5或sha256校验和来验证文件完整性。
 示例校验和生成和验证: # 在本地生成校验和 md5sum yourfile.zip > yourfile.zip.md5# 在服务器上验证校验和 md5sum -c yourfile.zip.md5
-  服务器上的存储空间不足: - 原因:如果服务器上的存储空间不足,文件可能会被截断。
- 解决方法:检查服务器上的存储空间,确保有足够的空间存放文件。
 
-  上传工具的错误: - 原因:某些上传工具可能存在问题,导致文件上传不完整。
- 解决方法:尝试使用不同的上传工具或方法。
 
-  权限和限制: - 原因:服务器上的权限设置或文件大小限制可能会导致文件上传不完整。
- 解决方法:检查服务器上的权限和文件大小限制。
 
感觉应该是因为ftp协议额外压缩了文件,因此用md5进行校验
在macos上打开终端
md5 Downloads/models--bert-base-uncased.zip 
得到
MD5 (Downloads/models--bert-base-uncased.zip) = 1dcd3bd5884bcc1fce2951bf7c90927再在服务器上使用md5sum,同样得到1dcd3bd5884bcc1fce2951bf7c909275,文件解压也没有问题,因此就是在上传过程中进行了一次额外的压缩。
问题解决