日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

如何移動UNIX目錄

有時候 , 您需要將整個 Unix 目錄樹復(fù)制到相同系統(tǒng)中其他的位置或不同的系統(tǒng) 。有許多種不同的方法可以完成這項操作 , 但并非所有的方法都可以保持信息數(shù)量不變或兼容于不同的系統(tǒng) 。本文討論了 UNIX 中各種可用的選項 , 以及如何最好地使用它們來完成相應(yīng)的任務(wù) 。
關(guān)于本系列
通常 , UNIX?管理員都擁有一套常用的輔助進(jìn)程管理的關(guān)鍵實用工具、訣竅和系統(tǒng) 。本文提供了各種用于簡化各個過程的關(guān)鍵實用工具、命令行鏈和腳本 。這些工具中的一部分來自于操作系統(tǒng) , 而大部分的訣竅則來源于長期的經(jīng)驗積累和減輕系統(tǒng)管理員的工作壓力的要求 。本系列文章主要專注于最大限度地利用各種 UNIX 環(huán)境中可用的工具 , 包括簡化異類環(huán)境中的管理任務(wù)的方法 。
使用 cp
如果您使用 -r 命令行選項遞歸到其子目錄中 , 標(biāo)準(zhǔn)的 cp 命令可用于復(fù)制整個目錄樹 。該選項將對非標(biāo)準(zhǔn)的文件執(zhí)行未知的操作 。有些 UNIX 變種和 GNU cp 工具支持 -R 選項 , 使用該選項可以正確地復(fù)制命名管道、鏈接和其他的文件 。
對于最簡單的應(yīng)用 , cp 命令可以將目錄復(fù)制到具有不同名稱的新目錄(請參見清單 1) 。
清單 1. cp 命令—將一個目錄復(fù)制到具有不同名稱的新目錄
$ cp -r srcdir destdir
然而 , 當(dāng)在 cp 命令中指定源文件和目標(biāo)位置時 , 您應(yīng)該加以小心 , 因為其處理方式可能對結(jié)果有很大的影響 。例如 , 假設(shè)您希望將目錄 /home/mc 復(fù)制到目錄 /export/home/mc 。如果 /export/home/mc 不存在 , 那么清單 2 會將目錄 /home/mc 復(fù)制到 /export/home/mc 。
清單 2. 在 cp 命令中指定源文件和目標(biāo)位置
$ cp -r /home/mc /export/home/mc
然而 , 如果 /export/home/mc 已經(jīng)存在 , 那么清單 2 會將目錄 /home/mc 復(fù)制到這個目錄中 , 并創(chuàng)建新的目錄 /export/home/mc/mc 。
要將一個目錄中的內(nèi)容復(fù)制到一個已有的目錄中 , 可以選擇源目錄中的文件 , 如清單 3 所示 。
清單 3. 將一個目錄中的內(nèi)容復(fù)制到一個已有的目錄中
$ cp -r /home/mc/* /export/home/mc
cp 工具有一個非常有用的選項 , -p 命令行選項 , 它還可以確保維持每個文件的權(quán)限和所有權(quán) 。
使用 tar
tar 命令最初用來將文件歸檔到磁帶(確切地說 , 是磁帶驅(qū)動器) 。例如 , 您可以使用清單 4 中的命令 , 將當(dāng)前目錄中的文件復(fù)制到磁帶上 。
清單 4. 使用 tar 將當(dāng)前目錄中的文件復(fù)制到磁帶
$ tar cf /dev/rmt0 .
可以對清單 4 進(jìn)行如下分析:
c 選項創(chuàng)建一個新的存檔 。f 選項使用命令行中的下一個選項作為目標(biāo)名稱 。在這個示例中 , 使用第一個原始磁帶設(shè)備 (/dev/rmt0) 。您還可以使用其中所有的信息創(chuàng)建一個 tar 文件 。. 告訴 tar 將所有的文件和目錄(以及當(dāng)前目錄下所有的文件和目錄)添加到這個存檔文件中 。然而 , 除了可以將文件和目錄結(jié)構(gòu)復(fù)制到磁帶 , 您還可以使用 tar 將它們復(fù)制到一個文件 。更有用的是 , 您可以將文件復(fù)制到標(biāo)準(zhǔn)輸出 , 然后可以使用管道從標(biāo)準(zhǔn)輸入中提取這些文件 , 并將它們從一個地方復(fù)制到另一個地方 。通常在系統(tǒng)中復(fù)制和重新創(chuàng)建非標(biāo)準(zhǔn)的文件類型時 , tar 命令更加可靠 , 因為 cp 命令不支持 -R 命令行選項 。
例如 , 清單 5 顯示了如何將文件從當(dāng)前目錄復(fù)制到一個已有的目錄 。
清單 5. 將文件從當(dāng)前目錄復(fù)制到一個已有的目錄
$ tar cf - . | (cd DIR; tar xf - )
可以對清單 5 進(jìn)行如下分析:
tar cf - . 對當(dāng)前目錄中的文件創(chuàng)建一個新的存檔 , 輸出到標(biāo)準(zhǔn)輸出 。cd DIR 更改了目錄 。請注意 , 這個目錄在進(jìn)行文件復(fù)制之前應(yīng)該已經(jīng)存在 。tar xf - 從標(biāo)準(zhǔn)輸入中提取文件 。通過使用圓括號將上面的兩個部分括起來 , 可以有效地將它們作為一個而不是兩個命令來處理 , 并且 cd 命令在提取存檔之前進(jìn)行 。兩者之間的管道 (|) 將第一個 tar 的標(biāo)準(zhǔn)輸出傳入到第二個 tar 的標(biāo)準(zhǔn)輸入 , 并且高效地將文件復(fù)制到一個并不存在的存檔文件 , 然后再從其中提取文件 。如果您顯式地指定了路徑 , 那么 tar 命令可以保持存檔中所包含的文件的完整路徑 。清單 6 使用顯式的路徑將文件復(fù)制到存檔中 , 這意味著 , 不能將這些文件提取到其他的地方 , 只能返回到它們的初始位置 。

推薦閱讀