我知道如何挂载在 /dev 中具有相应设备文件的驱动器,但我不知道如何为不代表物理设备且在 /dev 中没有类似物的磁盘映像执行此操作(例如ISO 文件或软盘映像)。我知道我可以在 Mac OS X 中通过双击 Finder 中的磁盘映像图标来执行此操作,这将自动安装驱动器,但我希望能够从终端执行此操作。我不确定是否有通用的 Unix 方式来执行此操作,或者这是否是特定于平台的。
我知道 EOT 是 ASCII 码 4,而 EOF 被编码为 -1(至少在 C 中)。在我发现 EOF 映射到 -1 之前,我认为它只是 EOT 的同义词。为什么 EOF 映射到 -1 而不是 EOT?据我所知,它们都做同样的事情,即终止文件流。我能辨别的唯一区别是 EOT 还会终止 bash shell 中的命令。我想描述一下这两个代码之间的精确技术差异。
我的理解是,为了阻止像 那样的进程信号SIGHUP
,您需要在信号被发送到的进程内执行此操作。然而,像 Unix shell 这样的bash
可以产生子进程并HUP
使用nohup
命令从父进程中阻止子进程的信号。这是如何运作的?是否nohup
阻塞信号然后在不分叉的情况下执行子进程?这是我能想到的唯一方法。
我的意思是,与仅仅链接到单个模块/目标文件相反。为什么要一起归档模块组?它不是使可执行文件 1. 更大,2. 不那么安全(即更容易受到面向返回的编程攻击)吗?
我的理解是,所有这些终端仿真器都从 VT100 标准派生出 ASCII 控制代码行为和 ANSI 转义序列。我还了解到,有一个基于 VT100 或 VT102 的终端行为 ANSI 标准。我的这种理解正确吗?另外,VT100 还衍生出了哪些其他功能或行为?