近期在工作中发现,许多同事,尤其是我们的PHP开发者,基本不会用Linux/Unix下的快捷方式,严重影响工作效率,所以特撰写此文,每个用法后我会详细注释。
下述所有命令在Linux/Unix的shell下有效,这里以bash为主。如有出入,以你自己的服务器为准。本文所指的Linux主要指RHEL/CentOS,Unix指的是FreeBSD,这也是Unix服务器中用得最多的版本。
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 + d 退出shell,logout
Ctrl + z 转入后台运行
不过,由Ctrl + z转入后台运行的进程在当前用户退出后就会终止,所以用这个不如用nohup命令&,因为nohup命令的作用就是用户退出之后进程仍然继续运行,而现在许多脚本和命令都要求在root退出时仍然有效。
下面再被充下大家不是太熟悉,我用得比较多的操作方式:
!! 重复执行最后一条命令
history 显示你所有执行过的编号+历史命令。这个可以配合!编辑来执行某某命令
↑(Ctrl+p) 显示上一条命令
↓(Ctrl+n) 显示下一条命令
!$ 显示系统最近的一条参数
最后这个比较有用,比如我先用cat /etc/sysconfig/network-scripts/ifconfig-eth0,然后我想用vim编辑。一般的做法是先用↑ 显示最后一条命令,然后用Home移动到命令最前,删除cat,然后再输入vim命令。其实完全可以用vim !$来代替。
开发和管理员的话,掌握以上用法后,基本上工作就很有效率了;用到最后,你会不经意发现,弹指之间,许多复杂的指令你会很轻松的搞定。
作者:Andrew.Yu(抚琴煮酒)