今天晚上給本博客升級WordPress到3.0,為了方便就直接將tar包放到服務(wù)器上去了。然后習(xí)慣的用tar指令解壓后,生成了一個wordpress目錄,將配置文件重新配置好,然后就打算將這個目錄與原來的目錄合并。習(xí)慣性的輸入了下面這條指令:
#cp -Rf wordpress my_blog
指令成功執(zhí)行了,然后趕緊去看my_blog目錄下的文件,發(fā)現(xiàn)沒有更新,而是多了個my_blog子目錄!暈,cp直接將源目錄拷貝到目標(biāo)目錄下當(dāng)子目錄了!看來得趕緊想個辦法解決掉這個問題,否則就得手動一個一個傳文件上去覆蓋老目錄了,多慢??!
趕緊上網(wǎng)找解決辦法,很快就被我命中了方法。使用下面的指令來將/aaa/bbb目錄復(fù)制到當(dāng)前目錄的bbb目錄下合并。-u參數(shù)表示只更新較新的文件和不存在的文件。
#cp -R -u /aaa/bbb .
不過要實現(xiàn)這點,必須將原來的目錄改名成要合并的目錄,然后放到另外一個目錄下做“跳板”才行。簡單的說,如果想要更新當(dāng)前目錄下的my_blog目錄,我得放到如./tmp/my_blog目錄下,然后再使用指令“cp -R -u ./tmp/my_blog .”的方式來更新。雖然麻煩點,但是暫時只找到這個方法了,說干就干。依次使用下面的指令操作(中文為命令注釋,實際操作的時候不需要輸入)
#mkdir tmp 在當(dāng)前目錄下創(chuàng)建tmp目錄
#cp -Rf wordpress tmp/將當(dāng)前目錄下的wordpress目錄移動到tmp目錄下
#cd tmp/ 進入tmp目錄
#mv wordpress my_blog 將tmp目錄下的wordpress目錄重命名位my_blog
#cd .. 返回到上級目錄
#\cp -Rf tmp/my_blog . 將tmp目錄下的my_blog與當(dāng)前目錄下的同名目錄合并
大家可能會發(fā)現(xiàn),最后一個命令沒有使用cp -R -u,為什么呢?舍棄掉-u是為了確保所有文件都被覆蓋掉。加上f參數(shù)是為了避免提示是否要覆蓋文件,文件少還可以手動敲y后回車,文件多了要命?。〉菫槭裁碿p之前還有一個“\&;符號呢?很簡單,cp命令使用-f參數(shù)后,還是會提示是否要覆蓋文件,因為cp命令的alias是cp -i,而恰恰-i參數(shù)是表明有交互提示,于是直接輸入cp -Rf是不能消除提示的。在cp命令前加上“\&;,或者使用cp命令的絕對地址就可以保證不出現(xiàn)提示了。
最后,我們需要將原來的目錄刪除掉,由于新建的tmp里只有原來的目錄,所以我們把整個tmp目錄刪除即可:
#rm -rf tmp
這樣就大功告成了!
以上的內(nèi)容就是小編為大家?guī)淼年P(guān)于CentOS下合并目錄的方法了;是不是很簡單呢!以后大家遇到同樣的問題時候,不妨嘗試一下上述的操作;希望可以幫助到大家!