兩個高效的cp命令用法!
在Linux上能使用鼠標點來點去的圖形化界面是一件很美妙的事……但是如果你喜歡的開發(fā)交互環(huán)境和編譯器是終端窗口、Bash和Vim,那你應(yīng)該像我一樣經(jīng)常和終端打交道,即使是不經(jīng)常使用終端的人,如果對終端
在Linux上能使用鼠標點來點去的圖形化界面是一件很美妙的事……但是如果你喜歡的開發(fā)交互環(huán)境和編譯器是終端窗口、Bash和Vim,那你應(yīng)該像我一樣經(jīng)常和終端打交道,即使是不經(jīng)常使用終端的人,如果對終端環(huán)境深入了解也能獲益良多,更多內(nèi)容可參考《Linux就該這么學(xué)》。
什么是cp命令
據(jù)百度百科的解釋,cp(意即copy)命令是第一個版本的Unix系統(tǒng)的一部分,連同一組其它的命令ls、mv、cd、pwd、mkdir、vi、sh、sed和awk,還有提到的cp都是我在接觸System V Unix系統(tǒng)時所學(xué)習(xí)的命令之一,cp命令最常見的用法是制作文件副本。像這樣:cp sourcefile destfile。
在終端中執(zhí)行此命令,上述命令將名為sourcefile的文件復(fù)制到名為destfile的文件中。如果在執(zhí)行命令之前destfile文件不存在,那將會創(chuàng)建此文件,如果已經(jīng)存在,那就會覆蓋此文件。
基本用法
這個命令我不知道自己用了多少次了(我也不想知道),但是我知道在我編寫測試代碼的時候,我經(jīng)常用,為了保留當前正常的版本,而且又能繼續(xù)修改,我會輸入這個命令:cp 。
在過去的多年里,我使用了無數(shù)次這個命令。另外,當我決定編寫我的第二個版本的測試程序時,我會輸入這個命令:cp 。
這樣就完成了修改程序的第一步。我通常很少查看cp命令的參考文檔,但是當我在備份我的圖片文件夾的時候(在GUI環(huán)境下使用“file”應(yīng)用),我開始思考“在cp命令中是否有個參數(shù)支持只復(fù)制新文件或者是修改過的文件?!惫?,真的有!
只復(fù)制新文件或修改過的文件
cp命令提供了一個非常有用的參數(shù)--update,它可以幫助我們只復(fù)制新文件或修改過的文件。例如,我們有一個source文件夾和一個dest文件夾,我們希望將source文件夾中的所有新文件或修改過的文件復(fù)制到dest文件夾中。
我們可以使用以下命令來實現(xiàn):
cp --update -r source/ dest/
這個命令將會遞歸地復(fù)制source文件夾中的所有新文件或修改過的文件到dest文件夾中。這樣,在每次備份文件夾時,我們只需要復(fù)制那些有變動的文件,大大提高了復(fù)制的效率。
總結(jié)
在Linux環(huán)境下,使用終端進行開發(fā)和編程是非常常見的。而cp命令作為Unix系統(tǒng)的一部分,是一個非常實用的命令,尤其在制作文件副本和備份文件時。除了基本的用法外,我們還可以利用--update參數(shù)來只復(fù)制新文件或修改過的文件,從而提高復(fù)制的效率。熟練掌握和靈活運用cp命令,將會使我們在終端環(huán)境下的工作更加高效和便捷。