readdir 在 Debian(以及大多数 Linux 系统)里可以从 两个层面 来查看:
readdir 是 POSIX 标准函数,用于读取目录内容。
在 Debian 上先安装 man 手册(如果还没装):
sudo apt install man-db manpages manpages-dev
然后查看:
man readdir
常见相关手册:
man 3 readdir # 用户态函数(最常用)
man 2 readdir # 系统调用(较少直接使用)
说明:
man 3 readdir:glibc 提供的函数man 2 getdents:真正的内核系统调用(readdir 底层调用它)在 Debian 上查看函数声明:
grep -R readdir /usr/include/
通常定义在:
#include <dirent.h>
路径示例:
/usr/include/dirent.h
安装 glibc 源码:
sudo apt install glibc-source
解压后可在:
/usr/src/glibc/
中搜索 readdir 实现。
安装内核源码:
sudo apt install linux-source
解压后搜索:
grep -R readdir fs/
常见位置:
fs/readdir.c
fs/ext4/dir.c
fs/proc/base.c
strace ls
你会看到类似:
getdents(...)
说明:
readdir() 在用户态getdents| 你想看什么 | 命令 |
|---|---|
| 用户态函数 | man 3 readdir |
| 头文件 | grep readdir /usr/include/dirent.h |
| 内核实现 | grep -R readdir /usr/src/linux/fs/ |
| 实际系统调用 | strace ls |
| glibc 源码 | apt install glibc-source |
如果你是想:
可以告诉我具体场景,我可以更精确地帮你。