我需要通过编写C语言程序列出当前目录中所有具有644权限的文件。我不能使用system()
并且必须使用execl()
才能使用系统调用。
这是我在代码中使用的一行:
execl("/usr/bin/find", "find . -maxdepth 1 -perm 644", (char *)NULL);
问题是代码正在搜索整个磁盘而不是当前目录。你能帮我修一下吗?
...
case 4:
int status;
switch (fork()){
case -1: quit ("fork",1);
case 0:
execl("/usr/bin/find","find","." ,"-maxdepth" ,"1","-perm", "644",(char *)NULL) ;
exit (200);
default:
wait(&status);
exit(0);
}
}