Linux控制序列技巧

在Linux系统上有很多可用的控制序列——甚至可能有些您从未使用过。

本·帕特森/ IDG

在Linux系统上有相当多的可用的控制序列——许多是我经常使用的,还有一些是我最近才发现的——它们可能非常有用。在今天的帖子中,我们将快速浏览其中的一系列,并看看它们的作用以及如何发挥作用。

首先,除非您是全新的命令行,否则您无疑熟悉ctrl - c用于终止正在运行的命令的序列。在印刷品中,同样的序列可以表示为c ^control - c有时“c”会大写,但表达式总是表示“按住control键并按下指定的键——不涉及shift键或连字符。”

ctrl - d序列关闭终端窗口或终端行输入。

$ cat >文件yadda yadda yadda yadda
^d <== ctrl-d类型$ cat文件yadda yadda yadda yadda

你可能从未尝试过ctrl-u。这个控制序列和它的“犯罪伙伴”ctrl-y以一种有趣的方式一起工作。的ctrl-usequence将从命令行中删除刚才键入的文本,并将其放入剪贴板中ctrl-y在回来。所以,当你刚输入复杂的命令,但尚未返回,然后意识到你需要运行其他命令,你可以保存命令类型的,照顾你需要运行的任何其他命令,然后把命令你救了拉回的地方。

$ gensched 07-2018 IT摘要^你<==键入的行将消失$ update cal 07-2018 <==运行一些其他命令$ schedCheck $^ y<==“gensched 07-2018 IT摘要”再次出现

ctrl sctrl-q序列也有一个工作关系。在哪里ctrl s冻结你的屏幕,ctrl-q允许显示器继续滚动。

$ bin/loop sleeping sleeping^年代<==移动停止并等待^问睡觉睡觉

ctrl - zsequence挂起当前进程。你可以把它带回到生活成品(前台)命令或在后台运行挂起的进程bg命令。如果您想要停止进程,那么您必须列出您的后台进程工作命令和使用杀了(例如,杀了% 1)。不要忘记按作业编号而不是其PID指定进程的%。

$ bin/loop sleeping ^Z [1]+ stop bin/loop $ bg [1]+ bin/loop + $ sleeping jobs [1]+ Running bin/loop + $ sleeping $ kill %1

ctrl-h,ctrl-wctrl-u序列(即擦掉。,back over) the last letter you just typed, the last word that you just typed, or the entire line.

ctrl - actrl-e将光标移动到刚刚键入的文本的开头或结尾。

ctrl-rsequence允许您轻松地重新运行最近输入的命令。类型ctrl-r然后是要重新运行的命令的开头。命令运行将是最近一次以您输入的字母开头的运行。

控制序列可以很方便,如果你能保持他们的直线。这里是一个快速纲要的控制序列刚刚谈到:

ctrl-c中断正在运行的程序
ctrl - d
发送一个EOF(文件结束)来关闭终端ctrl-z暂停正在运行的程序ctrl-s冻结屏幕,停止显示ctrl-q融化出屏幕,让屏幕显示继续ctrl-h删除最后一个字符类型ctrl-w删除最后一个单词输入ctrl-u删除最后一行输入ctrl-r检索以前运行的命令,这样你就可以从命令行运行一遍ctrl-u删除文本并将其放入ctrl - y剪贴板抓住文本剪贴板,并运行它ctrl - l清除屏幕
ctrl - a
将光标移到行首
ctrl-e
将光标移动到行尾

您可以使用这样的命令来控制行为不符合预期的控制序列,该命令重申ctrl-h作为擦除序列。

stty擦掉\ ^ h

请注意,stty——命令将列出您的控制序列:

$ stty - | grep eof
intr = ^ C;辞职= ^ \;擦= ^ H;杀死= ^ U;eof = ^ D;eol = < undef >;

更多的stty此命令可在利用你的优势

使用控制序列的唯一困难的部分是记住哪个是做什么的。对一些人来说,字母表示控制序列功能。为别人…嗯,没有那么多。但它们都非常有用。

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。
相关:

版权©2018Raybet2

工资调查:结果在