[代码实例][Linux系统编程]列出目录下的文件和子目录

linux系统常用命令 这只是一小部分常用的Linux命令,还有很多其他的命令可以用于不同的场景和用途。 阅读详情

系统调用


#include <dirent.h>

DIR *opendir(const char *name);
struct dirent *readdir(DIR *dirp);

代码实例


#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <errno.h>

#include <dirent.h>

void list_files(const char * dir_path);

int main(int argc, char * argv[])
{
    if(argc > 1 && strcmp(argv[1], "--help") == 0)
    {
        printf("Usage: %s [dir...]\n", argv[0]);
        return EXIT_SUCCESS;
    }

    if(argc == 1)
        list_files(".");
    else
        for(int i = 1; i < argc; i++)
            list_files(argv[i]);

    return EXIT_SUCCESS;
}

void list_files(const char * dir_path)
{
    DIR * dirp;
    struct dirent * dp;
    bool is_current;

    is_current = strcmp(dir_path, ".") == 0;

    if((dirp = opendir(dir_path)) == NULL)
    {
        perror("opendir");
        exit(EXIT_FAILURE);
    }

    while(true)
    {
        errno = 0;
        if((dp = readdir(dirp)) == NULL)
            break;

        if(strcmp(dp->d_name, ".") == 0 || strcmp(dp->d_name, "..") == 0)
            continue;

        if(!is_current)
        {
            printf("%s/", dir_path);
        }

        printf("%s\n", dp->d_name);
    }
}
linux显示指定目录下所有的文件,子目录及子目录的文件 可以调用 dirent.h 中的scandir函数扫描指定目录中所有的文件名 如下,用了一个队列先进先出保存每一级的目录,while循环,无需递归,需要把.和..目录过滤 #include #include #include #include #include using namespace std; void scandir_recursive(const char* 阅读详情

相关推荐

linux中c++读取目录和子目录下文件

#include <sys/types.h> #include <sys/stat.h> #include <dirent.h> #include <cstddef> #include <string> void getFiles(std::string path, std::vector<std::string> &amp...

joey.lei的博客 2118

Linux编写脚本实现统计文件和目录

Linux编写j脚本实现统计任意目录下有多少个文件和文件夹

生夏夏的博客 789

列出目录和文件属性(linux)

列出目录和文件属性 1.1 问题 本例要求熟悉Linux命令行常用快捷键,并学会使用ls列出目录和文件属性,相关说明如下: 练习命令行常用快捷键:TAB、Ctrl+L、Esc+. 、Ctrl+C 查看根目录 / 下有哪些文档或子目录 以长格式显示结果,对比 /bin、/usr/bin/ 目录详细属性 列出当前目录下的所有文档(包括隐藏文档) 列出 /root/ 目录下以 ana开头的文档,识别文档大小 1.2 步骤 实现此案例需要按照如下步骤进行。 步骤一:命令行快捷键操作 参考以下快捷操作列表: TAB

qq_36963043的博客 1498

Linux 常用命令——文件目录篇(保姆级说明)

size [±]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。-A 同 -a ,但不列出 “.” (目前目录) 及 “…

专注于硬件开发,嵌入式研发,前后端数据技术,3D打印技术剖析。 2198

Kettle下载与安装教程【保姆版】

Kettle简介 Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。 它由Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。 主要功能 Pentaho D

weixin_43407520的博客 12万+

Comsol超声空化气泡仿真:从基础理论到工业应用实践

本文详细介绍了Comsol超声空化气泡仿真的基础理论及工业应用实践。通过解析超声空化现象、Comsol模型搭建流程及求解器优化技巧,帮助工程师掌握气泡仿真技术,提升超声波清洗和乳液制备等工业应用的效率与质量。

weixin_27966471的博客 252

Linux 查看目录和文件(shell中常见的基本命令)

另一个常用的选项是-l,可以用来查看文件的各种属性,如下所示,前进几个权限代表的意思可以看这里。cat命令会一次将所有的内容全部显示在屏幕上,因此当文件内容很多时,这样观看非常不好,输入cd命令,后面跟着一个路径名作为参数,就可以直接进入到另外一个子目录中去,例如。在linux上,这些文件被称为隐含文件,默认是不显示在目录下的,除非指定-a选项。ls是list的简化形式,ls的命令选项非常多,这里就不一一例举了,可以看这里。可以看到在每页的下方都会有个百分比,表示已显示内容占整个文件的比例,

ligare的博客 8万+

CLIP-Count代码配置以及踩坑记录

CLIP-Count代码配置以及踩坑记录

学术菜鸡 1011

【Shell 命令集合 磁盘管理 】Linux 列出目录中的文件和子目录 ls命令使用教程

ls命令是Linux系统中常用的一个命令,用于列出目录中的文件和子目录。它的作用是显示当前工作目录中的文件和目录列表。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 7195

prometheus 从入门到精通(史上最全)

Prometheus(由go语言开发)是一套开源的监控&报警&时间序列(按照时间排序)数据库的组合。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。它可以监控主机,服务,容器,支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。原文链接:https://blog.youkuaiyun.com/qq_45277554/article/details/130917620时间序列数据。

流水_鱼鱼的博客 1万+

FoundationPose复现及Realsense应用

FoundationPose是一个统一的基础模型,用于6D对象姿态估计和跟踪,支持基于模型和无模型的设置。在测试时可以立即应用于未见过的新对象,无需微调,只要给出其CAD模型,或者捕获少量RGBD参考图像。得益于统一框架,下游姿态估计模块在两种3D模型设置中都是相同的,当没有CAD模型时,使用神经隐式表示进行高效的新视角合成。通过大规模合成训练,辅以大型语言模型(LLM)、一种基于transformer的新架构和对比学习公式,实现了强大的泛化能力。

m0_56661101的博客 1万+

Linux ls 命令详解:Linux 系统中最常用的命令之一,用于列出目录中的文件和子目录

命令是 Linux 系统中最常用的命令之一,用于列出目录中的文件和子目录。它可以显示文件、目录的名称,并且通过不同的选项,用户可以自定义显示的详细信息。命令是 Linux 中最基础且最常用的文件和目录列出命令,它提供了强大的选项来定制输出格式。:此命令将列出当前目录中文件和子目录的详细信息,包括权限、所有者、大小、修改时间等。:此命令将列出当前工作目录中的文件和子目录,但不包括隐藏文件。:此命令将按文件的修改时间进行排序,最新修改的文件排在最前面。:此命令会按照文件的大小进行排序,较大的文件会排在前面。

yangchuang111213的博客 1567

『言善信』Fiddler工具 — 1、Fiddler介绍与安装

文章目录1、Fiddler简介2、Fiddler功能3、Fiddler工作原理4、Fiddler安装 1、Fiddler简介 Fiddler是强大的抓包工具之一,它能记录所有客户端和服务器之间的HTTP和HTTPS请求,是web调试的利器。 Fiddler是位于客户端和服务端之间的HTTP代理,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。 Fiddler可以抓取支持HTTP代理的任意程序的数据包,如果要抓取https会

繁华似锦Fighting 1468

Linux源码目录结构和Linux文件系统目录结构

学习Linux也有一段时间了,具体来整理一下Linux源码的目录结构和文件系统的目录结构,以便加深记忆。一、Linux源码的目录结构首先上一张截图,如下所示:再看各个文件的介绍,借用一下其他资源。arch:这个为目录是架构相关,里面存放了许多CPU架构,比如arm,x86,MIPS,PPC等,处理器原厂提供一套Linux内核的源码,那么在这个目录下都有一套针对具体处理器CPU的子目录。每个CPU的...

qq_38892883的博客 1万+

YOLO11改进:轻量级改进 | 通用倒瓶颈(UIB)搜索块结合C3k2二次创新 | 轻量化之王MobileNetV4

通用倒瓶颈(UIB)搜索块替代YOLO11的C3k2

会AI的学姐 293

《派出你的AI同事:WorkBuddy案例实战》067:按行业分类的案例索引

按行业分类的案例索引 —— 《派出你的AI同事:WorkBuddy案例实战》系列文章,配图已统一为规范示意图。

LuckyHanMo的博客 99

python列出目录文件_Python列出指定目录下的子目录/文件或者递归列出

1、python只列出当前目录(或者指定目录)下的文件或者目录条目import osfiles,dirs=[],[]for item in os.listdir():if os.path.isfile(item):files.append(item)elif os.path.isdir(item):dirs.append(item)### os.listdir()中可以指定目录,默认为当前目录##...

weixin_28805935的博客 2275

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Linux命令之列出目录内容ls

`ls` 命令用于列出当前目录下的内容。

二木成林 4万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ls 命令 - 列出指定目录中的文件和子目录

​ls​ 命令是在 Unix、Linux 和类 Unix 系统中常用的命令之一,用于列出指定目录中的文件和子目录。❯ls公共视频文档音乐appprojecttest模板图片下载桌面documentSiYuan。

qq_38641599的博客 1343

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux C 编程之遍历子目录及所有文件

转载自:http://blog.youkuaiyun.com/jeff_nie/article/details/8464900 遍历子目录用的方法是递归调用,先判断子目录流指针所指向的文件是否为目录文件。如果是,该函数将调用自身去遍历子目录;如果不是,则输出文件名,继续遍历当前目录,直到子目录流指向NULL。函数的depth参数作用是在子目录前增加空格的数量,每一轮递归都将增加4个空格,这样更容易显

wonder 2万+

Linux LS 命令——如何列出目录中的文件 + 选项标志

自 1970 年代 Unix 发明以来,许多操作系统都以它为基础。这些操作系统中有许多失败了,也有一些大获成功。 Linux 是最流行的基于 Unix 的操作系统之一。它是开源的,并在世界各地的许多行业中广泛应用。 Linux 操作系统的一项重要功能是命令行界面(CLI),它允许用户通过 Shell 与计算机进行交互。Linux Shell 是一个 REPL(Read,Evaluate,Print,Loop)环境,用户可以在其中输入命令,然后 Shell 执行该命令并返回一个结果。 ls命令是可以从.

pythondby的博客 1万+

linux 目录中的文件和子目录生成jar包文件的方法

linux 目录中的文件和子目录生成jar包文件的方法 jar cvf spark-libs.jar -C //usr/cwgis/app/spark/jars/ . //注意:.点前面有一个空格 [root@node111 /]# jar cvf spark-libs.jar -C //usr/cwgis/app/spark/jars/ . 用法: jar {ctxui}[vfmn0PMe...

hsg77的专栏 3929

linux 查看当前目录下每个子目录的文件数量

查看当前目录下每个子目录的文件数量 find . -maxdepth 1 -type d | while read dir; do count=$(find "$dir" -type f | wc -l); echo "$dir : $count"; done 统计当前文件夹下文件的个数,包括子文件夹里的 ls -lR|grep "^-"|wc -l 统计文件夹下目录的个数,包括子文件夹里的 ls -lR|grep "^d"|wc -l 统计当前文件夹下文件的个数 ls -l |grep "^-"|

mayue_web的博客 6988

ls命令(列出所有子目录与文件)

ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的dir命令。 语法:ls [选项] [目录或是文件] 对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出 其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。 参数

xingpidong 5万+

linux列出一个目录及其子目录下面的某种类型的文件

linux列出一个目录及其子目录下面的某种类型的文件 作者:smarteng ⁄ 时间:2009年07月09日 ⁄ 分类: Linux命令 ⁄ 评论:0 怎么样把,一个目录及其所有的子目录下面的某种类型(比如*.gif)的文件全部列出来? 这些子目录下面可能还包含有目录,要想全部列出*.gif的文件 find . -name "*.gif" linux find命令

swandy45的专栏 6408
上一篇: [代码实例][C++]MD5算法
下一篇: [代码实例][Linux系统编程]相对路径转绝对路径
cloudblaze
博客等级 码龄17年 81粉丝 125原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值