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

首頁 > 開發 > Linux Shell > 正文

Linux下文件剪切的shell腳本實現代碼

2020-07-27 18:50:47
字體:
來源:轉載
供稿:網友

需求描述

編寫shell腳本實現Linux下不同目錄(路徑)之間的文件的剪切(移動)操作。

其中,文件移動之前所在的目錄稱為源目錄,文件移動之后所在的目錄稱為目的目錄。要求當源目錄不存在、源目錄下無文件及剪切文件成功時,均要在屏幕上輸出相關的日志信息;并且,在程序執行之前,只有源目錄是存在的,目的目錄需要由程序創建。

shell腳本

umask 0000if [ -d $1 ]then  fcnt=`ls -l $1 | wc -l`  if [ $fcnt -ne 1 ]  then    mkdir -p $2    if [ -d $2 ]    then      mv $1* $2      echo "move $fcnt file(s) from $1 to $2 successfully!"    else      echo "$2 does not exist!!!"    fi  else    echo "$1 is empty!"  fielse  echo "$1 does notexist!!!"fi

腳本說明

針對本shell腳本(命名為movefile.sh),說明如下:

第一,腳本第一行“umask 0000”表示賦予程序訪問文件的權限,因為后續要對文件進行剪切操作,所以必須要有對文件的操作權限才行。

第二,執行腳本的時候,要輸入兩個參數,第一個表示源文件目錄,第二個表示目的目錄。具體到腳本中,變量$1表示源文件目錄,變量$2表示目的目錄。

第三,本腳本的主要流程是這樣的:首先判斷源文件目錄是否存在,如果不存在,則直接打印源目錄不存在的消息;如果存在,則獲取源目錄下的文件數目,如果文件數為0,那么表示無需要剪切的文件,那么直接打印源目錄下無文件的消息;如果文件數大于0,那么就創建目的目錄,并在目的目錄創建成功的情況下之行文件的剪切操作。

第四,執行本腳本的命令格式為:sh movefile.sh 源文件目錄 目的目錄。注意,兩個目錄均要以/結束。

腳本執行

將movefile.sh腳本上傳到Linux機器上,然后對它進行測試。

第一,當源文件目錄不存在時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ /home/zhou/movefile/srcdir/ does notexist!!!

第二,當源文件目錄下無文件時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ /home/zhou/movefile/srcdir/ is empty!

第三,當源文件目錄下有1個文件時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ move 1 file(s) from /home/zhou/movefile/srcdir/ to /home/zhou/movefile/destdir/ successfully!

第四,當源文件目錄下有10個文件時,執行情況如下:

~>sh movefile.sh /home/zhou/movefile/srcdir/ /home/zhou/movefile/destdir/ move 10 file(s) from /home/zhou/movefile/srcdir/ to /home/zhou/movefile/destdir/ successfully!

總結

本文中的需求,如果有高級語言(如C語言)實現,那么代碼行數至少在100行以上,而如果有shell腳本實現,那么僅需要20行左右的代碼即可搞定。如此可以看出,shell命令的強大,這也算是Linux給開發者帶來的一大便利。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扎赉特旗| 治县。| 和平县| 金乡县| 乌恰县| 田阳县| 林周县| 黔江区| 莆田市| 武汉市| 肃宁县| 武功县| 明溪县| 甘泉县| 黑山县| 桃源县| 乌苏市| 永靖县| 新绛县| 富顺县| 岳普湖县| 页游| 和顺县| 辽阳县| 兴安盟| 扶余县| 洪洞县| 鹤庆县| 山阴县| 吐鲁番市| 宁南县| 龙州县| 方正县| 峨山| 左云县| 越西县| 奇台县| 康保县| 富平县| 五寨县| 松原市|