需求:
用乙個目錄覆蓋另乙個目錄
參見:
嘗試0:
直接cp -rf
cp -rf dir1 dir2
失敗。會將dir1 複製到dir2下。
原因參見info coreutils 2.8 target directory
嘗試1:
使用 mv -t dir1 dir2
當目錄都為空時,可以覆蓋。
目錄非空時,則不可覆蓋。
解決方案0:
cp -r -t dir1 dir2
會把dir1中的內容複製到dir2中。
但是dir2中原有而dir1中沒有的檔案不受影響,不會被刪除。
相當於合併。
解決方案1:
rsync -r --delete dir1 dir2
用dir1中的內容覆蓋dir2中的內容。
dir2中原有而dir1中沒有的檔案會被刪除掉。
效果上是dir1覆蓋了dir2。
一些理解和疑問:
rsync 本身設計用來同步檔案,做這件事還是很合適的。
rsync 的--delete 引數可以用來快速刪除檔案,達到覆蓋效果。
但是也要小心使用。以免誤刪。
cp/mv 的 -t 引數是將目的目錄當作普通檔案。
為什麼會有合併資料夾的效果?
Linux下長目錄改短目錄方法
修改 home bashrc檔案中的ps1變數即可。在相應的位置新增 sp1 u h w 修改後效果 ps1 提示符的設定變數。提示符的含義如下 主要資訊 u 當前登入使用者名稱 h 當前計算機名 主機名 譬如ubuntu h 當前計算機的網域名稱全程,譬如 ubuntu.ubuntu.com w ...
Linux下目錄的合併以及檔案的覆蓋
有兩個目錄test和new,test目錄下有目錄和檔案,new目錄下有更改過的一些test下的目錄和檔案,以及一些新增的檔案,現在對兩個目錄進行合併以及覆蓋test下的舊檔案linux下目錄的合併以及檔案的覆蓋案例 cp frap new test 命令其實非常簡單,解釋下 f 強制覆蓋,不詢問ye...
Linux下高效切換目錄的方法
linux 下對於目錄的切換,大家肯定會想到乙個命令 cd 命令。這個是 linux 下再基本不過的命令,如果這個命令都不知道的話,趕緊剖腹自盡去吧。cd 命令確實很方便,但如果需要頻繁在下面的目錄切換,你可能要懷疑人生了 home alvin projects blogdemos linux sy...