使用 cp 复制的文件消失或未按预期到达

使用 cp 复制的文件消失或未按预期到达

我正在尝试复制~/Desktop/profiles/a.mobileprovision~/Library/MobileDevice/Provisioning Profiles.这是否是一个好主意不是这个问题的主题。这些文件永远不会出现,即使在执行ls -la.这是我的程序。

  1. $ cd ~/Library/MobileDevice/Provisioning Profiles//cd正在按预期工作。
  2. $ cp ~/Desktop/profiles/a.mobileprovision .
  3. $ find . -name "a.mobileprovision"

没有什么。

目录的权限:drwxr-xr-x,所以我应该被允许。

我使用的是 Mac(Monterey 12.5),所以我也尝试过:

  1. 在 Finder 中打开~/Library/MobileDevice/Provisioning Profiles并拖放a.mobileprovision,但释放鼠标后它消失。我显示了隐藏文件。没有运气。
  2. 复制a.mobileprovision~/Library/MobileDevice.这工作正常,但是当我尝试将其复制到 时~/Library/MobileDevice/Provisioning Profiles,却不起作用。

对评论的回应:

  1. 收益$ pwd之后做cd~/Library/MobileDevice/Provisioning Profiles
  2. 执行$ cp ~/Desktop/profiles/a.mobileprovision ~/Library/MobileDevice/Provisioning Profiles具有相同的效果:不执行任何复制。
  3. Mac 版本:Monterey 12.5(从 zsh 切换到 bash)。
  4. $ cp -v ~/Desktop/profiles/a.mobileprovision .产量~/Desktop/profiles/a.mobileprovision -> ./a.mobileprovision
  5. find . -name "<file_already_in_dir>"~/Library/MobileDevice/Provisioning Profiles在工作时。
  6. 试过了cp ~/Desktop/profiles/a.mobileprovision ~/Library/MobileDevice/'Provisioning Profiles'。同样的问题。

谢谢您的帮助!

答案1

纯粹根据您问题中的文本,我怀疑您创建的目标目录如下:

mkdir ~/Library/MobileDevice/Provisioning Profiles

然后像这样复制文件

cd ~/Library/MobileDevice/Provisioning Profiles
cp ~/Desktop/profiles/a.mobileprovision .

然而,这并没有复制a.mobileprovisionProvisioning Profiles.相反,它尝试将a.mobileprovision目录复制到当前目录中Provisioning的目录。Profiles

原因是您没有转义空格,Provisioning Profiles因此它被分成两个单词并按如下方式处理:~/Library/MobileDevice/Provisioningand Profiles。 (cd某些 shell 中的命令会忽略意外参数 - 因此在您的情况下,它将执行操作cd ~/Library/MobileDevice/Provisioning并忽略第二个单词Profiles.)

然后您告诉系统复制~/Desktop/profiles/a.mobileprovision到当前目录(即~/Library/MobileDevice/Provisioning)。此复制将成功,但您会发现它位于非预期Provisioning目录中。

包含空格的文件和目录名必须被引用(或用反斜杠前缀 ( ) 转义的空格\)。

相关内容