欢迎 asky100 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心
加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 技术论坛 网站留言 娱乐中心 卓越资源
今天是:2008年11月20日 星期四  您现在位于: 首页 → 技术文章 → 让Linux命令加速
   让Linux命令加速
作者:毛希增  出处:赛迪博客  更新时间: 2007年02月12日 

    Linux中大多数命令只做一件事,因此,通过Shell脚本语言把各种程序粘合起来使用时,就能完成复杂的任务。本文充分利用功能强大,但简单易学的小工具,给出一些实际问题的解决方案,希望使Linux更实用、更好用。 

    让命令“说话” 

    几乎每个Linux命令都有很多选项,允许使用者根据需要灵活地定制。但这给初学者带来诸多不便,一是学起来麻烦,二是容易遗忘,需要时不得不重新再来。 

    那么有没有办法让命令自己“说话”呢?通过Shell脚本语言可以给命令加上友好的“面孔”。示例如下: 

::::::::::::::
cname.sh
::::::::::::::
echo "Please input file name:"
read old
echo "Please input new name: "
read new
mv $old $new
 


    上面代码中,mv的命令格式为:
    mv 原名字 新名字 

    echo命令格式为: 
    echo 字符串 

    read从标准输入中读入一个字符串,并存入后边的变量中,其命令格式为: 
    read 变量名 

    程序执行时显示帮助信息,提示输入相应的参数,最后通过简单的变量替换,完成改名任务这个程序。虽然只有5行,却改变了命令的行为方式,大大地增强了mv的易用性。在实际应用中,读者可根据需要替换这个小程序的命令。 

    处理多个文件 

    在前面的基础上,如果想给一批文件改名的话,那么下面这个例子就更有实用价值了。 

::::::::::::::
mvs.sh
::::::::::::::
for s in $*; do
    echo "File: $s"
    echo "Please input new name: "
    read t
    mv $s $t
    if [ $? -eq 0 ]; then
 echo "OK!^o^"
    else
 echo "Error!"
    fi
done
 


    通过for循环,“命令序列”依次处理文件列表中的所有文件。$*代表所有命令行参数,这样文件列表就可以通过命令参数指定。后面的if语句测试命令的执行状态,0代表执行成功。简单部署1之后,键入“mvs .jpg”就可以轻松地批量给文件改名了。 

    部署方案 

    程序编制完成,需要仔细部署,以使安装和使用方便。 

    ◆在用户主目录下新建bin目录(如果已建立就跳过): 
    mkdir ~/bin 

    ◆把~/bin添加到PATH变量,在用户主目录下的.bashrc文件中添加下面几行: 
    PATH=~/bin:$PATH
    export PATH
    ◆把测试好的程序移至bin目录,更改成简单易记的名字,并设置文件属性: 
    cp mvs.sh ~/bin/mvs
chmod 755 ~/bin/mvs 

    以后,就可以直接使用mvs给一批文件改名字了。 
    mvs *.jpg 

    本文所举例子虽然简单,但勾画出了一些比较通用的框架,根据需要稍加修改就可以解决很多比较复杂的任务.
 
 (本文已被浏览 2521 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:让Linux使用和Windows接近
下篇文章:Ubuntu Linux优化策略
 相关文章:
很强悍!Ubuntu也能玩Photoshop CS2 35款Linux发行版名字的含义
Sybase Ase 12.5 for Linux全攻略 SYBASE 12.5 for Linux安装
红旗软件宣布推出支持英特尔MID的Midinux操作系统 使用Windows Vista引导Linux
Linux下的绘图程序-Gogh Linux DOSBOX 运行DOS游戏
VMware 6 Linux 版本下载安装配置编译序列号注册码 2007年八款最令人上瘾的Linux游戏
Linux系统下的攻击软件全接触 远程网络安装RedHat Linux系统的方法
六脉神剑捍卫企业 Linux系统(三) 六脉神剑捍卫企业 Linux系统(二)
在Linux高负载下mysql数据库彻底优化 VMware下编译Linux内核(2.4.32)全过程
Linux截图与考屏方法总结 基于网络的RedHat Linux无人值守安装
用比较法学Linux基本命令 Linu系统管理新手要了解的十个知识点

相关搜索
查看百度中关于让Linux命令加速的更多内容
查看google中关于让Linux命令加速的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Linux.Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备05000455号
    Copyright (c) 2001-2008 Unix-cd.com. All Rights Reserved.