如何更好的使用命令行

一起来抛弃上下左右键

Posted by ChengTao on April 26, 2019

这是一篇纯翻译的文章,旨在让更多的人更好使用命令行。

原文章地址:The Best Keyboard Shortcuts for Bash (aka the Linux and macOS Terminal)

系统环境说明

  • macOs Mojave 10.14.4
  • iTerm2

Mac 系统中的 Alt 键设置

  • 自带终端 : Command+, -> 描述文件 -> 键盘 -> 启用 将 Option 键作为 Meta 键
  • iTerm2 : Command+, -> Profiles -> Key -> Left ⌥ Key 选择 Esc+Right ⌥ Key 选择 Esc+

操作进程

  • Ctrl+C : 中断(杀死)当前运行在终端的前台进程。它会发送一个 SIGINT 信号给当前程序,严格意义上说它只是一个请求,绝大多数程序会处理它,当然也存在一些程序忽略它。【已测试可以使用】
  • Ctrl+Z : 暂停当前运行在终端的前台进程。它会发送一个 SIGTSTP 信号给当前进程,使用 fg process_name 恢复当前进程。【已测试可以使用】
    • 举例:运行命令 ping www.baidu.com, 当按下 Ctrl + Z 后,程序会暂停,如果想恢复程序的话,再输入 fg ping 就可以将程序恢复。
  • Ctrl+D : 关闭当前终端。它会发送一个 EOF(End-of-file) 标记给终端,终端收到标记后将会退出。这和 exit 命令很相似。【已测试可以使用】

控制屏幕

  • Ctrl+L : 清空屏幕。这和 clear 命令跟相似。【已测试可以使用】
  • Ctrl+S : 停止所有输出到屏幕。当你不希望使用 Ctrl+C 去停止一个有特别多特别冗长输出的程序时,这将是特别有用的。【已测试可以使用】
  • Ctrl+Q : 恢复使用 Ctrl+S 停止在屏幕的输出。【已测试可以使用】

游标移动

  • Ctrl+A : 将游标移动到起始位置。【已测试可以使用】
  • Ctrl+E : 将游标移动到结束位置。【已测试可以使用】
  • Alt+B : 将游标移动到前一个单词的起始位置(如果当前游标不在单词的尾部,则将游标移动到当前单词的起始位置)。【已测试可以使用】
  • Ctrl+B : 将游标向前移动一个字符。【已测试可以使用】
  • Alt+F : 将游标移动到后一个单词的起始位置。【已测试可以使用】
  • Ctrl+F : 将游标向后移动一个字符。【已测试可以使用】
  • Ctrl+XX : 将游标在当前位置和起始位置之间移动。这将允许你按 Ctrl+XX 回到起始位置,然后你就可以在起始位置做出一些修改,然后当你再按 Ctrl+XX 后,游标将回到最原始的游标的位置。使用这个快捷键你需要按住 Ctrl 键然后连续按两次 X 键。【已测试可以使用】

文本删除

  • Ctrl+D : 删除当前游标下的一个字符。【已测试可以使用】
  • Alt+D : 删除当前游标所在单词后面的所有字符。【已测试可以使用】
  • Ctrl+H : 删除当前游标前的一个字符。【已测试可以使用】

排版修复

  • Alt+T : 交换将当前游标下的单词和前一个单词。【已测试可以使用】
  • Ctrl+T : 交换将当前游标下的字符和前一个字符。【在我的电脑不可用】
  • Ctrl+- : 撤回上一个按键操作,并且可以多次执行。【已测试可以使用】
    • 举例:输入 cd, 然后按 Ctrl+-, 就会变成 c, 再按一下 Ctrl+-, cd 就没有了。

剪贴和复制

  • Ctrl+W : 剪切在当前游标前的单词,并将剪切的内容添加到剪切板。【已测试可以使用】
  • Ctrl+K : 剪切在当前游标后的所有字符,并将剪切的内容添加到剪切板。【在我的电脑不可用】
  • Ctrl+U : 剪切在当前游标前的所有字符,并将剪切的内容添加到剪切板。【已测试可以使用】
  • Ctrl+Y : 从剪切板粘贴最后剪切的内容。【已测试可以使用】

大写字符

  • Alt+U : 大写从当前游标所在位置到当前游标所在单词的最后位置的所有字符。【已测试可以使用】
  • Alt+L : 小写从当前游标所在位置到当前游标所在单词的最后位置的所有字符。【在我的电脑不可用】
  • Alt+C : 大写从当前游标下的字符,并将游标移到当前单词的末尾。【在我的电脑不可用】

命令行历史

  • Ctl+P : 从命令历史中回到前一个命令,多次执行将会遍历命令历史,相当于执行了 Up 键。【已测试可以使用】
  • Ctl+N : 从命令历史中回到下一个命令,多次执行将会遍历命令历史,相当于执行了 Down 键。【已测试可以使用】
  • Ctl+R : 恢复命令如果你是从命令历史中拉去的命令并且修改过该命令。【在我的电脑不可用】

最后,希望这篇博客可以帮助大家更好地使用命令行。