Unix 上的“^+CHAR”命令(例如,^C 停止当前命令)有什么作用?
what do "^+CHAR" commands on Unix (^C stops the current command, for example) do?
例如,当我 运行 类似 nc localhost 8000
然后我按 ctrl+C 时,它会写入“^C”并停止连接。这些“^ 命令”是如何调用的?我在哪里可以找到其他 ctrl+CHAR(或 ^+CHAR)的功能?
这些不是命令而是控制字符。它们和其他字符一样都是字符,但在某些情况下具有特殊含义。例如,当使用命令行界面(终端中的shell)时,每个类型的字符都会通过一个特殊的软件来捕获一些字符并将它们与一些功能相关联。您必须知道所有这些都可以 modified/parametrized 但通常您可以使用:
- ^S/^Q控制流量
- ^C杀掉当前进程
- ^D终止输入流
- ^Z 暂停当前进程
- ^H 擦除最后一个字符(同样有 backspace)
- ^U 擦除整个当前行
此列表并不详尽...请注意,其他一些字符可能在您使用的软件中有意义;我的意思是甚至 shell 本身也可以将某些功能关联到某些字符。
尝试 stty -a
观察激活的内容以及与哪个功能关联的字符(如果需要)是什么。然后阅读有关此命令的手册和一本有关 POSIX 终端的书(我以前讲过的一个软件的名称)。另请阅读 shell 的手册。
例如,当我 运行 类似 nc localhost 8000
然后我按 ctrl+C 时,它会写入“^C”并停止连接。这些“^ 命令”是如何调用的?我在哪里可以找到其他 ctrl+CHAR(或 ^+CHAR)的功能?
这些不是命令而是控制字符。它们和其他字符一样都是字符,但在某些情况下具有特殊含义。例如,当使用命令行界面(终端中的shell)时,每个类型的字符都会通过一个特殊的软件来捕获一些字符并将它们与一些功能相关联。您必须知道所有这些都可以 modified/parametrized 但通常您可以使用:
- ^S/^Q控制流量
- ^C杀掉当前进程
- ^D终止输入流
- ^Z 暂停当前进程
- ^H 擦除最后一个字符(同样有 backspace)
- ^U 擦除整个当前行
此列表并不详尽...请注意,其他一些字符可能在您使用的软件中有意义;我的意思是甚至 shell 本身也可以将某些功能关联到某些字符。
尝试 stty -a
观察激活的内容以及与哪个功能关联的字符(如果需要)是什么。然后阅读有关此命令的手册和一本有关 POSIX 终端的书(我以前讲过的一个软件的名称)。另请阅读 shell 的手册。