zoukankan      html  css  js  c++  java
  • 操作系统第4次实验报告:文件系统

    一、实验目的

    通过编程进一步了解文件系统。

    二、实验内容

    • 在服务器上用Vim编写一个程序:实现Linux系统命令ls -lai的功能
    • 给出运行结果截图,对于每一列是如何获取的,结合源代码做解释
    suqiankun@jmu-cs-ubuntu:~$ ls -lai
    total 160
    920635 drwx------   6 suqiankun ubuntu  4096 Apr 27 09:52 .
    131195 drwxr-xr-x 129 root      root    4096 Apr 25 21:52 ..
    920658 -rw-------   1 suqiankun ubuntu 10359 Apr 27 10:38 .bash_history
    920636 -rw-r--r--   1 suqiankun ubuntu   220 Apr  5  2018 .bash_logout
    920638 -rw-r--r--   1 suqiankun ubuntu  3771 Apr  5  2018 .bashrc
    920656 drwx------   2 suqiankun ubuntu  4096 Mar 11 16:01 .cache
    

    三、实验报告

    在写报告之前,先仔细阅读:将作业提交到班级博客的一些注意事项

    在博文开头给出你的个人信息

    提交实验报告,从下面开始(在这之前的内容不需要拷贝到你的实验报告)。


    • 姓名
    • 学号
    • 班级

    1. 编写程序

    在服务器上用Vim编写一个程序:实现Linux系统命令ls -lai的功能,给出源代码。

    2. 分析运行结果

    给出运行结果截图,对于每一列是如何获取的,结合源代码做解释

    suqiankun@jmu-cs-ubuntu:~$ ls -lai
    total 160
    920635 drwx------   6 suqiankun ubuntu  4096 Apr 27 09:52 .
    131195 drwxr-xr-x 129 root      root    4096 Apr 25 21:52 ..
    920658 -rw-------   1 suqiankun ubuntu 10359 Apr 27 10:38 .bash_history
    920636 -rw-r--r--   1 suqiankun ubuntu   220 Apr  5  2018 .bash_logout
    920638 -rw-r--r--   1 suqiankun ubuntu  3771 Apr  5  2018 .bashrc
    920656 drwx------   2 suqiankun ubuntu  4096 Mar 11 16:01 .cache
    

    3. 通过该实验产生新的疑问及解答

    通过该实验如果有产生新的疑问,可以写出来,并尝试自己解决问题。

    4. 加分项

    读取/proc下相关文件,获取计算机基本配置信息。

    加分项满分10分。

    值得注意的是,加分项初衷是鼓励同学进一步探索,若发现不加思考从网上拷贝一堆内容过来,扣[-10, 0)分,因为你浪费了自己的时间,也浪费我的时间。

    附:咱们服务器/usr/include/linux/stat.h文件状态结构体的定义:

    struct statx {
        /* 0x00 */
        __u32   stx_mask;   /* What results were written [uncond] */
        __u32   stx_blksize;    /* Preferred general I/O size [uncond] */
        __u64   stx_attributes; /* Flags conveying information about the file [uncond] */
        /* 0x10 */
        __u32   stx_nlink;  /* Number of hard links */
        __u32   stx_uid;    /* User ID of owner */
        __u32   stx_gid;    /* Group ID of owner */
        __u16   stx_mode;   /* File mode */
        __u16   __spare0[1];
        /* 0x20 */
        __u64   stx_ino;    /* Inode number */
        __u64   stx_size;   /* File size */
        __u64   stx_blocks; /* Number of 512-byte blocks allocated */
        __u64   stx_attributes_mask; /* Mask to show what's supported in stx_attributes */
        /* 0x40 */
        struct statx_timestamp  stx_atime;  /* Last access time */
        struct statx_timestamp  stx_btime;  /* File creation time */
        struct statx_timestamp  stx_ctime;  /* Last attribute change time */
        struct statx_timestamp  stx_mtime;  /* Last data modification time */
        /* 0x80 */
        __u32   stx_rdev_major; /* Device ID of special file [if bdev/cdev] */
        __u32   stx_rdev_minor;
        __u32   stx_dev_major;  /* ID of device containing file [uncond] */
        __u32   stx_dev_minor;
        /* 0x90 */
        __u64   __spare2[14];   /* Spare space for future expansion */
        /* 0x100 */
    };
    
  • 相关阅读:
    使用阿里的EasyExcel实现表格导出功能
    推荐一款实用的java工具包---Hutool
    MySQL(二)锁机制【表级锁、页面锁、行级锁】
    MySQL(一)存储引擎
    使用redis的increment()方法实现计数器功能
    Redis缓存浅析
    Dubbo服务介绍
    SpringMVC工作执行流程详解
    GC垃圾回收机制----GC回收算法(GC机制必会知识点)
    数据结构之常见的数据结构
  • 原文地址:https://www.cnblogs.com/sparkandshine/p/12785510.html
Copyright © 2011-2022 走看看