问题描述
如何将文件/文件夹从ext4文件系统上的ubuntu计算机复制到另一个也在ext4文件系统上的ubuntu计算机,使用usb棒使用vfat文件系统而不丢失文件权限?
我已经从源计算机尝试了基本的ctrl-c,然后从USB到ctrl-v,然后从USB到ctrl-c再到ctrl-v到目标计算机,并且没有任何文件/文件夹权限保持不变。
最佳解决方案
您可以创建源的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
)可能更实用。
次佳解决方案
您可以尝试使用rsync
和-a
标志来保持复制时的所有权限。我不知道一个更简单的解决方案,但我过去曾将它用于某个目的。
Rsync为重复复制,更新文件夹等提供了出色的支持,同时保持了极快的速度。
第三种解决方案
我认为去皮,然后解决应该适用于文件和目录。
到焦油:
tar cvpfz /target.tar.gz /source/
解开:
tar xvpfz /source/
p
标志代表--preserve-permissions
。
您应该看到man tar
了解更多信息。