Linux命令如何设置快捷键?

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

您可以将任何命令或命令组合分配给键盘上的某个键,该键可以是Alt+[A-Z]。

Ctrl-[a-z],alt+shift+[a-z],f1-f12,ctrl-f [1-12],alt-f [1-65438+。

当然有些热键会被终端捕捉到,比如常见的Ctrl-D/C/Q/Z,不过没关系,热键还是有很多可用的!

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

“& lt热键> ":" & lt已执行命令> "

可以先按Ctrl-V,再按热键,输入热键对应的ASCII字符。比如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表示输入定义的命令后回车,也可以用/n更简洁地表示.

"/M-/C-G ":" gaim & amp;& amp& gt/dev/null & amp;& ampdisown/C-M "

#按Ctrl-Alt-g在当前shell中打开gaim,独立于shell运行,即即使退出shell,gaim也不会关闭。

其他组合键可以根据自己的需求进行配置,我就不多说了。

你可能觉得这个热键的定义太乱了,而且很难记,有一定的限制。这个问题以后再解决。

一般情况下,我们可以使用上下箭头键来查找命令历史列表,以便反复输入命令,但是箭头键距离主键盘区太远,比如>如果经常使用会耽误很多时间,而且不方便移动右手。有没有办法把方向键的功能转移到我们的常规>敲单的地方呢?如果使用Alt+J =向下键查找向下,alt+k =向上键查找向下。

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

“/eh":"^[od”#向左移动

# Alt-H向左移动一个字符,相当于Left Arrowgh,其中[od是向上箭头键的ASCII字符,输入方法和上面说的差不多。

“/el":"^[oc”#向右移动

# Alt-L向右移动一个字符,相当于向右箭头。

“/ej":"^[ob”#向上移动

#三角乐队向下移动,相当于向上箭头。

“/ek":"^[oa”#下移

# Alt-K向上移动,相当于向下箭头。

“/ei":"^?”#左耳使用一个字符

# Alt-I删除左边的一个字符,相当于退格。

"/eo":delete-char # right earse一个字符

# 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”#杀到头

# Alt-A删除当前位置到开头,即Alt-N次以上(a->前面)

“/ee":"^[m^[m^[m^[m^[m^[m^[m”#杀到头

# Alt-E删除当前位置到最后,也就是Alt-M更多次(e-> end)

"/ep": insert-last-argumem "

# Alt-P插入最后一个命令的最后一个参数(p->粘贴)

"/ew ":前进词

#系统默认为Alt-F(前进)跳转到当前单词的后缀,如果已经在后缀,则跳转到下一个单词的后缀(右边那个)。

"/eq ":反向词

#默认Alt-B(向后)跳转到当前单词的前缀,如果已经在前缀处,则跳转到上一个单词的前缀(左边的那个)。

发现F键和B键距离太远,不方便。我分别把它们改成了ALT-Q和ALT-W,但是Alt-F/B还是可以用的。

这样输入命令时几乎不用离开主键盘区,移动光标、删字、删词、上下搜索历史命令都集中了>;在一起比以前方便多了。不过刚开始可能会有点不习惯,就像用vi一样,但是多练习几次就会熟练了。

Linux下大多数服务的配置都是基于配置文件的。一般来说,如果一个服务的配置文件发生了变化,需要重新启动该服务的直接或依赖守护进程才能使其立即生效。不觉得“vi /etc/xxx.conf后服务xxx重启/重装或killall -HUP xxx”很繁琐吗?如果有很多服务需要配置,你必须不停地调试,怎么办?而且我们平时使用Linux的时候,难免会时不时的终止或者启动一个服务进程,输入命令的次数也不算少。似乎不可能为每个服务指定一个热键。如果我们给一个热键作为基本键,对应的服务作为它的“参数”会怎么样?

比如给ALT-S(S->;Start)是启动服务的基本键,服务名的前两个字符是“参数”,所以可以随意启动服务,如下:

"/essm ":"服务smb启动/n "

# /es=Alt-s,sm=smb,

#即按Alt-s再输入sm(此时输入的sm不会显示在终端上),就可以启动samba的服务进程了。你不用担心按键和输入“参数”之间的时间延迟。可以按Alt-s,然后去外面兜风,然后进入sm。

"/esht ":" service f ":" VI/etc/exports/n " # alt-c+nf打开NFS的配置文件。

"/ecsm ":" VI/etc/samba/smb . conf/n " # alt-c+sm打开SMB的配置文件。

如果一个服务(例如ssh)有两个配置文件,您可以在其后添加一个数字,例如:

"/ecsh 1 ":" VI/etc/ssh/sshd _ config/n " #打开sshd服务器配置文件。

"/ECS H2 ":" VI/etc/ssh/ssh _ config/n " #打开sshd客户端配置文件。

如果你想执行一个应用程序呢?可以使用Alt-x作为基本键(x->;EXeccute)如:

"/exga ":" gaim & amp;& amp& gt/dev/null & amp;& amp否认& amp& amp干净/n "

"/exxm ":" xmms & amp;& amp& gt/dev/null & amp;& amp否认& amp& amp干净/n "

"/exvm ":" VMware & amp;& amp& gt/dev/null & amp;& amp否认& amp& ampclean/n " "/exna ":" nautilus & amp;& amp& gt/dev/null & amp;& amp否认& amp& amp干净/n "

等等....

到目前为止,只要我们按下1组合键+2个字符,就可以实现以下功能:

1.执行指定的应用程序。

2.启动|重新启动|关闭|指定的服务进程

3.查看指定服务的状态

4.打开指定服务的指定配置文件