首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>常用命令>正文

用Linux Command Shell模拟DOS命令

http://www.oklinux.cn  2007-01-28  来源: oklinux收集整理   会员收藏  游客收藏  【 】 

如果你是一位IT支持专家,你对于Windows的命令操作非常喜欢,在你第一次使用Linux的命令行的时候,你可能很快就会发现自己被搞糊涂了。长期以来你所熟悉的DOS命令在Linux中不存在了。所以你会发现,自己面临着一项可怕的任务:重新学习并熟悉一整套新的命令。

作为另一个选择,你可以利用Linux command shell固有的灵活性,创建脚本,帮助你在Linux环境中模拟DOS命令。具体做法如下。

Shell Scripting的基础

Linux的shell scripting 是一种自动完成多种类型任务的方法,从夜间备份到简单的命令行应用。几乎任何程序都可以通过shell script完成。你甚至可以在脚本内部完成简单的条件检查。shell script的基本格式如下:

  
  #!/bin/sh
  ...
  这里是你的命令
  ...
  

注意文件是以#!/bin/sh开始的。这把操作系统指向解释脚本的程序。绝大部分系统有/bing/sh,因为这是根用户使用的标准shell。你可以在绝大部分系统中使用/bing/bash。

重要的是了解每个shell之间的脚本差别。一些壳,比如bash,比标准shell支持更多的命令。对于绝大部分Linux版本,sh事实上是bash。

从一个脚本运行命令非常简单。就好象在Windows系统中运行DOS。比如,你可以这样复制文件:

  
  #!/bin/sh
  cp file1 file2
  mv file2 file3
  echo "complete" > complete.txt
  

能够不需要交互就完成一个命令对于自动运行的任务来说非常有用,但是对于用户来说却不是那么有帮助了。 shell还为向一个运行中的脚本输入数据提供了途径。这就允许脚本从用户那里获得数据输入,然后在程序运行中运用这些数据。命令行中的argument指的是$1到$9。如果你曾经在DOS中创建过批处理文件,你就可能对于使用类似的%1、%2处理同样的事情。下面是一个使用命令行argument的例子:

  
  #!/bin/sh
  cp $1 $2
  

上面的脚本采用了两个命令行argument,并把其中一个作为拷贝的来源,而第二个作为拷贝的目的地。在运行上面这个脚本的时候,你需要输入诸如./myscript file1 file2,这里的myscript指的是上面脚本的名称。命令行选项也可以通过这种方法传递,比如:

  
  #!/bin/sh
  cp $1 $2 $3
  

为了递归地把$2目录下所有的文件拷贝到$3,你可以使用上面的脚本:/copy sourcedir destdir。选项$1加上-r能够告诉系统进行递归式的文件拷贝。

带条件的Shell Scripting

简单的Shell scripting对于处理直截了当、没有变数的任务非常合适。而对于那些需要一定程度决策的工作来说,if/then条件假设就成为必须的了。Shell scripting支持很多选项,从比较符操作到检索文件的存在。基本的if条件判断选项包括:

-eq 检查某两个值是否相等(例如,if [2 eq 5]);

-ne 检查两个值是否不相等;

-lt 检查值1是否小于值2;

-le 检查值1是否小于等于值2;

-gt 检查值1是否大于值2;

-ge 检查值1是否大于等于值2;

-f 检查某一个文件是否存在(例如,[-f "文件名"]);

-d 检查某一个目录是否存在。

几乎所有主要的程序都可以使用比较操作。最经常使用的是-f,我们用它在使用某一个文件之前,先行检查它的存在。

创建简单脚本模拟Windows命令

现在,你了解了基础,你可以创建脚本命令,这样Windows用户就可以在Linux系统内使用同样的命令。为你常用的DOS命令创建模拟映射是非常简单的事情。例如,把Linux cp命令映射为Windows copy命令就是这样进行的:

  
  #!/bin/sh
  if [ -f "/usr/bin/mcopy" ]
  then
  mcopy $1 $2
  else
  cp $1 $2
  fi
  

该脚本利用了mcopy(如果它存在),因为该命令接受Windows路径,比如:a:\file.txt。这个命令在绝大部分主流Linux版本的mtool包中。一旦一个脚本被成功创建,记得要使用chmod +x YourScriptName命令使它成为可执行文件。

有很多方法可以调试你的脚本,但是最简单的办法是在你的脚本中插入一个简单的echo语句。下面是一个例子:

  
  #!/bin/sh
  echo "marker 1"
  if [ -f "/usr/bin/mcopy" ]
  then
  echo "marker 2"
  mcopy $1 $2
  else
  echo "marker 3"
  cp $1 $2
  fi
  echo "marker 4"
  

使用简单的陈述帮助你了解这个脚本,并帮助你跟踪它是在那里出问题的。

获得脚本

有了这些基本的脚本知识,你就能够很容易地把绝大部分常用的Windows命令行转化成Linux可用的脚本。如果有某一个特定的命令行选项是你想进行映射的,查看Linux man pages,这能帮助你找到合适的方法。


上一篇:linux grep命令的使用   下一篇:运用提示行命令让你在Linux下玩魔术


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·运用提示行命令让你在Linux下玩魔术
·linux grep命令的使用
·Linux下常见文件解压方法及命令
·LINUX常用的系统状态查询命令
·使用netcat命令网络同步复制系统
·Linux Netstat命令常用选项详细解析
·使用Mount bind时需要注意的权限问题
·菜鸟给grub设密码的简单快速方法
·Linux系统管理的内容及其常用命令
·RedHat Linux 9键盘的快捷操作
·用sort 和tsort 对文件进行排序
·浅谈FreeBSD 5.2常用操作的改变
·Unix/BSD/Linux的口令机制初探
·使用lsof恢复误删的文件
·Linux 命令行下如何配置nVIDIA显卡
·标准化您的 UNIX 命令行工具
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux系统下Source命令的使用
·Linux操作系统中使用nmap命令
·Ubuntu Linux系统下apt-get命令参数介
·Linux操作系统备份压缩工具Tar使用说明
·Linux系统攻略 关于vi替换命令的使用说
·Linux系统下的文件权限调用:chmod命令
·Linux系统命令行下编辑常用的快捷键
·Linux Shell中强大的正则grep
·Linux系统下ifconfig命令使用及结果分
·Linux系统下Shutdown命令-[option]
·动态链接库管理命令Ldconfig的使用说明
·Linux下查看某目录或指定文件大小的命
  阅读排行
·ps命令常用用法
· Linux下如何删除非空目录
· date命令详解及ntp时间同步
·常用的tar和rpm命令参数列表
·新手从零开始:Linux系统命令的使用
·Linux入门时必学60个文件处理命令
·Linux系统下VI命令快捷键集合
·Linux VI命令使用技巧集锦
·标准化您的 UNIX 命令行工具
·Linux 笔记本基于“敲打”的命令
·运用提示行命令让你在Linux下玩魔术
·linux常用命令之bash 入门指南
·Linux 命令行下如何配置nVIDIA显卡
·Linux系统下常用命令及账户管理
·Linux操作系统平台Vi指令大全
网摘收藏: