首页 > 其他 > 详细

改进ls的实现

时间:2019-12-28 15:09:52      阅读:75      评论:0      收藏:0      [点我收藏+]

一、要求

  • 参见附图,改进你的ls的实现。提交代码运行截图和码云链接

技术分享图片

二、步骤

目录 ls

  • 功能:列出目录内容,显示文件信息
  • ls -l:显示当前工作目录下包含目录及属性详细信息(共7列)

  • 第一列:文件属性(类—文件-目录)
    二到四位:文件创建者权限(-代表无权限,r代表读权限,w代表写权限,x代表执行权限)
    五到七位:代表同组用户权限
    八到十位:其他用户权限(具有读和其他权限,没有写权限)

  • 第二列:文件子目录数(字段数至少为2)
  • 第三列:所有者
  • 第四列:所属用户组
  • 第五列:文件大小
  • 第六列:文件最后修改时间
  • 第七列:文件名

man ls 查看ls的具体命令功能

技术分享图片

  • 目录是一种特殊的文件,它的内容是文件和目录的名字

  • 目录文件永远不会空,每个目录都有至少两个特殊的项“."(当前目录)和:".."(上一级目录)

  • 系统项读取目录调用man -k directory|grep read

  • 输入命令man 3 read directory可以看到详细信息(查看其数据结构,name保存其文件名)

ls的改进中的问题

  • 排序:

文件名读入数组
qsort()排序

  • 分栏:

文件名读入数组
计算列宽和行数
.和..
加入-a选项
没有-a,不显示隐藏文件
l(会显示详细信息)
功能不同
单独实现
如何读取文件属性

  • man 2 stat查看stat结构体的详细信息

技术分享图片

st_size:所占字节数
st_nlink:文件链接数
st_mtime:文件最后修改时间(time_t->ctime日历时间格式)
st_mode:文件类型和许可权限(模式转化为字符 user group other)

三、码云链接

lspro.c

四、结果

技术分享图片

改进ls的实现

原文:https://www.cnblogs.com/SANFENs/p/12111553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!