日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

如何在Linux環(huán)境模擬DOS命令

你可以利用Linux固有的command shell的靈活性,創(chuàng)建腳本語言,幫助你在Linux環(huán)境中模擬DOS命令 。具體做法如下 。;
如果你是一位IT支持專家,你對于Windows的命令操作非常喜歡,在你第一次使用Linux的命令行的時候,你可能很快就會發(fā)現(xiàn)自己被搞糊涂了 。長期以來你所熟悉的DOS命令在Linux中不存在了 。所以你會發(fā)現(xiàn),自己面臨著一項可怕的任務:重新學習并熟悉一整套新的命令 。
作為另一個選擇,你可以利用Linux command shell固有的靈活性,創(chuàng)建腳本,幫助你在Linux環(huán)境中模擬DOS命令 。具體做法如下 。
shell scripting的基礎
Linux的shell scripting 是一種自動完成多種類型任務的方法,從夜間備份到簡單的命令行應用 。幾乎任何程序都可以通過shell script完成 。你甚至可以在腳本內(nèi)部完成簡單的條件檢查 。shell script的基本格式如下:
#!/bin/sh
...
這里是你的命令
...
注意文件是以#!/bin/sh開始的 。這把操作系統(tǒng)指向解釋腳本的程序 。絕大部分系統(tǒng)有/bing/sh,因為這是根用戶使用的標準shell 。你可以在絕大部分系統(tǒng)中使用/bing/bash 。
重要的是了解每個shell之間的腳本差別 。一些殼,比如bash,比標準shell支持更多的命令 。對于絕大部分Linux版本,sh事實上是bash 。
從一個腳本運行命令非常簡單 。就好象在Windows系統(tǒng)中運行DOS 。比如,你可以這樣復制文件:
#!/bin/sh
cp file1 file2
mv file2 file3
echo "complete" > complete.txt
能夠不需要交互就完成一個命令對于自動運行的任務來說非常有用,但是對于用戶來說卻不是那么有幫助了 。shell 還為向一個運行中的腳本輸入數(shù)據(jù)提供了途徑 。這就允許腳本從用戶那里獲得數(shù)據(jù)輸入,然后在程序運行中運用這些數(shù)據(jù) 。命令行中的argument指的是$1到$9 。如果你曾經(jīng)在DOS中創(chuàng)建過批處理文件,你就可能對于使用類似的%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能夠告訴系統(tǒng)進行遞歸式的文件拷貝 。
帶條件的Shell scripting
簡單的Shell scripting對于處理直截了當、沒有變數(shù)的任務非常合適 。而對于那些需要一定程度決策的工作來說,if/then條件假設就成為必須的了 。Shell scripting支持很多選項,從比較符操作到檢索文件的存在 ?;镜膇f條件判斷選項包括:
-eq 檢查某兩個值是否相等(例如,if [2 eq 5])
-ne 檢查兩個值是否不相等
-lt 檢查值1是否小于值2
-le 檢查值1是否小于等于值2
-gt 檢查值1是否大于值2
-ge 檢查值1是否大于等于值2
-f 檢查某一個文件是否存在(例如,[-f "文件名"])
-d 檢查某一個目錄是否存在
幾乎所有主要的程序都可以使用比較操作 。最經(jīng)常使用的是-f,我們用它在使用某一個文件之前,先行檢查它的存在 。
創(chuàng)建簡單腳本模擬Windows命令
現(xiàn)在,你了解了基礎,你可以創(chuàng)建腳本命令,這樣Windows用戶就可以在Linux系統(tǒng)內(nèi)使用同樣的命令 。為你常用的DOS命令創(chuàng)建模擬映射是非常簡單的事情 。例如,把Linux cp命令映射為Windows copy命令就是這樣進行的:
#!/bin/sh
if [ -f "/usr/bin/mcopy" ]
then
mcopy $1 $2

推薦閱讀