为什么 cp -ax /media/hdd /media/ssd 会在 media/ssd 中创建一个 hhd 文件夹而不是在那里复制文件?

为什么 cp -ax /media/hdd /media/ssd 会在 media/ssd 中创建一个 hhd 文件夹而不是在那里复制文件?

我正在使用 liveCD 将文件系统从一个驱动器 (hdd) 克隆到一个 ssd(我正在尝试迁移我的系统以使用 SSD)

我将/dev/sdb1(我之前的 hdd)安装到/media/hdd
我将/dev/sda1(我的 ssd)安装到/media/ssd
我正在使用以下命令

sudo cp -ax /media/hdd/ /media/ssd/  

当我创建一个目录时,/media/ssd我看到一个名为 hdd 的文件夹!为什么会这样?

更新:
现在我将编辑/etc/fstabssd 上的 以指向新的 fs UUID(我将使用 blkid 查找它)。
以下是该命令的输出:

cp -ax /media/hdd/* /media/hdd/.* /media/ssd/

您看到的错误就是我迁移到 SSD 的原因。这台 PC 一直运行正常,而 HDD 似乎有问题。

现在...我是否应该担心硬链接无法创建?

现在我将编辑/etc/fstabssd 以指向新的 fs UUID(我将使用 blkid 查找它)。

我的下一步是使用以下命令更新 SSD 上的 grub:

sudo -s
for f in sys dev proc ; do mount --bind /$f /media/ssd/$f ; done
chroot /media/ssd
grub-install /dev/ssd
update-grub 

考虑到上述情况以及图片中显示的错误,我应该预料到任何问题吗?

编辑2:我使用此处描述的过程恢复了 GRUBhttps://help.ubuntu.com/community/Boot-Repair 对于初学者来说非常简单。上面的命令行对我来说不起作用

在此处输入图片描述

答案1

道路cp

命令:

sudo cp -ax /media/hdd/ /media/ssd/

复制文件夹hdd,命令:

sudo cp -ax /media/hdd/* /media/ssd/

复制文件夹的文件和子文件夹hdd

使用:

shopt -s dotglob

考虑点文件。


道路rsync

rsync -az -H --delete --numeric-ids /media/hdd/ /media/ssd/

答案2

当您将某些内容复制到文件时,如果文件存在,它会覆盖该文件。

当你将某些内容复制到目录中时,毁掉目录中现有的所有内容并用新内容替换它可能会相当危险,因此它会复制进入目錄。

这就是为什么hdd被复制到ssd目录中。

如果 你 不 这样 做sudo cp -ax /media/hdd/* /media/hdd/.* /media/ssd, 它 会将 其中 的 所有 文件 复制hddssd.

表示*里面所有未隐藏的文件hdd.*表示里面所有隐藏的文件hdd

相关内容