如果我cat
正确理解手册:
连接文件并在标准输出上打印
cat
将文件作为参数并将其打印在标准输出上。
我没有得到的是如果使用以下命令:
cat img.png > copy.png
我将获得2个相同的png文件,如果我只是
cat img.png
我很有可能会弄乱我的终端并误解我键入的内容。
- 那怎么可能
- 二进制值仍然是二进制数据。为什么它不能简单地显示一系列0和1或这些二进制数据的ASCII解释或终端中的编码是什么?
- 是否可以通过
cat
打开包含奇怪字符的文本文件来实现此行为? - 是否应该实现一种防止这种行为的机制,例如try {} catch {}语句?
2
您的终端不会混乱。它处于您通过发送控制字符来强制进入的状态。更改状态后不能再使用它可能不是您想要的,但这完全是您不了解操作后果的结果。这与在字处理器中将字体颜色切换为绿色,并说您的字处理器被弄乱一样,只是因为您不知道如何在不退出程序的情况下将其切换回黑色字体。
—
Anthon 2014年
一个
—
Ouki 2014年
reset
命令有时可能会有所帮助,但是这是没有灵丹妙药。
要键入的实际顺序是Control-J重置Control-J。几乎总是恢复理智。
—
2015年
@Joshua那么lone
—
语法错误
reset
和reset
Ctrl-J按键之间有什么区别?我看不到任何内容(也没有任何理由采取更复杂的方式)
因为如果终端处于RAW模式,Enter会生成Ctrl-M而不是Ctrl-J,因此外壳看不到结束行并运行命令所必需的击键。
—
2015年