scp - SCP 中的默认文件传输模式

标签 scp

我想知道使用 SCP 传输文件时使用的默认模式是什么(ASCII 或二进制,如 FTP)。

SCP 中是否有任何文件模式概念?它是如何工作的 ?

最佳答案

FTP中的文件传输方式用于解决不同操作系统行尾不同的问题。这个想法是,如果将文本文件从 Unix 机器传输到 Windows 机器,则行尾必须固定,这意味着 LF 必须在文件中的任何地方替换为 CR LF。向另一个方向传输文件时必须执行相反的操作。

但是,如果您正在传输二进制文件,您希望保持文件原样,因为二进制文件中的任何 LF 实际上都不是行尾。因此,FTP 引入了 ASCII 模式和二进制模式。

这仍然是一个有问题的解决方案,特别是因为默认模式是 ASCII 模式,所以如果你忘记切换模式,你可能会破坏你的二进制文件,它们将无法工作。不同的模式被认为会造成比它们解决的问题更多的麻烦。

因此,SCP 根本不提供此功能,并且始终将文件保留原样。用户可以使用 dos2unix 之类的工具来修复行尾。和 unix2dos .

本质上,所有文件都以“二进制”模式传输,这意味着行尾永远不会改变。

关于scp - SCP 中的默认文件传输模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8738363/

相关文章:

kubernetes - SCP没有提供此类文件或目录

java - mtime.sec 不存在

file - SCP 复制错误 : Not a directory

linux - 通过VPN复制文件期间SCP停顿的问题

macos - 是否可以使用SSH复制文件的一部分?

linux - 无论如何,是否可以使用 Hudson 将 .war 或 .jar 从一台服务器传输到另一台服务器?

ssh - 使用 pscp 命令时获取 "Command not found"

go - 我从客户端机器上使用 Go 运行 scp -i ssh "<filepath of remote linux machine> . ",但它返回 "no such file or directory"

bash scp 没有那个文件或目录

ruby - net::scp 复制/覆盖文件夹