歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux循序漸進(09)

Linux循序漸進(09)

日期:2017/2/27 9:46:52   编辑:更多Linux
  第十課(六) 文件的復制、刪除和移動命令   cp命令   該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,就如同DOS下的copy命令一樣,功能非常強大。   語法: cp [選項] 源文件或目錄 目標文件或目錄   說明:該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。   該命令的各選項含義如下:   - a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。   - d 拷貝時保留鏈接。   - f 刪除已經存在的目標文件而不提示。   - i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。   - p 此時cp除復制源文件的內容外,還將把其修改時間和訪問權限也復制到新文件中。   - r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。   - l 不作拷貝,只是鏈接文件。   需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名是一個已存在的文件名,用cp命令拷貝文件後,這個文件就會被新拷貝的源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。   $ cp - i exam1.c /usr/wang/shiyan1.c   該命令將文件exam1.c拷貝到/usr/wang 這個目錄下,並改名為 shiyan1.c。若不希望重新命名,可以使用下面的命令:   $ cp exam1.c /usr/ wang/   $ cp - r /usr/xu/ /usr/liu/   將/usr/xu目錄中的所有文件及其子目錄拷貝到目錄/usr/liu中。   mv命令   用戶可以使用mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令如同DOS下的ren和move的組合。   語法:mv [選項] 源文件或目錄 目標文件或目錄   說明:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時, mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。   命令中各選項的含義為:   - I 交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。   - f 禁止交互操作。在mv操作要覆蓋某已有的目標文件時不給任何指示,指定此選項後,i選項將不再起作用。   如果所給目標文件(不是目錄)已存在,此時該文件的內容將被新文件覆蓋。為防止用戶在不經意的情況下用mv命令破壞另一個文件,建議用戶在使用mv命令移動文件時,最好使用i選項。   需要注意的是,mv與cp的結果不同。mv好象文件“搬家”,文件個數並末增加,而cp對文件進行復制,文件個數增加了。   例1:將/usr/xu中的所有文件移到當前目錄(用“.”表示)中:   $ mv /usr/xu/ * .   例2:將文件wch.txt重命名為wjz.doc   $ mv wch.txt wjz.doc   rm命令   在Linux中創建文件很容易,系統中隨時會有文件變得過時且毫無用處。用戶可以用rm命令將其刪除。該命令的功能為刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是刪除了鏈接,原有文件均保持不變。   rm命令的一般形式為:   rm [選項] 文件…   如果沒有使用- r選項,則rm不會刪除目錄。   該命令的各選項含義如下:   - f 忽略不存在的文件,從不給出提示。   - r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。   - i 進行交互式刪除。   使用rm命令要格外小心。因為一旦一個文件被刪除,它是不能被恢復的。例如,用戶在輸入cp,mv或其他命令時,不小心誤輸入了rm命令,當用戶按了回車鍵並認識到自己的錯誤時,已經太晚了,文件已經沒有了。為了防止此種情況的發生,可以使用rm命令中的 i選項來確認要刪除的每個文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件將被保留。在下一個例子中,用戶要刪除文件test和 example。然後會被要求對每個文件進行確認。用戶最終決定刪除example文件,保留test文件。   $ rm - ii test example   Remove test ?n   Remove example ?y


  第十課(七) 文件鏈接命令 ln命令   該命令在文件之間創建鏈接。這種操作實際上是給系統中已有的某個文件指定另外一個可用於訪問它的名稱。對於這個新的文件名,我們可以為之指定不同的訪問權限,以控制對信息的共享和安全性的問題。   如果鏈接指向目錄,用戶就可以利用該鏈接直接進入被鏈接的目錄而不用打一大堆的路徑名。而且,即使我們刪除這個鏈接,也不會破壞原來的目錄。   語法:ln [選項] 目標 [鏈接名]      ln [選項] 目標 目錄   鏈接有兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。建立硬鏈接時,鏈接文件和被鏈接文件必須位於同一個文件系統中,並且不能建立指向目錄的硬鏈接。而對符號鏈接,則不存在這個問題。默認情況下,ln產生硬鏈接。   在硬鏈接的情況下,參數中的“目標”被鏈接至[鏈接名]。如果[鏈接名]是一個目錄名,系統將在該目錄之下建立一個或多個與“目標”同名的鏈接文件,鏈接文件和被鏈接文件的內容完全相同。如果[鏈接名]為一個文件,用戶將被告知該文件已存在且不進行鏈接。如果指定了多個“目標”參數,那麼最後一個參數必須為目錄。   如果給ln命令加上- s選項,則建立符號鏈接。如果[鏈接名]已經存在但不是目錄,將不做鏈接。[鏈接名]可以是任何一個文件名(可包含路徑),也可以是一個目錄,並且允許它與“目標”不在同一個文件系統中。如果[鏈接名]是一個已經存在的目錄,系統將在該目錄下建立一個或多個與“目標”同名的文件,此新建的文件實際上是指向原“目標”的符號鏈接文件。   例:$ ln - s lunch /home/xu   用戶為當前目錄下的文件lunch創建了一個符號鏈接/home/xu。 本文由TurboLinux公司提供



Copyright © Linux教程網 All Rights Reserved