带有通配符语法的 sudo cp 在 Linux 中不起作用

带有通配符语法的 sudo cp 在 Linux 中不起作用

我有一个目录,其中包含 root 拥有的文件,我希望从该目录将所有以 结尾的文件复制errorAll到另一个目录。我的通配符语法是正确的,因为执行会ls -latr *errorAll显示我想要复制的所有文件。

尝试复制(以非 root 级别用户身份)使用cp *errorAll ~/Target/会给我预期的警告cp: cannot create regular file /home/tarskin/errorAlls/calibrated_20130903_healthy#1-b_IgA_again_1401_C10.errorAll: Permission denied,我只是添加了这一步来表明该命令应该可以工作(在我看来)。

但是,当我以根级别用户身份运行它时,sudo cp *errorAll ~/Target/它不会显示任何消息或错误,只是声称它在几秒钟内完成,而实际上并没有复制任何内容。

有人知道为什么会发生这种情况吗?

编辑

请求了以下信息, 的输出ls -ld .drwxr-xr-x 2 root root 3342336 Oct 22 10:09 .的输出ls -ld ~/errorAlls/drwxr-xr-x 2 root root 3342336 Oct 22 10:09 .

-v向命令中添加cp详细输出不会改变任何内容,命令“完成”而不执行任何操作。

答案1

递归尝试

sudo cp -r *errorAll ~/Target/

相关内容