目录操作-代码实现 ls-a功能

代码实现ls-a操作,获取目录下每个文件名字,打印目录信息

目录操作详细知识点详见 文件io笔记

步骤:

1.打开目录

2.循环读取目录下的文件,读取的同时指针后移,只要读到了信息,就继续循环后移

3.循环打印读取到的信息,

#include <stdio.h>
#include <dirent.h>
#include <sys/types.h>

int main(int argc, char const *argv[])
{

    DIR *dir;         // 目录流
    struct dirent *d; // 定义结构体变量 接收 readir 返回值
    dir = opendir(".");
    if (dir == NULL)
    {
        perror(" open error");
        return -1;
    }

    // 打印目录信息
    // 打印的同时向后移动
    d = readdir(dir);
    printf("%s \n", d->d_name);

    // ls -a 功能
    // 循环打印文件名
    while ((d = readdir(dir)) != NULL)
    {
        printf(" %s ", d->d_name);
    }
    printf(" \n");

    return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现一个基于 Linux 内核的操作系统,首先需要明确实现的目标和基本步骤。以下是大致的操作步骤: 1. 内核选择:选择一个合适的 Linux 内核版本作为基础,可以是官方发布的稳定版本或者其他优秀的内核版本。 2. 编译内核:根据目标硬件平台,配置和编译内核源代码。这里需要根据具体硬件情况进行合适的内核配置,包括文件系统支持、驱动支持、网络支持等。编译过程可能需要花费一定时间。 3. 文件系统:选择合适的文件系统来支持操作系统的存储和管理。常见的文件系统有 ext2/ext3/ext4、XFS、Btrfs 等。根据需求选择合适的文件系统,并进行格式化和挂载。 4. 初始化管理:编写初始化脚本或程序,设置系统运行时环境。这些操作包括加载驱动程序、初始化设备、启动守护进程和服务等。 5. 用户空间工具和程序:编译和安装一些必要的用户空间工具和程序,如 bash、ls、cp 等。这些工具和程序能够提供一些必要的功能,让用户能够在终端中进行基本的操作。 6. 并发管理:实现进程管理和多任务机制,以支持多个进程同时运行。通过调度算法和管理数据结构,确保进程的安全和高效运行。 7. 设备驱动:根据硬件平台情况,选择或编写相应的设备驱动程序。这些驱动程序能够实现对硬件设备的访问和控制。 8. 网络支持:配置和启动网络服务,允许系统进行网络通信。这包括配置 IP 地址、设置 DNS、启动网络服务守护进程等。 9. 安全性和权限管理:实现用户权限管理和文件权限控制,确保系统的安全性和隐私性。 10. 调试和测试:对系统进行测试和调试,发现和修复可能的错误和问题。使用调试工具和技术,确保系统的稳定性和可靠性。 实现一个完整的 Linux 操作系统需要花费大量的时间和精力,并且需要有相应的编程和系统知识。同时,还需要不断学习和探索新的技术和方法来不断改进和完善系统。以上是一个大致的步骤,具体的实现过程可能因需求和环境而有所差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值