如何使用采用 vfat 文件系统的 USB 驱动器将文件/文件夹从采用 ext4 文件系统的 ubuntu 计算机复制到另一台同样采用 ext4 文件系统的 ubuntu 计算机,而不会丢失文件权限?
我已尝试过在源计算机中使用基本的 ctrl-c,然后按 ctrl-v 到 usb,再从 usb 中使用 ctrl-c,然后按 ctrl-v 到目标计算机,但所有文件/文件夹权限均未保持完整。
答案1
您可以制作源代码的 tar 存档,使用 USB 驱动器将其复制到另一台计算机,然后在那里提取。Tar 保留文件权限。
1 – 在源计算机上:
cd /path/to/folder/to/copy
tar cvpzf put_your_name_here.tar.gz .
2 - 复制put_your_name_here.tar.gz
到 USB 驱动器,然后复制到另一台计算机
3 – 在目标计算机上:
cd /path/to/destination/folder
tar xpvzf put_your_name_here.tar.gz
tar
将重新创建存档文件夹结构并且所有权限均保持完整。
这些命令将归档内容源文件夹,然后将其提取到目标文件夹中。如果您想复制文件夹本身,则应在步骤 1 中执行以下操作:
cd /path/to/parent/folder
tar cvpzf put_your_name_here.tar.gz folder_to_copy
相同的机制可以用于单个文件。
如果您可以使用 从一台计算机连接到另一台计算机ssh
,那么@siddharthart 答案(rsync
) 可能更实用。
答案2
你可以尝试rsync
使用-a
标志在复制时保留所有权限。我不知道有更简单的解决方案,但我过去曾出于某种目的使用过它。
Rsync 对重复复制、更新文件夹等提供了出色的支持,同时保持了极快的速度。
答案3
我认为,对文件和目录进行去皮和解皮操作应该都可以。
至 tar:
tar cvpfz /target.tar.gz /source/
解压:
tar xvpfz /source/
这p
面旗帜代表--preserve-permissions
。
您应该查看man tar
更多信息。