尝试将整个文件夹和子文件夹从外部 HD 复制到内部 HD

尝试将整个文件夹和子文件夹从外部 HD 复制到内部 HD

我是一位长期的 Windows 用户,刚刚开始使用 Ubuntu,所以请原谅我的新手问题。

我正在尝试将所有数据文件从 Windows 复制到 Ubuntu 20.04.2 LTS。

我已将 Windows 的数据驱动器复制到外部 HD,现在正尝试将其复制到内部 Ubuntu Desktop HD。尝试使用类似 GUI 时,我收到大量“权限被拒绝”错误:通过终端复制文件夹和子文件/文件夹。

因此我想到了一个好主意,使用终端。

我首先使用 lsblk 找到外部硬盘的挂载点然后我尝试(请不要笑):

sudo cp -avr /MOUNTPOINToftheexternal/* ~/Desktop/SAVEDIRECTORY/

然而它一直说:

cp: cannot stat '/MOUNTPOINToftheexternal/*': No such file or directory.

尽管我尽我所能地摆弄路径,它还是这么说。

这就是我想要做的:

我希望从我的外部硬盘中获取所有数据文件,最好不要个人元数据(如所有者、创建日期、创建位置等),然后将其复制到我的内部 Ubuntu 硬盘中。

我认为如果我可以更改权限,我就不会从 GUI 方法中收到“权限被拒绝”错误。但是尝试使用文件管理器方法失败了。

或者,我认为我可以使用 sudo 终端,但似乎无法找到到达外部高清所需的正确路径。

有人告诉我有关 MAT(元数据匿名工具包)的信息,它可能有助于消除个人元数据,但我听说它可能有第二版本,并且它仍然不能处理某些文件,如 pdf 或 RAW 文件。

请告诉我我做错了什么,以及我该如何做这些在 Windows 上似乎需要 5 分钟才能完成的事情。
我曾尝试在互联网和论坛上搜索这个看似简单的问题,但没有得到足够的答案。

我之前曾尝试问过这个问题,但可能不太清楚:如何将我的 Windows 7 衍生文件从 USB 复制到 Ubuntu?

然而,我肯定没有很好地解释自己,因为我尝试了这个答案,但对我没有用。

谢谢。我很感激您抽出时间。

$ sudo df -h
Filesystem                 Size  Used Avail Use% Mounted on
udev                       7.8G     0  7.8G   0% /dev
tmpfs                      1.6G  1.7M  1.6G   1% /run
/dev/mapper/vgubuntu-root  456G  8.9G  424G   3% /
tmpfs                      7.8G     0  7.8G   0% /dev/shm
tmpfs                      5.0M  4.0K  5.0M   1% /run/lock
tmpfs                      7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/loop0                  65M   65M     0 100% /snap/gtk-common-themes/1514
/dev/loop4                  52M   52M     0 100% /snap/snap-store/518
/dev/loop2                  56M   56M     0 100% /snap/core18/2074
/dev/loop3                  56M   56M     0 100% /snap/core18/2128
/dev/loop7                  33M   33M     0 100% /snap/snapd/12883
/dev/loop6                  51M   51M     0 100% /snap/snap-store/547
/dev/loop5                 219M  219M     0 100% /snap/gnome-3-34-1804/72
/dev/loop8                  33M   33M     0 100% /snap/snapd/12704
/dev/loop1                 219M  219M     0 100% /snap/gnome-3-34-1804/66
/dev/loop9                  66M   66M     0 100% /snap/gtk-common-themes/1515
/dev/sda2                  705M  217M  437M  34% /boot
/dev/sda1                  511M  5.3M  506M   2% /boot/efi
tmpfs                      1.6G   32K  1.6G   1% /run/user/1000
/dev/sdb1                  1.9T  1.3T  548G  71% /media/user/External HD

我想要复制的外部硬盘上的文件夹的相关权限是: drwxr-xr-x 4 user user 131072 Dec 31 2020 DATA save/

答案1

为了复制文件,您必须对要复制的文件夹和文件具有读取权限。在典型的 Ubuntu 系统上,默认情况下您将拥有这些权限。这可能不会成为您目前的问题。因此(到目前为止)最好以普通用户身份而不是管理员(“root”)身份执行复制操作。

您提供的错误信息:

cp: cannot stat '/MOUNTPOINToftheexternal/*': No such file or directory.

表示/MOUNTPOINToftheexternal/*不存在。获取要从中复制的文件夹的正确路径名的一种方法是

  1. 在文件管理器中导航到该文件夹
  2. Ctrl+ L。位置栏会显示路径。只需将其复制到剪贴板(Ctrl+ C)即可。

现在,您可以将该路径名粘贴到命令中。如果路径名包含空格或其他特殊字符,请将其放在引号之间。例如,假设路径实际上是/MOUNTPOINToftheexternal

cp -vr "/MOUNTPOINToftheexternal/"* ~/"Desktop/SAVEDIRECTORY/"

我删除了该-a选项,因为如果您以普通用户身份复制,则无法保留此选项。-a导致复制的文件继承与原始文件相同的权限和所有权。但是,作为普通用户,您不能将所有者设置为其他人,因此-a如果源中的文件属于其他用户,则该选项将失败。

因此,如果您希望权限和所有权与源中的权限和所有权相同,并且/或者您作为用户无法访问源文件(它们也不会在副本中),请在命令前面加上sudo。因此,您可能需要调整复制文件的所有权。

相关内容