Cp

-a 選項對 cp 命令有什麼作用?

  • December 6, 2021

我試圖了解 -a 選項對 cp 命令的作用?我係統上的手冊頁沒有提供太多關於此的資訊。

根據手冊頁,cp -acp --no-dereference --preserve=mode,ownership,timestamps,context,links,xattr

  • --no-dereference: 複製符號連結而不是它指向的內容
  • --preserve=mode: 複製權限位
  • --preserve=ownership:複製所有者和組(如果可能)
  • --preserve=timestamps:複製mtime和atime(ctime不能複制)
  • --preserve=context: 複製 SELinux 或 SMACK 上下文屬性
  • --preserve=xattr: 複製擴展屬性

user10489的回答是正確的。但是可以從不同的角度來處理這個問題。問“它cp執行什麼功能?”

在這裡,我們實際上得到了相當多的暗示,-a即 的簡寫--archive,而這正是你最常使用它的時候。我最後一次需要使用此選項是在我更改發行版的同時重新格式化驅動器時。我想保留我的主目錄中的大部分文件,但如果你讓正常cp --recursive執行,有可能文件系統本身儲存的一些資訊不會被複製。我不太關心時間戳(儘管它們也被保留了很好),但是符號連結按原樣複製而不是跟隨它們的事實很棒。所有權資訊也非常重要,特別是當您以 root 或 LiveCD 啟動期間自動創建的某個使用者身份備份您的主目錄時。

請記住,-a在“存檔”恢復文件時使用它是必不可少的。否則,在恢復過程中,您可能會失去最初保存的內容。

引用自:https://unix.stackexchange.com/questions/680286