如何在Linux环境模拟DOS命令

才子才女才气

才子才女才气

2016-01-29 19:05

如何在Linux环境模拟DOS命令,如何在Linux环境模拟DOS命令
 

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

如果你是一位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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/)

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

#!/bin/sh
cp $1 $2

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

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/linux/)

为了递归地把$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,这能帮助你找到合适的方法。

 
展开更多 50%)
分享

猜你喜欢

如何在Linux环境模拟DOS命令

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
如何在Linux环境模拟DOS命令

Linux 常用命令(在Linux环境下运行DOS命令)

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux 常用命令(在Linux环境下运行DOS命令)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何在Linux中使用test命令

电脑入门
如何在Linux中使用test命令

DOS 和 Linux 常用命令的对比

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
DOS 和 Linux 常用命令的对比

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Windows8命令提示符环境DOS命令失效如何解决

windows系统
Windows8命令提示符环境DOS命令失效如何解决

如何在Linux中访问硬盘DOS分区、软盘和光盘

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
如何在Linux中访问硬盘DOS分区、软盘和光盘

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Word文档批量转为文本文件

Word文档批量转为文本文件

摸清XP中“错误报告”来龙去脉

摸清XP中“错误报告”来龙去脉
下拉加载更多内容 ↓