温馨提示×

Debian readdir有啥作用

小樊
43
2026-08-24 09:17:53
栏目: 智能运维

在 Linux(包括 Debian)里,readdir 不是 Debian 特有的东西,而是 POSIX 标准 C 库函数,用来 读取目录内容


一句话说明

readdir 用来遍历(读取)一个目录里的文件和子目录。


基本作用

当你在程序里打开一个目录后,可以用 readdir 逐个读取目录项(dirent),比如:

  • 文件名
  • 文件类型(普通文件 / 目录 / 符号链接等)

常见使用场景

  • ls 命令的内部实现
  • 文件管理器
  • 日志扫描、文件遍历程序
  • 备份、搜索工具

基本用法(C 语言示例)

#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 不会返回文件内容

它只返回:

  • 文件名
  • inode 号
  • 文件类型(部分系统)

Debian 上的实现

在 Debian 中:

  • glibc 提供
  • 头文件:#include <dirent.h>
  • 属于 POSIX 标准,所有 Linux 发行版都一样

总结

readdir 的作用

在程序中读取目录中的文件名和基本信息,用于目录遍历。

如果你是想问:

  • readdirls 的关系
  • readdirgetdents 的区别
  • 在 shell / Python / Go 里怎么用

可以继续问,我可以直接按你的使用场景讲。

0