以root身份移动文件并保留所有者(Linux)

14

操作系统:Debian。 我想要以root用户身份在命令行中移动文件和文件夹,而不改变它们的所有者和组。这是否可行?


这个问题不适合在Stackoverflow上讨论。你可能想要在SuperUser或者Unix & Linux上提问。 - user2062950
你在哪里遇到了以root身份移动文件会改变权限的情况?这不应该发生。 - mata
2
@mata 我使用mv命令将一个文件从x用户和组移动。当我以root身份移动文件时,它现在归属于root和root组。 - Rombus
3
该问题似乎不适合本站,因为它涉及Linux,并应该发表在 http://unix.stackexchange.com/。 - Steve Robbins
1
@mata 看起来如果文件在不同的文件系统之间移动,权限会发生变化。 - zaTricky
2个回答

15

rsync:

 -A, --acls                  preserve ACLs (implies --perms)
 -X, --xattrs                preserve extended attributes
 -o, --owner                 preserve owner (super-user only)
 -g, --group                 preserve group
     --devices               preserve device files (super-user only)
     --specials              preserve special files

rsync命令详解


1
非常感谢Radu,我从未想过在本地使用rsync。它很有效。我添加了--remove-source-files标志,以便它像mv命令一样运行。所以它会像这样:#rsync -o -g --remove-source-files source dest - Rombus
值得注意的是,--remove-source-files 选项会在移动过程中持续删除文件。这与 mv 命令不同,后者只会在整个操作完成后才进行删除。 - smheidrich

9

mv命令保留了文件的所有权和时间戳。 对于cp命令,有多种命令行选项可供使用。例如:

cp -p file1 file2

man cp 将显示所有可用选项。


1
我正在使用mv命令并更改所有权和组。我需要一个类似mv的命令。 - Rombus
1
иҜ·жЈҖжҹҘжӮЁзҡ„mvе‘Ҫд»ӨжҳҜеҗҰиў«еҲ«еҗҚжүҖжӣҝд»ЈгҖӮд№ҹи®ёе®ғеңЁе№•еҗҺз§ҳеҜҶең°и°ғз”ЁдәҶcpе‘Ҫд»ӨгҖӮиҫ“е…Ҙaliasе‘Ҫд»Өд»ҘжҹҘзңӢжүҖжңүеҲ«еҗҚгҖӮ - dseiple
3
我的不是别名,也不保留任何东西。 - Nathan J.B.
6
如果您在不同的文件系统(分区)之间移动文件,则文件的所有者可能会改变。 - Frank Breitling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接