我在Linux中以root用户身份登录。我有一个拥有777权限的文件。我将该文件复制到与cp相同的目录中。
cp settings.php settings_copy.php但是,复制的文件具有不同的文件权限。
[root@localhost default]# ls -l setting*
-rwxr-xr-x. 1 root root 29105 Apr 26 11:48 settings_copy.php
-rwxrwxrwx. 1 root root 29105 Apr 26 09:48 settings.php这是正常的吗?如何确保复制的文件获得相同的权限?我相信这是任何操作系统中复制命令的默认行为。
发布于 2016-04-27 02:56:13
使用-p选项保留权限:
cp -p settings.php settings_copy.php复制文件时,您是在创建一个新文件。因此,它的(新文件)权限取决于当前文件创建掩码,您可以通过umask命令更改该掩码。有关更多信息,请阅读man umask。
发布于 2016-04-27 02:57:53
你有没有看过man cp
以下是相关部分:
-p same as --preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all因此,为了保持相同的所有权和模式,您可以运行以下命令:
cp --preserve=mode,ownership如果你知道这是你想要的,但又不想记住它,你可以把它作为一个别名添加到你的.bashrc中;
alias cp='cp --preserve=mode,ownership'https://stackoverflow.com/questions/36873424
复制相似问题