cp的功能很多,由于我們常常進(jìn)行一些數(shù)據(jù)的復(fù)制,所以也會(huì)常常用到這個(gè)命令。一般來(lái)說(shuō),如果去復(fù)制別人的數(shù)據(jù)(當(dāng)然,該文件必須要有read的權(quán)限),總是希望復(fù)制到的數(shù)據(jù)最后是我們自己的,所以,在默認(rèn)條件中,cp的來(lái)源文件與目標(biāo)文件的權(quán)限是不同的,目標(biāo)文件的擁有者通常會(huì)是命令操作者本身。舉例來(lái)說(shuō),范例二中,由于我是root身份,因此復(fù)制過(guò)來(lái)的文件擁有者與用戶組就改變成為root所有了。
由于具有這個(gè)特性,在進(jìn)行備份的時(shí)候,某些需要特別注意的特殊權(quán)限文件,例如密碼文件(/etc/shadow)以及一些設(shè)置文件,就不能直接以cp來(lái)復(fù)制,而必須要加上 -a或者是 -p,這些可以完整復(fù)制文件權(quán)限的參數(shù)。另外,如果想要復(fù)制文件給其他用戶,也必須要注意文件的權(quán)限(包含讀、寫(xiě)、執(zhí)行以及文件擁有者),否則,其他人還是無(wú)法對(duì)你給的文件進(jìn)行修改。特別要注意。
上面的第4個(gè)范例最有趣,使用 -l及 -s都會(huì)建立所謂的連接文件(link file),但是這兩種連接文件有不一樣的顯示。這是怎么一回事? -l就是所謂的硬連接(hard link), -s則是符號(hào)連接(symbolic link),筆者這里先不介紹,因?yàn)檫@涉及i-node的相關(guān)知識(shí),我們還沒(méi)有介紹到,下一章再討論這個(gè)連接的問(wèn)題。總之,由于cp有種種文件屬性與權(quán)限,所以,在復(fù)制時(shí),必須要清楚地了解到:
• 是否需要完整地保留來(lái)源文件的信息?
• 來(lái)源文件是否為符號(hào)連接文件(symbolic link file)?
• 來(lái)源文件是否為特殊的文件,例如FIFO、套接字等?
• 來(lái)源文件是否為目錄?
由于具有這個(gè)特性,在進(jìn)行備份的時(shí)候,某些需要特別注意的特殊權(quán)限文件,例如密碼文件(/etc/shadow)以及一些設(shè)置文件,就不能直接以cp來(lái)復(fù)制,而必須要加上 -a或者是 -p,這些可以完整復(fù)制文件權(quán)限的參數(shù)。另外,如果想要復(fù)制文件給其他用戶,也必須要注意文件的權(quán)限(包含讀、寫(xiě)、執(zhí)行以及文件擁有者),否則,其他人還是無(wú)法對(duì)你給的文件進(jìn)行修改。特別要注意。
上面的第4個(gè)范例最有趣,使用 -l及 -s都會(huì)建立所謂的連接文件(link file),但是這兩種連接文件有不一樣的顯示。這是怎么一回事? -l就是所謂的硬連接(hard link), -s則是符號(hào)連接(symbolic link),筆者這里先不介紹,因?yàn)檫@涉及i-node的相關(guān)知識(shí),我們還沒(méi)有介紹到,下一章再討論這個(gè)連接的問(wèn)題。總之,由于cp有種種文件屬性與權(quán)限,所以,在復(fù)制時(shí),必須要清楚地了解到:
• 是否需要完整地保留來(lái)源文件的信息?
• 來(lái)源文件是否為符號(hào)連接文件(symbolic link file)?
• 來(lái)源文件是否為特殊的文件,例如FIFO、套接字等?
• 來(lái)源文件是否為目錄?


