我是一位长期的 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/*
不存在。获取要从中复制的文件夹的正确路径名的一种方法是
- 在文件管理器中导航到该文件夹
- 按Ctrl+ L。位置栏会显示路径。只需将其复制到剪贴板(Ctrl+ C)即可。
现在,您可以将该路径名粘贴到命令中。如果路径名包含空格或其他特殊字符,请将其放在引号之间。例如,假设路径实际上是/MOUNTPOINToftheexternal
:
cp -vr "/MOUNTPOINToftheexternal/"* ~/"Desktop/SAVEDIRECTORY/"
我删除了该-a
选项,因为如果您以普通用户身份复制,则无法保留此选项。-a
导致复制的文件继承与原始文件相同的权限和所有权。但是,作为普通用户,您不能将所有者设置为其他人,因此-a
如果源中的文件属于其他用户,则该选项将失败。
因此,如果您希望权限和所有权与源中的权限和所有权相同,并且/或者您作为用户无法访问源文件(它们也不会在副本中),请在命令前面加上sudo
。因此,您可能需要调整复制文件的所有权。