我是一个相对较新的 Linux 用户,正在转移到一台新计算机,因此我决定将一些文件(一些配置、下载和主文件)复制到硬盘驱动器(从以前的笔记本电脑)。sudo nautilus
我没有使用而是使用了sudo cp -r
相反的方法,因为我认为它会更快。但是,当我将这些文件传输到新电脑时,除非我使用,否则我无法对它们执行任何操作sudo
(注意:两个设备的密码不同)。有没有一种方法可以“真正”复制这些文件而忽略这些权限。命令或技术可以使用sudo
,只要我不需要sudo
再次使用来访问这些文件。
我拥有从中获取这些文件的旧计算机,但我目前无法访问它,因此我正在寻找可以在新计算机上完成的方法。
例如,我复制了一些使用 的项目make
,当我使用make
/时make clean
,它说权限被拒绝,即使该文件夹位于我的主文件夹中。因此,我需要传递sudo
每个命令才能使其正常工作。
任何形式的帮助,包括任何形式的指南,我们将不胜感激。谢谢!
答案1
正如您所使用的,sudo cp -r
新文件属于 root 用户。如果要在保留原始权限的同时复制文件,请使用sudo cp -p -r
.
要立即“修复”您的文件,请尝试sudo chown -R yourusername filepath
,其中您的用户名应该是文件的正确所有者,而不是 root,而 filepath 是这些文件所在的根文件夹。
请注意,某些文件系统(主要是旧文件系统)可能缺乏对此类权限的支持。
尝试阅读有关 Linux 中的文件权限和文件所有权的内容。一旦您了解了如何操作,您就会发现可以执行更复杂的许可操作。