无法在 Linux 中复制文件:cp:目标“/.local/lib/python3.6/site-packages/certifi”不是目录

无法在 Linux 中复制文件:cp:目标“/.local/lib/python3.6/site-packages/certifi”不是目录

我正在使用 Ubuntu 18。我想将目录中的两个文件从桌面复制到以下目录:home/me/.local/lib/python3.6/site-packages/certifi

我执行了这个命令:

~/Desktop$ sudo cp servers-certs/cert1.pem servers-certs/cert2.pem /home/me/.local/lib/python3.6/site-packages/certifi

我收到此错误:

cp: target '/.local/lib/python3.6/site-packages/certifi' is not a directory

我尝试通过 GUI 手动导航。但当我进入 \home\me 时,我找不到该.local目录。

我的问题:

1)如何将我指定的桌面目录中的两个文件复制到其他目录中?

2) 为什么我看不到.local目录?我怎样才能看到它?

答案1

如果目标/home/me/.local/lib/python3.6/site-packages/certifi正如你所说的那样,cp那么就会抱怨它(如果有的话)。它/.local/lib/python3.6/site-packages/certifi反而抱怨。注意这是一个不同的路径。两种解释:

  1. 要么你在中间放一个空格/home/me,要么/.local/lib/…你不想放(很有可能);cp用正确的目标路径运行。
  2. me或者目录名后面确实有一个空格"me "(不常见但技术上仍然可行);在这种情况下您应该引用整个目标:

    "/home/me /.local/lib/python3.6/site-packages/certifi"
    

通常您看不到,.local因为以 (点) 开头的对象.是“隐藏”的。ls您需要-a选择。许多 GUI 工具对Alt+ .(点) 有反应,这会切换此类对象的可见性。

答案2

错误 cp: target '/.local/lib/python3.6/site-packages/certifi' is not a directory 意味着没有目录 /home/me/.local/lib/python3.6/site-packages/certifi,您需要从终端创建它:

cd /home/me/.local/lib/python3.6/site-packages   
mkdir certifi   

假设目录 /home/me/.local/lib/python3.6/site-packages 存在
,然后再次执行 cp 命令

您看不到 .local 的原因是因为以点开头的文件和目录是隐藏的,您可以通过单击“查看”菜单,然后单击“隐藏文件”选项在 nautilis 中使它们可见。

相关内容