`

如何提高Linux系统命令行的工作效率

 
阅读更多

本文介绍一些配置技巧,使你更好地操纵Linux命令行,提高工作效率。

虽然最近几年个人计算机的潮流已经从命令行方式转向图形界面方式,大量的采用鼠标操作,但是shell 在Linux中依然有很强的生命力。shell有好几种,主要有bash、ksh、tcsh、zsh、ash,用得最多的是bash,它几乎是各种linux发布版的标准配置。同时在linux 操作系统中,即使在X Window下,系统管理员经常也要与命令行打交道,使用键盘次数要明显高于鼠标,本文通过介绍合理地定制与修改INPUTRC环境变量,以及利用bash 2.05以上版本中增加的complete命令,可以更好地提高linux命令行使用的工作效率,减少键盘的敲打以及拼写错误。

一.定制/etc/inputrc文件

通过设置INPUTRC环境变量(参见/etc/profile文件),其作用主要定义或者改变一些功能键的定义,从而更好地使用命令行,通常情况下INPUTRC环境变量指向 /etc/inputrc文件,只要编辑/etc/inputrc文件,以及利用Tab键的命令补全功能,就可以实现类似于MSDOS的DOSKEY的功能。

以Redhat 7.3为例来说明,使用的bash shell版本号为2.0.5。你可以根据自己的需要定制与修改此文件,如想了解更多的内容,可以参阅man bash文档。

例子:/etc/inputrc文件内容如下:

  set bell-style none
  set meta-flag on
  set input-meta on
  set convert-meta off
  set output-meta on

  set show-all-if-ambiguous On

  "e[1~": beginning-of-line     # home
  "e[2~": insert-last-argument  # insert
  "e[3~": delete-char           # delete
  "e[4~": end-of-line           # end
  "e[5~": backward-kill-word    # page up
  "e[6~": kill-word             # page down

  # (F1 .. F5) are "e[[A" ... "e[[E"
  "e[18~": history-search-forward            # F7
  "e[19~": history-search-backward           # F8

具体修改说明如下(注以下[]中的内容为所按的键):

  set bell-style none

关闭计算机小喇叭发出的声音。

set meta-flag on
    set input-meta on
    set convert-meta off
    set output-meta on

这几行主要是实现命令行上实现汉字的输入以及显示。 比如想输入汉字的文件名等等。

set show-all-if-ambiguous On

这一行主要是使命令补全的功能更好的发挥。许多Linux初学者并不知道这个功能,就是使用[Tab]键,能够减少键盘的敲打以及拼写错误。比如当前你想执行ifconfig命名,你输入if后按[Tab]键两次,就会出现所有以if开头的命令,文件名和目录名也可以使用这个方法输入,当打开上述命令后可以使用[Tab]键,仅仅需要按一次,这样更加方便与快捷。

"e[1~": beginning-of-line     # home
    "e[2~": insert-last-argument  # insert
    "e[3~": delete-char           # delete
    "e[4~": end-of-line           # end
    "e[5~": backward-kill-word    # page up
    "e[6~": kill-word             # page down

这几行主要是使命令行编辑方便,[home]、[delete]、[end]键保持原意,意指移动到命令行的开始、删除一个字符、移动到命令行尾。[insert] 键被定义为插入上一个命令的最后一个参数。比如执行如下命令:

$ mount /mnt/cdrom
     $ cd[space][insert]      
   # 相当于 执行 cd /mnt/cdrom

可以试着按[insert]键几次看看会有什么出现内容?

[Pageup]和[PageDown]键定义为向前和向后删除单词。

"e[18~": history-search-forward            # F7
    "e[19~": history-search-backward           # F8

[F7]和[F8]定义为命令历史查找功能,有点向MSDOS的DOSKEY功能类似,比如前面使用过mount命令,再次输入mount后按[F8]会调出先前使用的命令,特别是当命令非常长参数非常多的时候。

二.安装bash-completion

如果经常你使用[tab]键命令补全功能,就会发现它的不足之处,你可以发现它不能根据具体的需要或者命令补全所需要的参数与文件或者目录。例如你执行cd [tab],系统会将文件与目录一起显示出来,而实际上这时你仅仅需要显示文件类型为目录。bash从2.05版开始,已经加入命令complete内部命令,从而能够使用复杂的命令行接口,通过一个复杂的脚本bash_completion实现可编程的补全程序,减少系统管理员日常维护工作,减少差错提高工作效率。

具体操作如下:

1. 下载最新的bash-completiton脚本,检查bash的版本号执行bash --version】,如果版本低于2.0.5最好升级bash.

http://www.caliban.org/files/bash/bash-completion-latest.tar.gz

http://www.caliban.org/files/redhat/RPMS/i386/bash-2.05-51.i386.rpm

2. 安装

# rpm -Uvh bash-2.05-12.i386.rpm    
  # tar xzvf bash-completion-latest.tar.gz -C /tmp

3. 仔细阅读bash_completetion目录下的README文件,修改/etc/bashrc文件,在行尾加入如下命令:

bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
   if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor '>' 04 ] 
     && [ -f /etc/bash_completion ]; then # interactive shell
        # Source completion code
        . /etc/bash_completion
   fi
   unset bash bmajor bminor

4. 拷贝bash_completion文件:

# cp /tmp/bash_completion/bash_completion /etc

注销再重新进入后,你就会发现许多命令在使用命令补全时都会发生一些变化。

通过以上的修改,你会发现在命令行上使用linux,同样高效与快捷,减少了许多不必要的错误。

分享到:
评论

相关推荐

    提高linux命令行下工作效率.

    提高linux命令行下工作效率.本文介绍一些命令行下提高工作效率的技巧,有助于提高学习的兴趣

    Linux操作(命令详细解析)

    如何提高Linux系统命令行的工作效率.doc 经典:Linux菜鸟入门级命令大全.doc 回眸经典:DOS命令简化八大案例.doc 关于linux系统中命令的使用详解.doc 关于 Linux系统中关机命令详细解析.doc Linux必学的系统管理命令...

    常使Linux快捷键提高工作效率

    近期在工作中发现经常性的使用一些重复性命令,经常性的修改一些长明令,感觉有必要科普一下shell命令行的一些常见快捷键了,以便大家节省时间提高工作效率。

    linux命令行常用技巧

    一些shell的实用技巧,像 sudo !! python -m SimpleHTTPServer等等, 对提高shell下的工作效率很有帮助。

    路由器和防火墙软件Coyote Linux的配置

    coyote Linux可以仅通过一张软盘来运行,有效降低 了对硬件资源的要求,并提高了工作效率。coyote Linux声称可以在486以上的PC机上顺畅运行,而且只需8MB以上的内存。它的用途和设计思路与嵌入式系统非常类似。和...

    Linux常用命令大全(从入门到精通)

    而掌握Linux命令行工具是每位Linux用户必备的基本技能,它能极大地提升系统管理、编程开发、运维部署等方面的工作效率。本文将对Linux的常用命令进行详尽解读,力求覆盖文件操作、系统信息查询、进程管理、搜索查找...

    常用的60个Linux常用命令

    作为Linux用户,熟练掌握这些命令是非常有必要的,可以极大提高工作效率。 另外,Linux命令有诸多特性和选项,如管道、重定向等,结合起来可以完成更加复杂和强大的任务。通过不断实践和积累经验,可以逐步掌握更多高级...

    Linux操作技巧 (基础版本)

    掌握一些常用的命令行快捷键,可以大大提高您的工作效率。例如: - `Ctrl + C`:终止当前运行的命令。 - `Ctrl + D`:退出当前终端窗口。 - `Ctrl + Z`:将当前正在运行的命令放到后台,并暂停该进程。 - `Ctrl + R...

    LINUX命令、编辑器与SHELL编程PDF.part01

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程PDF.part02.rar

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    至今最火的22个最佳Linux桌面终端模拟器.pdf

    无论你是开发者、系统管理员还是普通用户,都可以根据自己的需求选择适合的终端模拟器,提升工作效率和使用体验。无论你喜欢简洁、定制化还是复古的风格,都能在这些终端模拟器中找到合适的解决方案。在Linux世界中...

    LINUX命令编辑器与SHELL编程(中文)01

    本书覆盖超过 80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程.part05

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程.part11.rar

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程.part03.rar

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程.part04.rar

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程.part12.rar

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程.part09.rar

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

    LINUX命令、编辑器与SHELL编程.part07.rar

    本书覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。  本书是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部...

Global site tag (gtag.js) - Google Analytics