Linux实验二:编程实现程序list.c,列表普通磁盘文件,包括文件名和文件大小

1 实验目的:

(1) 使用vi编辑C源文件,熟悉工具vi。
(2) 使用Linux的系统调用和库函数。
(3) 体会Shell文件通配符的处理方式以及命令对选项的处理方式。
(4) 对选项的处理,自行编程逐个分析命令行参数。不考虑多选项挤在一个命令行参数内的情况。

2 实验要求:

与ls命令类似,处理对象可以有0到多个
0个:列出当前目录下所有文件
普通文件:列出文件
目录:列出目录下所有文件
实现自定义选项r,a,l,h,m以及 - -

r 递归方式列出子目录(每项要含路径,类似find的-print输出风格,需要设计递归程序)。、
a 列出文件名第一个字符为圆点的普通文件(默认情况下不列出文件名首字符为圆点的文件)
l 后跟一整数,限定文件大小的最小值(字节)
h 后跟一整数,限定文件大小的最大值(字节)
m 后跟一整数n,限定文件的最近修改时间必须在n天内
-- 显式地终止命令选项分析

3 实验设计

所用到的库函数函数和头文件:
头文件:#include<sys/types.h>
基本系统数据类型,是Unix/Linux系统的基本系统数据类型的头文件,含有size_t,time_t,pid_t等类型。
S_ISDIR()函数的作用是判断一个路径是不是目录
头文件:<sys/stat.h>
函数说明:通过路径path获取文件信息,并保存到buf所指向的结构体stat中
返回值:执行成功返回0,失败返回-1,错误代码存于errno
Stat 函数:取得指定文件的文件属性,文件属性存储在结构体stat里面。在本次代码中无数次使用了该结构

int stat(const char* path, struct stat
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值