国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

如何在Linux環境模擬DOS命令

2024-07-26 00:30:11
字體:
來源:轉載
供稿:網友

你可以利用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

能夠不需要交互就完成一個命令對于自動運行的任務來說非常有用,但是對于用戶來說卻不是那么有幫助了。 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,這能幫助你找到合適的方法。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原阳县| 昆明市| 正安县| 五家渠市| 大名县| 和静县| 黑河市| 沂源县| 宜兰县| 苏尼特左旗| 安龙县| 田东县| 凤凰县| 鄢陵县| 红安县| 聊城市| 元朗区| 慈利县| 唐山市| 南乐县| 罗定市| 富源县| 饶阳县| 阿瓦提县| 临西县| 宁都县| 务川| 津南区| 利辛县| 景德镇市| 莱芜市| 灵山县| 郁南县| 抚州市| 东海县| 呼图壁县| 安达市| 武穴市| 永定县| 建始县| 霍城县|