栏目分类
系统管理 | 安装启动 | xwindow | 基础知识 | 存储备份 | 内核技术 | 桌面应用 | 设备驱动 | Linux汉化 | 系统管理 | PAM认证 | drivers | rpm | quota | 灾难恢复
Linux数据库 | oracle | 数据库理论 | MYSQL | PostGreSQL
网络管理 | ssh | ntp | nis技术 | 多媒体 | dhcp | 网络基础 | ldap | 美化汉化 | proxy | samba | bind | iptables | 集群 | nfs | cvs | ftp服务 | email | 网络配置 | 网络安全 | apache | vpn | 网络管理 | Linux服务器 | Linux安全 | subversion | 网络监控
编辑工具 | emacs | vi | eclipse
linux新手入门 | 指令大全 | 输入法类 | Linux安装 | 常用命令 | 软件使用
发行版 | 其它Unix | bsd | Gentoo/lFS | windows | solaris | IBM | debian
其他 | 非技术类 | 业界动态 | 小说笑话 | 杂项工具 | 速度优化 | Linux认证 | 资讯动态 | 办公自动化 | xml | vc | 学习方法 | 手机技巧
Linux编程 | shell | python | 编程技术 | kernel | C/C++编程 | Python编程 | Perl编程 | PHP编程 | discuz | java/jsp | zope | html技术
排行榜
·linux一句话精彩问答
·最新linux下载地址
·tar和gzip
·如何安装和使用wine
·linux入门教程
·linux常见问题
·在VMware安装RedHat新手教程
·unix基础教程
·BIOS知识大全
·/etc/fstab释疑
·/dev/null是什么设备
·linux文件系统基础
·用nero刻录系统光盘及MD5校验
·使用mc恢复被删除文件
·Linux下的中文显示和支持常见问题解答
·Linux内存使用的体会
·linux入门教程(1)
·全面卸载linux并删除它的分区
·个人linux总结
·什么是MIS

    您现在的位置: Linux宝库 >> Linux >> 系统管理 >> 基础知识 >> 文章正文
Linux命令提示符下的热键映射
Linux宝库 收集整理  作者:Linux宝库  时间:2008-05-18  收藏本站
来自:http://doc.linuxpk.com/81257.html
联系:linuxmine#gmail.com
分类:[基础知识]

Linux的一个特色就是其命令多而且功能强大, 频繁输入命令不仅麻烦而且工作量较大,虽然可以使用TAB进行>;命令补足,或者使用aliase来简化某个命令的输入,但这并不能从根本上解决敲击键盘次数过多的问题。

可以把任何命令或命令的组合指定给键盘上的某个键,可以是Alt+[A-Z],
Ctrl -[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1 -12],还有更不可思议的是甚至还可以为功能键加上“参数”,这样你按下那个键的时候,它会等待你输入相应的参数,并根据不同的参数运行不同的命令。

当然,有一些热键会被终端所捕获,如常见的Ctrl-D/C/Q/Z等,不过没关系,可用的热键还多着呢!

定义热键的配置文件为:/etc/inputrc 或 ~/.inputrc,定义热键的格式如下:

"<热键对应的ASCII字符>;":"<执行的命令>;"

其中热键对应的ASCII字符可以通过 "先按Ctrl-V, 然后按热键" 的方式来输入, 如Ctrl-G对应的字符为^G, Alt-P对应的字符为^[p, Ctrl-Alt-H对应的字符为^[^H.

可以用C来代替Ctrl,M来代替Alt, M-C来代替Alt-Ctrl, 如C-M = Ctrl-M, M-C-H = Alt-Ctrl-M. 另外还可以用e代表^[.

先来看一些基本的热键定义,(这里热键里的字母不区分大小写):
"^[-":"su -C-M" # 按Alt+- 执行su - 命令,末尾C-M表示输入完定义的命令后回车,也可以更简洁地用一个来表示.

"M-C-G":"gaim & &>;/dev/null && disownC-M"
# 按Ctrl-Alt-g在当前shell打开gaim, 并脱离该shell独立运行,即:即使你退出了该shell, gaim也不会关闭

其他一些组合键可以根据自己的需要配置,偶就不多说了.

大家也许会觉得这样定义热键太乱了,而且很难记住,还有一定的限制。这个问题在后面会得到解决。

一般情况下,我们可以使用上下方向键来查找命令历史列表,以此重复输入命令,但是方向键离主键盘区太远,如>;果频繁使用的话,会耽误不少时间,而且挪动右手时也不太方便,有没有什么办法把方向键的功能转移到我们经常>;敲命令的地方呢? 如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找

通过定义热键可以做到这点:

"eh":"^[OD" # move left
# Alt-H 向左移一个字符, 相当于Left Arrowgh, 这里^[OD即向上方向键的ASCII字符,输入方式与前面提到的类似
"el":"^[OC" # move right
# Alt-L 向右移一个字符,相当于Right Arrow

"ej":"^[OB" # move up
# Alt-J 向下移动,相当于Up Arrow

"ek":"^[OA" # move down
# Alt-K 向上移动,相当于Down Arrow

"ei":"^?" # left earse one character
# Alt-I 向左删除一个字符,相当于Backspace

"eo":delete-char # right earse one character
# Alt-O 向右删除一个字符,相当于Delete

"en":backward-kill-word # left kill one word
# Alt-N 向左删除一个单词

"em":kill-word # right kill one word
# Alt-M 向右删除一个单词

"ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head
# Alt-A 删除当前位置到开头,也就是多Alt-N几次(A-->; ahead)

"ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head
# Alt-E 删除当前位置到末尾,也就是多Alt-M几次(E-->; end)

"ep": insert-last-argumem"
# Alt-P 插入上一个命令最后一个参数 (P-->; Paste)

"ew": forward-word
# 系统默认Alt-F (forward)跳到当前单词词尾,如果已在词尾,则跳到下一个单词(右边一个单词)词尾

"eq": backward-word
# 系统默认Alt-B (backward)跳到当前单词词首,如果已在词首,则跳到上一个单词(左边一个单词)词首

发觉F和B键离得太远,不方便,偶分别改作Alt-Q, Alt-W, 但是Alt-F/B照样可以用

这样输入命令的时候几乎可以不用离开主键盘区,而且移动光标,删除字符,删除单词,上下历史命令查找都集中>;在一块,比以前方便多了。 不过开始可能有些不习惯,就跟使用vi一样,但是多练几次就熟练了。

Linux 下绝大部分服务的配置是基于配置文件的,一般说来,更改了某个服务的配置文件,要使其立即生效,还需重启该服务直接的或依附的守护进程才行。难道你就不觉得“每次 vi /etc/xxx.conf 完后又 service xxx restart/reload 或 killall -HUP xxx” 这样做很繁琐么?如果要配置的服务较多而且要不停地调试呢?况且我们平常使用Linux时难免会不时地终止或启动某个服务进程,输入命令的次数也不少。如果为每个服务都指定一个热键的话,似乎不大可能。如果我们赋予一个热键为一个基本键,而相应的服务为其“参数”,那又如何呢?

举个例子,赋予Alt-S (S-->;Start)为启动服务的基本键,服务名的前2个字符为启动“参数”,那么就可以像下面那样随意启动某个服务了:
"essm":"service smb start "
# es=Alt-s, sm=smb,
# 即:按下Alt-s后紧跟着再输入sm(这时输入的sm并不会显示在终端上),就可以启动samba的服务进程了,不必担心按下键与输入“参数”间的时间延迟问题,你按下Alt-s,然后去外面兜一圈回来,再接着输入sm,照样可以。

"esht":"service httpd start " # ht=httpd,启动Apache服务

类似地,我们赋予
Alt-D(D-->; shutDown) 为停止服务的基本键
Alt-R(R-->; Restart) 为重启服务的基本键
Alt-T(T-->; Status) 为查看服务状态的基本键
Alt-C(C-->; Configure) 为打开服务对应的主配置文件的基本键
如:"ecnf":"vi /etc/exports " # Alt-c+nf 打开NFS的配置文件
"ecsm":"vi /etc/samba/smb.conf " # Alt-c+sm 打开smb的配置文件

如果某个服务(如ssh)有2个配置文件,可以在其后再加一个数字,如:
"ecssh1":"vi /etc/ssh/sshd_config " # 打开sshd服务端配置文件
"ecssh2":"vi /etc/ssh/ssh_config " # 打开sshd客户端配置文件

如果要执行某个应用程序呢?可以用Alt-x做基本键(x-->; eXeccute) 如:
"exga":"gaim & &>;/dev/null && disown && clean "
"exxm":"xmms & &>;/dev/null && disown && clean "
"exvm":"vmware & &>;/dev/null && disown && clean "
"exna":"nautilus & &>;/dev/null && disown && clean "
等等....

到现在为止我们只要按1个组合键+2个字符就可以实现下面众多的功能:
1. 执行指定的应用程序
2. 启动|重启|关闭|指定的服务进程
3. 查看指定服务的状态
4. 打开指定服务的指定配置文件

本文来自:http://doc.linuxpk.com/81257.html
发表您的高见!

·上一篇:
解析Linux特殊文件
·下一篇:openSUSE Linux 10.2 多语言版
 
     最新更新
·openSUSE10、SUSE EVAL10和SUSE10的区别
·用Jigdo下载Debian光盘
·Debian双击挂载Windows分区
·Linux下hosts、host.conf、resolv.conf的区别
·介绍两款超级小的linux,可以安装在u盘里玩
·在浏览系统文件时偶尔发现的:ReadMe.debian
·几个重要的RedHat Linux内核文件详细介绍
·Linux下系统温度等的监控与调整
·MIT-pthreads注意事项
·对fedora9的小抱怨
·投靠Linux第一步 Windows数据向Linux迁移(7)
·投靠Linux第一步 Windows数据向Linux迁移(6)
·投靠Linux第一步 Windows数据向Linux迁移(5)
·投靠Linux第一步 Windows数据向Linux迁移(4)
·投靠Linux第一步 Windows数据向Linux迁移(3)
·投靠Linux第一步 Windows数据向Linux迁移(2)
·投靠Linux第一步 Windows数据向Linux迁移(1)
·debian登陆提示信息
·cramfs根文件系统的使用
·ubuntu8.04下USB转UART接口的使用
·centos下进入单用户模式
·centos5.1挂载ntfs分区
·解决Fedora 8中的设备权限问题
·Fedora8中修改磁盘卷标
·Linux 终端操作之简要快速指南
·红旗Linux下xxx is not in the sudoers file的解决方法
·Linux释放cache内存
·释放linux系统的内存
·Linux文件系统 一分钱一分货
·最新ubuntu7.04体验