为什么可执行文件称为“文本文件”?

eew*_*nco 2 executable history assembly

在今天更新软件的过程中,我收到错误“文本文件繁忙”,这让我想知道:为什么 Unix(或 Linux)可执行文件被称为“文本”文件,而这看起来如此违反直觉和令人困惑?这背后的历史是什么?我猜可能与汇编程序的“文本”部分有关,但为什么将称为“文本”?

Chr*_*own 5

在现代,它主要只是 POSIX: 中用于该错误的错误符号的人工制品ETXTBSY,它strerror映射到“文本文件繁忙”。

基于对SO 的这个答案,可以推断“文本部分”来自“二进制文本”的旧用法。然而,ETXTBSY不仅为二进制程序返回,它还可以为诸如活动交换文件(尽管我的在线交换重新配置补丁集即将到来,这将改变这一点)和其他内核不允许在以下情况下发生突变的状态返回当前时间。

基于此,我不完全确定TXTinETXTBSY真的与文本部分有很大关系。我怀疑这更多是因为“文本”可能比“文件”更容易明确地缩短为错误名称,尽管我没有找到任何证据。