Linux操作系统中读取目录文件信息的过程分析

国产杀毒大PK:安天智甲 智量 火绒 360TS TX管家

海量网购优惠券与返利

大致流程:

1.添加头文件 dirent.h

声明结构体指针 struct dirent * ptr;

声明一个dir指针 DIR * fd;

2.分析命令行

3.打开目录文件

使用opendir()参数为解析命令行的第二个参数 argv[1] ,返回目录文件指针值赋给 fd

4.输出重定向

使用freopen()参数为解析命令行第三个参数 argv[2]、权限"w+"、文件描述符stdtout

5.开始读取目录文件内容

使用循环 while((ptr=readdir(fd))!=NULL) ,readdir()每次从目录文件中提取一个文件项目,指针前移。直至到文件末尾返回NULL值。ptr指针指向readdir()返回的dirent 结构体,每次函数调用返回的结果不同 dirent中的成员内容不同,其中d_name成员的值为每次读取到的目录中的文件名称。使用周周给的原来mstat.c中的获得文件信息代码将 ptr->d_name做fopen()、fstat()的参数,即可打印出目录中所有文件的信息并存入输出文件中。

6.关闭所有文件及目录文件指针。

猜你喜欢

  1. Linux(Unix)中误删除的文件恢复方法

    在Linux下大致重新演示一下恢复的过程,恢复的步骤与数据库版本没有太大关系,与操作系统的不同会有所不同。 1. 在数据库open的时候,直接删除users表空间中的数据文件。 复制代码 代码如下: ...

  2. Linux操作系统中超级权限控制的应用

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者。普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户。 在系统中,每个文件、目录和进程,都归属于某一个用户 ...

  3. 教你在虚拟机linux操作系统中安装vmtools

    很多用户在测试linux操作系统的时候喜欢用虚拟机,因为虚拟机方便而且可以同时在一台PC机上虚拟出来不同版本的linux操作系统,但是虚拟机和物理机之间的文件传输倒成了个问题,有人说可以使用vmtoo ...

  4. Linux操作系统中的七件超厉害的武器

    Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的 ...

  5. linux系统中怎么查看cpu信息?

    很多时候,我们想知道机器的CPU信息,用的却是linux,又不知道去哪看,这怎么办呢?下面我就教你怎么在linux下查看CPU信息. 1.这里我先介绍一个文件.它就是/proc目录文件,它是一个内存映 ...

  6. Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)

    Linux下的学习开始总是艰难的,但有的时候,却发现Linux下远比Windows的操作来的实在的多——这下载文件的完整性就是其中一件,让本人觉着很爽的一件事情。在编译安装各种软件的时候,总要到各个网 ...

  7. linux系统中批量查找文件与文件内容的方法

    比如查找当前目录下面所有的php文件里面某个关键字 复制代码 代码如下: find ./ -name "*.php" | xargs grep '关键字' 如果需要查找的内容包含特殊符号,比如$等等, ...

  8. Linux系统中怎么搜索文件命令大全

    命令1:which "which 命令" 查找且只能查找命令所在目录 例如:which ls 命令2:whereis "whereis 命令" 查找且只能查找命令所在目录 + 帮助文档位置 where ...