小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Shell腳本 實現(xiàn)vi/cp/mv前自動備份源文件-Linux頻道-中國IT實驗室

 Jim_Liu 2010-05-02

Shell腳本 實現(xiàn)vi/cp/mv前自動備份源文件

  以下腳本把所有要編輯的源文件備份到/bak目錄下,并且所有的路徑位置保持不變,比如vii /etc/hosts,則把/etc/hosts復(fù)制到/bak/etc/hosts。

  # cat /sh/vii

  #!/usr/bin/bash

  #判斷源文件是否存在,存在才執(zhí)行備份操作

  if [ -f "$1" ];then

  #創(chuàng)建函數(shù),可實現(xiàn)任意鍵繼續(xù)

  #如果你的機(jī)器上不認(rèn)stty raw那么把函數(shù)中兩處出現(xiàn)的raw換成cbreak

  get_char()

  {

  SAVEDSTTY=`stty -g`

  stty -echo

  stty raw

  dd if=/dev/tty bs=1 count=1 2> /dev/null

  stty -raw

  stty echo

  stty $SAVEDSTTY

  }

  #創(chuàng)建備份的根路徑/bak,并讓所有人具有寫權(quán)限

  if [ ! -d "/bak" ];then

  mkdir /bak

  chmod a+w /bak

  fi
 
 #判斷目標(biāo)文件所處的路徑并創(chuàng)建,讓所有人對新創(chuàng)建的任一級目錄均具有寫權(quán)限

  echo $1 | grep "/" >/dev/null

  if [ "`echo $?`" = "0" ];then

  cd ${1%/*}

  fi

  pwdnow=`pwd`

  path=/bak${pwdnow}

  #echo $path

  if [ ! -d "$path" ];then

  mkdir -p $path

  patha=${pwdnow#/}

  chmod -R a+w /bak/${patha%%/*}

  fi

  #復(fù)制目標(biāo)文件

  datenow=`date +%Y%m%d`

  timenow=`date +%H%M%S`

  /usr/bin/cp $1 ${path}/${1##*/}.${datenow}.${timenow}

  echo "Target file \"$1\"

  has been copied to ${path}/${1##*/}.${datenow}.${timenow}"

  echo "Now going to \"vi $1\",Press any key to continue……"

  char=`get_char`

  fi

  #調(diào)用vi命令

  vi $1

  調(diào)用腳本

  # chmod a+x /sh/vii     

  # /sh/vii /etc/passwd

  你可以把/sh加入到PATH變量中,這樣就更方便了。

  同理,涉及cp/mv命令時最好也備份一下目標(biāo)文件,以免被意外覆蓋。
 
 
 
 
**************************
chmod a+x :
a 表示“所有(all)用戶”。它是系統(tǒng)默認(rèn)值。

操作符號可以是:

  + 添加某個權(quán)限。

  - 取消某個權(quán)限。

  = 賦予給定權(quán)限并取消其他所有權(quán)限(如果有的話)。

設(shè)置 mode 所表示的權(quán)限可用下述字母的任意組合:

  r 可讀。

  w 可寫。

    x 可執(zhí)行

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多