Linux命令行使用技巧

时间:2021-05-11 17:43:11
想起听得最多的就是 *nux 的初学者说最烦就是Linux/Unix 的命令行,所以就有了本文。其实,命令行适应了,可能比图形界面更有效率。至少对我来说是这样,我现在一看见那些所谓的 IDE 就有眼花缭乱感觉,真正用来写代码的面积都被挤到只有一包烟那么大了,呵呵。有时为找个选项花很长时间找对话框,也很痛苦吧。

  为什么那么多人害怕命令行呢?

  我想最大的问题就是很多人觉得命令行的输入和编辑都很“慢”,很低效,另外需要记忆的东西也特别多。但是对于 Linux / Unix 这类从内核得到整体架构,再到哪怕是最小的一个应用小软件都以文本来支撑的系统,没有娴熟的命令行技巧确实是玩不转的。希望本文能对你提高命令行使用效率 有帮助。

  但是由于 Linux / Unix 的发行版实在是太多,Shell 的主流版本也有好几个,所以,本文所说的内容,可能和你的系统有出入,但是思想是一样的,在你自己的平台上摸索一下,你也会找到你的平台太下编辑命令行的技巧和规律。

  另外,Shell 的很多快捷键和 VIM, Emacs 的快捷键是相通的,所以,熟练使用 Shell 快捷键,对适应 *nux 下的其他软件有很好的启示作用。

  命令行的技巧除了本文提到的,还有很多,你可以自己慢慢积累,收集和体会。当然如果你经常需要输入很繁琐的命令,那么建议你自己写 Shell 脚本,定义 function, alias 等技巧来实现。下面本文介绍几个常用技巧,熟悉这些技巧后,您在使用命令行时就会变得得心应手。

1. 自动补齐:[Tab]

这个技巧很多人都应该会了,就是当输入命令,目录或者是文件名的时候按 [Tab] 键。系统就会帮你补齐可能要输入的东西,如果有多个选择系统会列表出来。你可以看清楚之后再多输入一个或多个 charactor ,再按[Tab]。

  $ ec
按[Tab], 补齐为:

      $ echo

2. 查找和执行历史命令:[Ctrl + r], [Ctrl + p], [Ctrl + n]

在终端中按住“ Ctrl“ 键的同时“r”键,出现提示:(reverse-i-search), 此时你尝试一下输入你以前输入过的命令,当你每输入一个字符的时候,终端都会滚动显示你的历史命令。当显示到你想找的合适的历史命令的时候,直接 [Enter],就执行了历史命令。

  另外, [Ctrl + p] 或 [Ctrl + n] 快速向前或向后滚动查找一个历史命令,对于快速提取刚刚执行过不久的命令很有用。

  实验:

$ echo "hello, world" [Enter]
$ hello, world

  [Ctrl + r ] (接着输入 echo)

(reverse-i-search)`ch': echo "hello,world" [Enter]
$hello,world

3. 取消本次命令输入:[Ctrl + c]

这个快捷键可以使你从一个可能你已经厌烦了的命令中安全地退出!!也许是个不值一提的小技巧,但是经验告诉我它很有用。很多Unix 初学者会习惯性地按 [Enter] 以摆脱困境,但是说不定就会发生灾难性的事件,譬如删除了一个重要的配置文件.

4. 光标跳转快捷键

有时候我们输入的命令行可能会非常长,用方向键移动起来非常费劲,这是我们可以考虑如下快捷键。为了方便大家记忆,加点英语助记语在后面 Linux命令行使用技巧
[Ctrl + a] 跳转至命令行首 Ahead of line
[Ctrl + e] 跳转至命令行尾 End of line
[Ctrl + f] 向前跳转一个字符 jump Forward one character
[Ctrl + b] 向后跳转一个字符 jump Backward one character
[Alt + f] 向前跳转到下一个字的第一个字符
[Alt + b] 向后跳转到下一个字的第一个字符

5. 编辑命令的快捷键

同样的,用退格键或者delete键删除多个字符时多么痛苦的事情,因此有了如下快捷键。

[Ctrl + w] 向后删除一个字,用来对付刚刚输入的错误字很有用
[Ctrl + u] 从光标当前位置删除所有字符至行首
[Ctrl + k] 从光标当前位置删除所有字符至行尾
[Ctrl + d] 删除光标当前位置的字符
[Ctrl + y] 粘贴最后一个被删除的字
[Alt + d] 删除从光标当前位置,到当前字的结尾字符

相信,大家学会上面介绍的快捷键的使用后,能够更加有效率的使用Linux的命令行了。最后祝大家工作快乐!

本文转自 原文出处