系统小窝欢迎您

电脑公司 深度技术
当前位置:系统小窝 > 系统教程 > Linux教程 >

将Linux命令设置成键盘快捷键的方法

时间:2021-04-09 来源:大神到 人气:

我们都知道,Linux系统操作大部分都需要使用命令完成,但命令多了操作起来较为繁琐,如果将常用命令设置成键盘快捷方式则简单很多,下面小编就给大家介绍下将Linux命令设置成键盘快捷键的方法,感兴趣的朋友一起来看看吧。

可以把任何命令或命令的组合指定给键盘上的某个键,可以是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表示输入完定义的命令后回车,也可以更简洁地用一个/n来表示。

;/M-/C-G;:;gaim 》/dev/null disown/C-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/n;

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

# 即:按下Alt-s后紧跟着再输入sm(这时输入的sm并不会显示在终端上),就可以启动samba的服务进程了,不必担心按下键与输入;参数;间的时间延迟问题,你按下Alt-s,然后去外面兜一圈回来,再接着输入sm,照样可以。

;/esht;:;service httpd start/n; # ht=httpd,启动Apache服务

类似地,我们赋予

Alt-D(D--》 shutDown) 为停止服务的基本键

Alt-R(R--》 Restart) 为重启服务的基本键

Alt-T(T--》 Status) 为查看服务状态的基本键

Alt-C(C--》 Configure) 为打开服务对应的主配置文件的基本键

如:;/ecnf;:;vi /etc/exports/n; # Alt-c+nf 打开NFS的配置文件

;/ecsm;:;vi /etc/samba/smb.conf/n; # Alt-c+sm 打开smb的配置文件

如果某个服务(如ssh)有2个配置文件,可以在其后再加一个数字,如:

;/ecssh1;:;vi /etc/ssh/sshd_config/n; # 打开sshd服务端配置文件

;/ecssh2;:;vi /etc/ssh/ssh_config/n; # 打开sshd客户端配置文件

如果要执行某个应用程序呢?可以用Alt-x做基本键(x--》 eXeccute) 如:

;/exga;:;gaim 》/dev/null disown clean /n;

;/exxm;:;xmms 》/dev/null disown clean /n;

;/exvm;:;vmware 》/dev/null disown clean /n; ;/exna;:;nautilus 》/dev/null disown clean /n;

等等。。.。

到现在为止我们只要按1个组合键+2个字符就可以实现下面众多的功能:

1. 执行指定的应用程序

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

3. 查看指定服务的状态

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

上面就是Linux命令设置成键盘快捷键的方法介绍了,设置成键盘快捷键后,你按下那个键,它会等待你输入相应参数,从而运行不同的命令,可根据个人需求进行设置。

相关文章

  • 如何使用命令行更改Linux系统的日期和时间

    如何使用命令行更改Linux系统的日期和时间

    Linux 系统的时间有时候会不准,不准确的时间会导致日志文件中的时间出现错误,所以准确的时间是很重要的,那么要怎么更改Linux 系统的时间呢?下面小...
    2014-12-02 03.12.57
  • Linux tail命令的用法

    Linux tail命令的用法

    Linux tail命令主要用于把档案文件的最后几行显示到终端上,以确保能看到最新的内容,那么Linux tail要怎么用呢?下面小编就给大家介绍下Linux tail的用法。...
    2014-12-03 02.12.47
  • 最详细的Linux压缩解压缩命令

    最详细的Linux压缩解压缩命令

    压缩文件可以为磁盘节省不少空间,那么Linux系统的压缩和解压命令都有哪些呢?下面小编就给大家介绍下Linux压缩和解压的命令大全,希望对你有所帮助。...
    2014-12-03 04.12.37
  • Linux中pwd命令有什么用?

    Linux中pwd命令有什么用?

    Linux pwd命令主要用于打印当前工作目录的工作路径, 如果你想要使用pwd命令,就要对pwd命令的用法十分了解,下面小编就给大家介绍下Linux中的pwd命令的用...
    2014-12-04 03.12.11
  • Linux中如何使用rmdir命令指南

    Linux中如何使用rmdir命令指南

    我们都知道Linux命令中的rm命令主要用于删除文件,那么 rmdir命令又有什么作用呢?下面小编就给大家介绍下Linux命令中rmdir命令的主要功能吧。...
    2014-12-04 04.12.46

发表评论

验证码: 看不清?点击更换

注:网友评论仅供其表达个人看法,并不代表本站立场。