当前位置: 首页 > article >正文

Linux下实现ls命令的功能

教材:<Linux编程技术详解>  杜华 编著   人民邮电出版社
参考页码:P136
书中源代码:

//p4.10.c  实现类似ls命令的功能
#include<stdio.h>
#include<sys/types.h>
#include<dirent.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<unistd.h>

const int N_BITS=3;

//dir_lnk结构用于保存文件或目录名称
typedef struct dir_lnk{
    char d_name[256];   //保存文件名或目录名
    struct dir_lnk * next;
}dirlnk;

//为了方便输出信息,还定义了info结构体
typedef struct item_info{
    unsigned long inode;  //在stat函数中,inode类型是ino_t,宏定义中两才等价
    char permission[11];   //保存用户权限
    int owner;            //用户id
    int group;            //组id
    off_t size;           //文件大小,实为long型
    time_t mod_time;      //文件创建时间
    char name[256];      

http://www.kler.cn/a/315874.html

相关文章:

  • core 文件
  • 关于学习炸鸡佬智能手表 应用硬件IIC1来取代原来软件模拟的IIC
  • LeetCode105.从前序与中序遍历构造二叉树
  • opc da 服务器数据 转 IEC61850项目案例
  • 鸿蒙之多选框(Checkbox)
  • 一文窥见神经网络
  • 【C++】—— stack queue deque
  • 数据库三范式和ER图详解
  • 一种新的电子邮件攻击方式:AiTM
  • 【有啥问啥】探索累计推理(Cumulative Reasoning, CR)——大型语言模型中的复杂推理新框架
  • 音视频入门基础:AAC专题(9)——FFmpeg源码中计算AAC裸流每个packet的duration和duration_time的实现
  • 详解 FFmpeg 中的 -map 选项
  • Qt-QLineEdit输入类控件(29)
  • 【鸿蒙OH-v5.0源码分析之 Linux Kernel 部分】011 - 第一个用户空间进程 init 进程 第一阶段初始化过程 源码分析
  • poi生成的ppt,powerPoint打开提示内容错误解决方案
  • 论文阅读:A Generalization of Transformer Networks to Graphs
  • [JavaEE] 网络初识(网络通信 及 TCP / UDP / IP 封装分用 )
  • 强大的重命名工具 | Bulk Rename Utility v4.0 便携版
  • 【Linux】入门【更详细,带实操】
  • flask + vue
  • CCF CSP题解:字符串变换(str)(202409-2)
  • 多态对象的内存结构
  • [Python学习日记-27] 文件操作练习题解析
  • Java的IO流(二)
  • 基于STM32残疾人辅助行走系统
  • Kotlin 基本介绍(二)