在 Ubuntu / Linux 里,copendir 并不是常用的命令或系统调用,你可能指的是下面几种情况之一。我分别说明,你可以对照看看是哪一种。
Linux 中并没有 copendir,常见的是:
opendir()readdir()closedir()#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int fd);
#include <stdio.h>
#include <dirent.h>
int main() {
DIR *dir = opendir(".");
if (dir == NULL) {
perror("opendir");
return 1;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
gcc test.c -o test
./test
你可能把 cp 和 opendir 记混了。
cp -r 源目录 目标目录
常用参数说明:
| 参数 | 含义 |
|---|---|
-r / -R |
递归复制目录 |
-a |
归档模式(保留权限、时间、符号链接) |
-v |
显示复制过程 |
-u |
仅复制更新的文件 |
-p |
保留权限、属主、时间戳 |
cp -a /home/user/dir1 /home/user/dir2
例如:
find . -type d
或:
for d in */; do
echo "$d"
done
copendir请直接贴出:
我可以精确告诉你参数该怎么设。
copendir 这个标准命令opendir()(C 语言)cp -r(复制目录)如果你愿意,可以告诉我:
你是在 写 C 程序 / 用 shell / 看报错 / 看源码?
我可以按你的场景详细讲。