-ar 标志对 cp 意味着什么?

Gan*_*ukh 3 command-line

-ar标志在这里是什么意思:

cp -ar ../foo/bar/. qux/quux/
Run Code Online (Sandbox Code Playgroud)

我对命令行语言很陌生,并尽我所能来学习它。

不确定-ar只有国旗。-r是递归的,那么您可以添加-a它-ar吗?是否-a意味着所有?

Dre*_*rew 5

通常,多个单字母标志可以组合成一个参数。在这种情况下:

cp -ar ../foo/bar/. qux/quux/
Run Code Online (Sandbox Code Playgroud)

相当于:

cp -a -r ../foo/bar/. qux/quux/
Run Code Online (Sandbox Code Playgroud)

如果您查看手册,它会告诉您 -a 与 -dR --preserve=all 相同。如果需要,您可以查看所有这些,但简短的版本是 -a 标志使新文件与原始文件具有相同的权限、所有者、时间戳等。(通常,它们将由执行“cp”的用户拥有,该用户具有您的 shell 配置定义的权限和当前时间戳。)

  • @Nomadme 见 http://unix.stackexchange.com/questions/18712/difference-between-cp-r-and-cp-r-copy-command - tl;dr:你应该只使用 -R,而不是 -r,因为 -r 对符号链接和特殊文件具有不可移植(通常是不受欢迎的)语义。但它们在 Linux 上并没有什么不同。 (2认同)