ChinaUnix.net 首页 | 博客 | Linux | 论坛 | 人才 | 培训 | 知识库 | 资料 | 读书 | 手册 | 精华 | 下载 | 沙龙 | 搜索
Linux首页 | Linux论坛 | 论坛精华 | 开源新闻 | 技术文章 | 专题专栏 | 新手指南 | 迁移方案 | 产品方案 | 开源项目 | 开源图书 | 软件下载 | 人才招聘 | Linux博客
  搜索

  产品与方案
·中科红旗全面打造现代化邮政体系
·红旗助力“网上审批服务” 推动电子政务
·红旗正版化开创呼和浩特网吧建设新起点
·红旗Linux助信息产业部邮件服务器“快跑”
·中标普华Linux 为电子政务信息化保驾护航
·中标普华Linux助力基金产业
·中标普华Office率先支持UOF标准
·中标普华邮件系统助力西藏政府信息化建设
·红旗Linux助力国库集中支付系统改革
·红旗助中信卫星 掀起GIS通信应用风暴
·红旗软件助力烟草总局 全面建设“数字烟草”
·红旗助力“信访阳光工程”打造畅通信访渠道
·红帽联合FIS发布下一代实时核心银行平台
·红旗助力金盾 打造全无忧出入境信息系统
·红旗Linux全力打造中国邮政总局名址信息库
·爱尔兰证交所从Unix迁移到红帽企业Linux
·一流的意大利银行选择使用红帽企业Linux
·PLUS Finanzservice选择使用红帽企业Linux
·红帽助力TransACT Communications 公司
·法国零售业巨头Lapeyre采用Redhat Linux
·旅游预订网站选择使用红帽企业Linux
·马哈拉施特拉邦政府的红帽解决之道
·美国联邦政府案例
·红帽为慕尼黑展览会提供现代化集群系统
·Yuba郡用开源软件和红帽产品提高了效率
·红帽企业Linux助印度理工建立高性能计算中心
·采用红帽Linux 将系统维护时间缩短了65%
·从UNIX迁移到Linux使Peñoles公司获益非浅
·Hikal公司用红帽企业Linux开展任务关键的ERP项目
·KDE3.5.4新版本发布
·芝加哥商业交易所从Unix向Linux迁移
·南方基金管理有限公司成功案例 Red Hat Linux
·广东北电通讯设备有限公司成功案例
·挪威国家石油公司从UNIX迁移到红帽Linux,成本减半
·中央电视台CCTV动画部案例 Red Hat Linux

  图书

鸟哥的Linux私房菜基础学..


Linux程序设计.第3版


Linux设备驱动开发详解


  下载
·Endian Firewall
·linux kernel(Linux 内核)
·CentOS
·Fedora Core 6
·Scientific Linux
·Slackware 11.0
·Gentoo Linux
·ubuntu-6.10-i386服务器版本
·ubuntu-6.10-amd64服务器版
·ubuntu-6.10-i386桌面版
·ubuntu-6.10-amd64桌面版
·Engarde Linux
您的位置: Linux时代 > 技术文档 > 新手入门 >

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

日期:2007-02-01 作者:shanglaiba 来自:linux.chinaunix.net


  摘要

  本文介绍一些配置技巧,使你更好地操纵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.

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

  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命令行杀毒软件被爆致命漏洞2006-12-18 10:34:57
如何改进系统命令行工具2006-12-11 16:15:14
在Unix下用命令行中完成所有的工作(3)2006-10-25 16:06:35
标准化您的 UNIX 命令行工具2006-10-11 14:47:50
linux命令行下的BT软件2006-07-13 14:30:06
访谈:Sobell 谈 bash 和 Linux 命令行命运2005-12-16 14:03:54
Linux/UNIX命令dd简介2005-02-03 16:02:34
命令行配置Samba服务2005-01-31 14:51:31


 相关评论
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 免费注册

Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证041476号