1. 程式人生 > >MV命令 及如何在linux系統中設定環境變數

MV命令 及如何在linux系統中設定環境變數

mv命令是move的縮寫,可以用來移動檔案或者將檔案改名(move (rename) files),是Linux系統下常用的命令,經常用來備份檔案或者目錄。

1.命令格式:

    mv [選項] 原始檔或目錄 目標檔案或目錄

2.命令功能:

視mv命令中第二個引數型別的不同(是目標檔案還是目標目錄),mv命令將檔案重新命名或將其移至一個新的目錄中。當第二個引數型別是檔案時,mv命令完成檔案重新命名,此時,原始檔只能有一個(也可以是源目錄名),它將所給的原始檔或目錄重新命名為給定的目標檔名。當第二個引數是已存在的目錄名稱時,原始檔或目錄引數可以有多個,mv命令將各引數指定的原始檔均移至目標目錄中。在跨檔案系統移動檔案時,mv先拷貝,再將原有檔案刪除,而鏈至該檔案的連結也將丟失。

3.命令引數:

-b :若需覆蓋檔案,則覆蓋前先行備份。 

-f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋;

-i :若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋!

-u :若目標檔案已經存在,且 source 比較新,才會更新(update)

   -t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個原始檔到一個目錄的情況,此時目標目錄在前,原始檔在後。

4.備份檔案

-b 不接受引數,

mv會去讀取環境變數VERSION_CONTROL來作為備份策略

--backup該選項指定如果目標檔案存在時的動作,共有四種備份策略:

1.CONTROL=none或off : 不備份。

2.CONTROL=numbered或t:數字編號的備份

3.CONTROL=existing或nil:如果存在以數字編號的備份,則繼續編號備份m+1...n:

執行mv操作前已存在以數字編號的檔案log2.txt.~1~,那麼再次執行將產生log2.txt~2~,以次類推。如果之前沒有以數字編號的檔案,則使用下面講到的簡單備份。

4.CONTROL=simple或never:使用簡單備份:在被覆蓋前進行了簡單備份,簡單備份只能有一份,再次被覆蓋時,簡單備份也會被覆蓋。


以上詳細 看

轉自

http://www.cnblogs.com/peida/archive/2012/10/27/2743022.html


###############################################################

Linux配置環境變數

1. 顯示環境變數HOME
  $ echo $HOME
  /home/redbooks
2. 設定一個新的環境變數hello
  $ export HELLO="Hello!"
  $ echo $HELLO
  Hello!
3. 使用env命令顯示所有的環境變數
  $ env
  HOSTNAME=redbooks.safe.org
  PVM_RSH=/usr/bin/rsh
  Shell=/bin/bash
  TERM=xterm
  HISTSIZE=1000
  ...
4. 使用set命令顯示所有本地定義的Shell變數
  $ set
  BASH=/bin/bash
  BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
  BASH_VERSION='2.05b.0(1)-release'
  COLORS=/etc/DIR_COLORS.xterm
  COLUMNS=80
  DIRSTACK=()
  DISPLAY=:0.0
  ...
5. 使用unset命令來清除環境變數
  set可以設定某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:
  $ export TEST="Test..." #增加一個環境變數TEST
  $ env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了
  TEST=Test...
  $ unset $TEST #刪除環境變數TEST
  $ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經存在了
6. 使用readonly命令設定只讀變數
  如果使用了readonly命令的話,變數就不可以被修改或清除了。示例如下:
  $ export TEST="Test..." #增加一個環境變數TEST
  $ readonly TEST #將環境變數TEST設為只讀
  $ unset TEST #會發現此變數不能被刪除
  -bash: unset: TEST: cannot unset: readonly variable
  $ TEST="New" #會發現此也變數不能被修改
  -bash: TEST: readonly variable
  環境變數的設定位於/etc/profile檔案
  如果需要增加新的環境變數可以新增下屬行
  export path=$path:/path1:/path2:/pahtN

 export配置環境變數時臨時的,shell關掉之後就會失效

1.Linux的變數種類
按變數的生存週期來劃分,Linux變數可分為兩類:
永久的:需要修改配置檔案,變數永久生效。
臨時的:使用export命令宣告即可,變數在關閉shell時失效。
2.設定變數的三種方法
在/etc/profile檔案中新增變數【對所有使用者生效(永久的)】
用VI在檔案/etc/profile檔案中增加變數,該變數將會對Linux下所有使用者有效,並且是“永久的”。
例如:編輯/etc/profile檔案,新增CLASSPATH變數
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改檔案後要想馬上生效還要執行# source /etc/profile不然只能在下次重進此使用者時生效。
在使用者目錄下的.bash_profile檔案中增加變數【對單一使用者生效(永久的)】
用VI在使用者目錄下的.bash_profile檔案中增加變數,改變數僅會對當前使用者有效,並且是“永久的”。
例如:編輯guok使用者目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
新增如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改檔案後要想馬上生效還要執行$ source /home/guok/.bash_profile不然只能在下次重進此使用者時生效。
直接執行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令列下直接使用[export 變數名=變數值] 定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再開啟新shell時就沒有這個變數,需要使用的話還需要重新定義。