1. 程式人生 > >LINUX入門筆記--檔案處理命令--目錄處理命令(續)

LINUX入門筆記--檔案處理命令--目錄處理命令(續)

1.mv

命令名稱:mv

命令英文原意:move

命令所在路徑:/bin/mv

執行許可權:所有使用者

語法:mv [原始檔或目錄名] [目標目錄]

功能描述:剪下檔案,改名

範例:

1.剪下檔案時,是不需要選項的,直接用mv即可了。如圖,我在臨時目錄/tmp下用mkdir遞迴建立了/a1/b1和/a2/b2目錄(第一行),檢視a2下的目錄(第二,三行)發現只有b2,然後mv /tmp/a1/b1 /tmp/a2就成功將b1目錄移到了a2下面,用ls檢視a2下面的目錄時發現有b1 b2(最後一行)就說明剪下成功了。

 

2.在剪下檔案時,每次都輸入/tmp/a1來移動的a1裡的目錄確很麻煩,這樣輸入的路徑是目錄的絕對路徑。其實可以先進入到a1這個目錄裡,然後直接敲下a1下你要剪下的目錄或者檔名即可

。如圖:在上一個目錄處理命令的筆記裡已經講過cd命令,我先用cd命令進入到/tmp/a2裡(第一行)然後mv b2 /tmp/a2就成功地將b2移到了a1下面,用ls檢視的確發現a1下面有了b2目錄(倒數第二行和最後一行)。顯然這樣方便了許多,但是需要注意的是在用的時候你必須保證你是進入到了你想要剪下的檔案的上級目錄了,這樣才能移動,為了避免出錯,每次都寫絕對路徑就好了。

3.改名,首先用ls檢視一下a1和a2下的目錄(前四行),然後我用mv /tmp/a2 /tmp/a1/new將a2移到a1下面並且將它改名為new,很顯然用ls檢視/tmp下的a2時已經不存在了,因為他已經被我移到了a1下面啦~檢視a1下面的目錄時顯然比我剛開始檢視的時候多了一個new~所以成功啦!這個過程可以這樣理解--本來a1下面是沒有new這個目錄的,mv是剪下移動並沒有建立的功能,所以他不可能建立一個目錄new,那這個new怎麼辦呢?不如就將它作為我即將移動到這裡的檔案的新名稱吧~(純屬個人理解~~~)

 注意:根據範例3可以清楚地理解如果我在同一個目錄下移動的話,不就是改名嗎。比如mv /tmp/a1/b1 /tmp/a1/bnew就是將a1下的b1剪下到了a1下並且改了一個名稱叫bnew,那從a1下又剪下到a1下不就是相當於沒有移動嗎,總得來說就是改了個名字而已啦~

2.rm

命令名稱:rm

命令英文原意:remove

命令所在路徑:/bin/rm

執行許可權:所有使用者

語法:rm -rf[檔案或目錄]         -r:刪除目錄         -f:強制執行

功能描述:刪除檔案

注意:在使用剪下mv和刪除rm這兩個命令做練習時不要看到一個目錄就我剪下一下試試吧或者我刪除一下試試吧,因為你操作這個目錄或檔案可能是系統目錄或檔案,操作完之後你就可能要重啟系統,然後系統崩潰!在做練習時最好選自己建立的目錄或者是從系統裡拷貝的目錄。

範例:

1.在刪除檔案時rm [檔名]即可,但是在刪除目錄時必須有選項-r(想一下在cp命令裡也是,如果只操作檔案的話不需要加任何選項,但是如果要複製目錄的話要加上選項-r)。如圖我遞迴建立了/mp/a1/a2/a3/a4目錄之後,第一次嘗試用rm刪除時沒有加選項(第二行),第三行出現ERROR說rm不能讓刪除這個東西,因為他是一個目錄。第四行我做了改正加上選項-r之後就成功刪除了。

2.(我的電腦上做不了這個例子的示範)強制刪除,就是沒有提示你要不要刪除的語句了。在刪除檔案或者目錄時,其實是有有一個提示語句的,就類似於中文的你是否要刪除這個東西,如果是的話就y否的話就n,但是你在刪東西時他每次都要問一次真的很煩,你不想讓他問的話就加一個選項-f就可以了。在刪除目錄的時候也是如此,如果你想刪除一個目錄,但是這個目錄下面有幾百個目錄的時候,他就會一個一個問你是否進入某個子目錄,是否刪除這個子目錄之類的亂七八糟的廢話,這時候你只需要將選項-r改成-rf就是強制刪除了。

注意:

1.rm與rmdir的區別:前者是刪除檔案或者目錄,後者是刪除空檔案;

2.在進行這個操作時一定要做好備份。因為在Linux了裡沒有類似於Windows下回收站的東西讓你還有一次反悔的機會的。另外不要進行以下兩個操作:rm -rf /和rm -rf /etc.前者是刪除linux下所有的東西,後者是刪除linux下的系統檔案。