在遠程操控Linux時,有很多強大的shell命令可以幫助我們。其中復制文件和文件夾就是一個非常強大的功能。
1、同一台機器上的復制命令 cp.
復制文件 cp filename1 filename2 ,把filename1復制一份並命名為 filename2 .
加上參數 -f 在覆蓋重命名文件時不做任何提示。
如: cp -f filename1 filename2.
上述命令加上參數-r 就可以復制文件夾了。如 cp -rf dic1,dic2.關於cp更詳細的命令如下:
語 法:cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][——help][——spares=<使用時機>][——version][源文件或目錄][目標文件或目錄] [目的目錄]
補充說明:cp指令用在復制文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,而最後的目的地並非是一個已存在的目錄,則會出現錯誤信息。
參 數:
-a或——archive 此參數的效果和同時指定"-dpR"參數相同。
-b或——backup 刪除,覆蓋目標文件之前的備份,備份文件會在字尾加上一個備份字符串。
-d或——no-dereference 當復制符號連接時,把目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄。
-f或——force 強行復制文件或目錄,不論目標文件或目錄是否已存在。
-i或——interactive 覆蓋既有文件之前先詢問用戶。
-l或——link 對源文件建立硬連接,而非復制文件。
-p或——preserve 保留源文件或目錄的屬性。
-P或——parents 保留源文件或目錄的路徑。
-r 遞歸處理,將指定目錄下的文件與子目錄一並處理。
-R或——recursive 遞歸處理,將指定目錄下的所有文件與子目錄一並處理。
-s或——symbolic-link 對源文件建立符號連接,而非復制文件。
-S<備份字尾字符串>或——suffix=<備份字尾字符串> 用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,預設的備份字尾字符串是符號"~".
-u或——update 使用這項參數後只會在源文件的更改時間較目標文件更新時或是 名稱相互對應的目標文件並不存在,才復制文件。
-v或——verbose 顯示指令執行過程。
-V<備份方式>或——version-control=<備份方式> 用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,這字符串不僅可用"-S"參數變更,當使用"-V"參數指定不同備份方式時,也會產生不同字尾的備份字串。
-x或——one-file-system 復制的文件或目錄存放的文件系統,必須與cp指令執行時所處的文件系統相同,否則不予復制。
——help 在線幫助。
——sparse=<使用時機> 設置保存稀疏文件的時機。
——version 顯示版本信息。
2、不同機器間的復制命令 scp
scp的用法和cp很相似,不過就是在不同的機器間運行而已。
復制一個文件到另一台機器: scp -rf filename1
[email protected]:/usr/local/apache/htdocs/bak
上面的命令表示把當前目錄下的filename1文件(或者文件夾)以username的身份復制到bak.benxiaohai.com這台機器上的/usr/local/apache/htdocs/bak這個目錄下