我正在尝试完成这一个命令,这就是我尝试的:
sudo cp /hw2/ladsrc/.c[a-g] /hw2/a-gFiles
我在这里做错了什么?
答案1
我假设以下几点:
- 问题的标题是正确的
- 问题中的命令仅仅是一个示例,而不是您实际输入的内容
这是复制文件的最简单方法(正如其他人指出的那样):
cp /hw2/ladsrc/[h-o]*.c /hw2/h-oFiles
这是进行复制的更好方法。很有可能有很多文件符合您的条件。如果是这样,xargs 是一个更好的解决方案。此外,文件名中可能还有空格或特殊字符。请尝试以下方法(通过 -n 选项一次复制 3 个文件,这比常规复制更快):
find /hw2/ladsrc/ -name "[h-o]*.c" | xargs -n 3 -I {} cp "{}" /hw2/h-oFiles
[注]:我不确定为什么要使用 sudo。问题描述中没有说明。如果您是普通用户,则无需使用 sudo。如果您不拥有要复制的文件,但拥有 sudo 权限,则需要使用 sudo 进行复制。在这种情况下,您需要使用 -p 标志和 cp(复制)来保留文件所有权和文件权限。如果不是,则 root 用户将拥有文件的所有权。
答案2
也许你想写
sudo cp /hw2/ladsrc/[a-g]*.c /hw2/a-gFiles