Huzi Asked: 2021-12-06 15:32:19 +0800 CST2021-12-06 15:32:19 +0800 CST 2021-12-06 15:32:19 +0800 CST -a 选项对 cp 命令有什么作用? 772 我试图了解 -a 选项对 cp 命令的作用?我系统上的手册页没有提供太多关于此的信息。 cp 2 个回答 Voted Best Answer user10489 2021-12-06T15:54:57+08:002021-12-06T15:54:57+08:00 根据手册页,cp -a与cp --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: 复制扩展属性 v010dya 2021-12-07T00:13:51+08:002021-12-07T00:13:51+08:00 user10489的回答是正确的。但是可以从不同的角度来处理这个问题。问“它cp执行什么功能?” 在这里,我们实际上得到了相当多的暗示,-a即 的简写--archive,而这正是你最常使用它的时候。我最后一次需要使用此选项是在我更改发行版的同时重新格式化驱动器时。我想保留我的主目录中的大部分文件,但如果你让常规cp --recursive运行,有可能文件系统本身存储的一些信息不会被复制。我不太关心时间戳(尽管它们也被保留了很好),但是符号链接按原样复制而不是跟随它们的事实很棒。所有权信息也非常重要,特别是当您以 root 或 LiveCD 启动期间自动创建的某个用户身份备份您的主目录时。 请记住,-a在“存档”和恢复文件时使用它是必不可少的。否则,在恢复过程中,您可能会丢失最初保存的内容。
根据手册页,
cp -a
与cp --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
在“存档”和恢复文件时使用它是必不可少的。否则,在恢复过程中,您可能会丢失最初保存的内容。