萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux `cp` 複製目錄報錯 `omitting directory`?加 `-r` 遞歸複製即可解決

錯誤現場

$ cp AutoInstall_20150305 /opt
cp: omitting directory 'AutoInstall_20150305'

目標為目錄而非檔案,`cp` 預設不遞歸複製目錄內容,需顯式指定遞歸參數。

cp omitting directory 錯誤

解決指令

cp -r AutoInstall_20150305 /opt
  • `-r` / `-R` / `--recursive`:**遞歸複製**目錄及其所有子目錄、檔案。
cp -r 成功

舉一反三:同理可證

操作指令關鍵參數說明
遞歸刪除目錄`rm -r 目錄名``-r` / `-R` / `--recursive`刪除目錄及所有內容,**極度危險,確認後執行**
遞歸修改權限`chmod -R 755 目錄名``-R` (大寫)遞歸套用權限,**注意大寫 R**
遞歸修改擁有者`chown -R user:group 目錄名``-R`遞歸變更擁有者/群組
遞歸列出檔案`ls -R 目錄名``-R`遞歸顯示所有子目錄內容
遞歸比對差異`diff -r 目錄1 目錄2``-r`遞歸比較兩目錄樹差異

最佳實務

  • 複製目錄**慣用 `cp -av`** (`-a` = `-dR --preserve=all` 保留屬性/連結/時間戳 + 遞歸),等同 `cp -r --preserve=all`。
  • 同步備份首選 `rsync -avz --progress src/ dst/` (支援增量、壓縮、進度、斷點續傳)。
  • 大量小檔案複製時 `tar cf - src | (cd dst && tar xf -)` 效能優於 `cp -r`。
copyright © 萬盛學電腦網 all rights reserved