本文共 1060 字,大约阅读时间需要 3 分钟。
最近在学习Linux,转载一些必要有用的文章。本文章非原创,但做了部分修改,丰富了原文的内容(斜体部分是添加的内容)。
工作以来都在接触Linux和Unix系统,所以对这两类系统用的多,也比较熟悉。渐渐的,Shell中的快捷键也运用自如,一次朋友看到我快捷的操作shell命令,很好奇的建议,什么时候教教他这些快捷方式。特撰写此文,来提高大家的工作效率和保护你们的键盘。
下述所有命令在Linux/unix的shell下有效,这里以bash为主。如有出入,以你自己的操作系统为准。 开始描述之前,先问几个常见的问题。 例如你在终端中输入了下面的这个find命令: 是不是遇到过需要将光标移动到最前面? 是不是遇到过移到最前面后,又要移动到最后面(例如添加 | xargs rm -f )? 是不是遇到过删除一部分命令,例如删除searchme? 是不是在输出太多时,想清屏幕? 是不是想找到昨天输入的一条很长的命令? 如果你遇到过其中的一条或者两条问题,那么请往下看吧。你绝对没有浪费你的5分钟,来读下面的解释。 Ctrl + a 可以快速切换到命令行开始处 ,也即将光标移动到行首 Ctrl + e 切换到命令行末尾 ,也即将光标移动到行尾 Ctrl + r 在历史命令中查找 ,会出现搜索提示,通过用户输入的关键字匹配历史命令(reverse-i-search)`show-list': ./iomadm -o show-list -i 123Ctrl + u 删除光标所在位置之前的所有字符
Ctrl + k 删除光标所在位置之后的所有字符
Ctrl + w 删除光标所指的一个单词(从光标到单词的开头),无论光标所在何处,将删除相关单词
Ctrl + x —— 连续按两下的话,光标在首尾交替
Ctrl + y 粘贴刚才所删除的字符
Ctrl + l 清屏,功能与clear相同
Ctrl + c 终止命令(懂的人都知道,其实是发送SIGINT)信号到进程 ,或者丢弃上一行所有的内容,重新开始下一行 Ctrl + d 结束当前输入、退出shell Ctrl + z 转入后台运行 少见的技巧: !! 执行上一条执行过的命令 !$ 显示系统最近的一条命令的参数 最后这个比较有用,比如我先用cat /etc/mysql/my.cnf,然后我想用vi编辑。一般的做法是先用↑ 显示最后一条命令,然后用Ctrl + a 移动到命令最前,删除cat,然后再输入vi命令。 利用了上面的命令后,可以用vi !$来代替