ls为list directory contents的简写,即显示目录下的文件相关信息。我们需要让ls命令来显示文件的组号、用户号、权限、文件名等信息。实现如下:
char *current_path = malloc(SHELL_CMD_LEN);
int params[2];
params[0] = 6;
params[1] = (int) current_path;
__asm__ volatile("int $0x80" :: "a"(params));
FILE *fp = malloc(sizeof(FILE));
FILE *p = fp;
fopendir(current_path, fp);
while (p->fs.dot != 0)
{
printf("%d %d %o %s\n", p->fs.owner, p->fs.group, p->fs.mode, p->fs.name);
fdirnext(p);
}
fclosedir(fp);
free(fp);
free(current_path);
运行结果:

源代码的下载地址为:
https https://github.com/magicworldos/lidqos.git git git@github.com:magicworldos/lidqos.git subverion https://github.com/magicworldos/lidqos branch v0.30
Copyright © 2015-2023 问渠网 辽ICP备15013245号