将目录从 USB 驱动器复制到另一个 USB 驱动器失败

Dav*_*lw1 3 usb-drive files

尝试使用以下命令将目录“max7219”(包括子目录和文件)从一个 USB 驱动器复制到另一个 USB 驱动器失败:

ubuntu@ubuntu:~$ cp -pr /dev/sdb2/media/ubuntu/rootfs/max7219 /dev/sdc2/media/ubuntu/rootfs1/
Run Code Online (Sandbox Code Playgroud)

这显示了一个错误:

cp: failed to access '/dev/sdc2/media/ubuntu/rootfs1/': Not a directory

“lsblk”(省略 Snap 安装的应用程序的“loopXX”设备)显示:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
??sda1   8:1    0   100M  0 part 
??sda2   8:2    0 931.4G  0 part 
sdb      8:16   1  14.4G  0 disk 
??sdb1   8:17   1  42.9M  0 part /media/ubuntu/boot
??sdb2   8:18   1  14.4G  0 part /media/ubuntu/rootfs
sdc      8:32   1  59.7G  0 disk 
??sdc1   8:33   1   256M  0 part /media/ubuntu/boot1
??sdc2   8:34   1  59.4G  0 part /media/ubuntu/rootfs1
sr0     11:0    1     2G  0 rom  /cdrom
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

谢谢大卫

sud*_*dus 10

在文件级别复制

您应该在挂载点之间复制

cp -pr /media/ubuntu/rootfs/max7219 /media/ubuntu/rootfs1/
Run Code Online (Sandbox Code Playgroud)

或者如果您需要提升的写入权限

sudo cp -pr /media/ubuntu/rootfs/max7219 /media/ubuntu/rootfs1/
Run Code Online (Sandbox Code Playgroud)

/dev/sdb2 /dev/sdc2应删除前缀。

在分区级别克隆

如果你clone,你应该使用分区的设备名称(但应该没有文件路径)

sudo cp /dev/sdb2 /dev/sdc2
Run Code Online (Sandbox Code Playgroud)

但这是一个非常危险的操作,因为一个小的输入错误可能会使您覆盖其他分区中的有价值数据。