linux 普通用户拥有sudo权限 执行cp命令报错

发布网友 发布时间:2022-04-20 13:17

我来回答

2个回答

热心网友 时间:2022-06-09 14:46

cp 是无法执行 正则表达式的.至于 能够使用类似

cp test/*  test2/

这样的语法是因为 bash本身对它做了解释 .

cp test/file1 test/file2 test2/

cp命令本身没有匹配正则这样的功能.


因此你想利用通配符来复制文件 仅用cp命令是不够的.你可以尝试结合使用find命令来实现它.

如:

cd /home/z1
sudo find .  -iregex ".*\.xml" -exec cp {} /home/zz \;

 其中

.  表示在当前目录

-iregex 表示大小写敏感 后面跟着的就是正则表达式了

".*\.xml" 匹配所有以  .xml 结尾的文件  

-exec 如何前面匹配成功 则执行后面的命令

cp 是复制命令

{}  前面的找到的文件路径就用{}来代替

/home/zz 你要复制文件到的目的文件夹

\; 表示 命令结束 注意,这里的\是为了转义

热心网友 时间:2022-06-09 14:46

楼主试过先到z1目录下,然后执行cp *.xml /home/zz 会出现什么样的结果呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com