在 Linux(包括 Debian)里,readdir 不是 Debian 特有的东西,而是 POSIX 标准 C 库函数,用来 读取目录内容。
readdir 用来遍历(读取)一个目录里的文件和子目录。
当你在程序里打开一个目录后,可以用 readdir 逐个读取目录项(dirent),比如:
ls 命令的内部实现#include <stdio.h>
#include <dirent.h>
int main() {
DIR *dir = opendir("."); // 打开当前目录
if (!dir) return 1;
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
.
..
main.c
test.txt
| 函数 | 作用 |
|---|---|
opendir() |
打开目录 |
readdir() |
读取目录项 |
closedir() |
关闭目录 |
rewinddir() |
重新从目录开头读 |
seekdir() / telldir() |
定位目录流 |
readdir 不是命令readdir # ❌ 不存在
它是 C / C++ 编程接口,不是 shell 命令。
readdir 不会返回文件内容它只返回:
在 Debian 中:
#include <dirent.h>✅ readdir 的作用:
在程序中读取目录中的文件名和基本信息,用于目录遍历。
如果你是想问:
readdir 和 ls 的关系readdir 与 getdents 的区别可以继续问,我可以直接按你的使用场景讲。