加入带有 cat 混淆的文件

Emm*_*maV 2 cat

如果我执行以下命令:

$ cat picture.jpg > copy1.jpg
Run Code Online (Sandbox Code Playgroud)

$ cat -v picture.jpg > copy2.jpg
Run Code Online (Sandbox Code Playgroud)

copy1.jpg是 的完美副本picture.jpg,但copy2.jpgpicture.jpg.

我认为这是因为copy2.jpg已经将猫认为的每个行尾都替换为 a ^M,并且每个^M都比行尾大。这样对吗?

如果那样做cat copy2.jpg,我发现没有^Min 的实例copy2.jpg

这里发生了什么?如果 cat>的输出可能与其输入不同,那么可以依靠 cat 完美地使用 连接文件吗?

Mar*_*ark 5

这不仅仅是^M. 每个带有不可打印字符的字节(无论在当前语言环境中意味着什么)都将在cat -v.

如果您使用cat连接文件,则需要避免修改输出的每个选项:-b-n(数字行)、-E(标记行结尾为$)、-s(抑制重复的空行)-v-T(使用可打印的显示不可打印的字符)人物)。