近期在工作中发现经常性的使用一些重复性命令,经常性的修改一些长明令,感觉有必要科普一下 Shell 命令行的一些常见快捷键了,以便大家节省时间提高工作效率。
  下述所有命令在 Linux/unix 的 shell 下有效,这里以 bash 为主。如有出入,以你自己的服务器为准。本文所指的 Linux 主要指 RHEL/CentOS,unix 指的是 FreeBSD,这也是服务器中用得最多的版本。
Ctrl + a
切换到命令行开始
这个操作跟 Home 实现的结果一样的,但 Home 在某些 unix 环境下无法使用,便可以使用这个组合;在 Linux 下的 vim,这个也是有效的;另外,在 windows 的许多文件编辑器里,这个也是有效的。
Ctrl + e
切换到命令行末尾
这个操作跟 END 实现的结果一样的,但 End 键在某些 unix 环境下无法使用,便可以使用这个组合;在 Linux 下的 vim,这个也是有效的;另外,在 windows 的许多文件编辑器里,这个也是有效的。
Ctrl + l
清除屏幕内容
效果等同于 clear
Ctrl + u
清除剪切光标之前的内容
这个命令很有用,在 nslookup 里也是有效的。我有时看见同事一个字一个字的删除 shell 命令,十分崩溃!其实完全可以用一个 Ctrl + u 搞定。
Ctrl + k
剪切清除光标之后的内容
Ctrl + y
粘贴刚才所删除的字符
此命令比较强悍,删除的字符有可能是几个字符串,但极有可能是一行命令。
Ctrl + r
在历史命令中查找
输入关键字就调出以前的命令了,强烈推荐,有时 history 比较多时,想找一个比较复杂的,直接在这里,shell 会自动查找并调用,方便极了。
Ctrl + c
终止命令
Ctrl + z
转入后台运行
不过,由 Ctrl + z 转入后台运行的进程在当前用户退出后就会终止,所以用这个不如用 nohup 命令&,因为 nohup 命令的作用就是用户退出之后进程仍然继续运行,而现在许多脚本和命令都要求在 root 退出时仍然有效。
Ctrl + d
退出 shell,logout
下面再补充些大家不太熟悉,但我个人用得比较多的操作方式。
!! 重复执行最后一条命令
history 显示你所有执行过的编号+历史命令。这个可以配合!编辑来执行某某命令
↑(Ctrl+p) 显示上一条命令
↓(Ctrl+n) 显示下一条命令
!$ 显示系统最近的一条参数
最后这个比较有用,比如我先用 cat /etc/sysconfig/iptables,然后我想用 vim 编辑。一般的做法是先用↑ 显示最后一条命令,然后用 Home 移动到命令最前,删除 cat,然后再输入 vim 命令。其实完全可以用 vim !$ 来代替。
还不知道用这些 Linux 快捷键吗?
标签: