zoukankan      html  css  js  c++  java
  • 改进ls的实现(课下作业)

    改进ls的实现

    实验内容:

    • 参见附图,改进你的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)

    改进后截图

  • 相关阅读:
    分布式
    jdk与jre的区别
    rabbitmq
    dicom错误解决
    centos6.5搭建hadoop完整教程
    spark
    Oracle索引扫描
    Oracle的rowid结构解析
    PL/SQL — 集合及常用方法
    PL/SQL — 变长数组
  • 原文地址:https://www.cnblogs.com/LZHNB/p/12108185.html
Copyright © 2011-2022 走看看