20145330 《信息安全系统设计基础》第10周学习总结

20145330 《信息安全系统设计基础》第10周学习总结

视频知识总结

  • 目录 ls
    • 功能:列出目录内容,显示文件信息
    • ls -l:显示当前目录下详细信息(共7列)
      • 第一位:文件属性(类—文件-目录)
        • 二到四位:文件创建者权限(-代表无权限,r代表读权限,w代表写权限,x代表执行权限
        • 五到七位:代表同组用户权限
        • 八到十位:其他用户权限(具有读和其他权限,没有写权限)
      • 第二列:文件子目录数
      • 第三列:所有者
      • 第四列:所属用户组
      • 第五列:文件大小
      • 第六列:文件最后修改时间
      • 第七列:文件名
    • man ls
      • 查看功能
  • 如何编写ls
    • 如何列出目录内容

    • 如何判断目录名与文件名

      • 什么是目录:目录是一种特殊的文件,它的内容是文件和目录的名字
        • 目录文件永远不会空,每个目录都有至少两个特殊的项“."(当前目录)和:".."(上一级目录)
      • 是用什么系统项读取目录调用:man -k directory|grep read
      • 输入命令:man 3 readdirectory可以看到详细信息
      • see also :closedir(3) opendir(3)
        • man opendirz(3)
        • 自己编程实现:

`main`

	opendir
	while(readdir)
		print d_name
	closedir
  • 问题:

    • 排序
      • 文件名读入数组
      • qsort()排序
    • 分栏:
      • 文件名读入数组
      • 计算列宽和行数
    • .和..
      • 加入-a选项
      • 没有-a,不显示隐藏文件
    • -l
      • 功能不同
      • 单独实现
  • 如何读取文件属性

    • man 2 stat知给出文件路径获得文件属性
    • st_size:所占字节数
    • st_nlink:文件链接数
    • st_mtime:文件最后修改时间(time_t->ctime)
    • st_mode:文件类型和许可权限

who

  • who能做什么?使用一下man who

  • who命令参数:

    • -a 打印能打印的全部
    • -d打印死掉的进程
    • -m 同am i,mom likes
    • -q 打印当前登录用户数及用户名
    • -u 打印当前登录用户登录信息
    • -r 打印运行等级
  • 通过whatis who或man -f who直接运行命令,可以了解who的大致功能,要进一步了解who的用法,需要借助联机帮助manpages。

代码调试

代码cp1.c

  • 进行复制文件的操作,需要有源文件和目的文件

代码fileinfo.c

  • 用来实现显示文件信息。先判断命令是否有操作数,有的话才能继续进行下去,如果没有报错就打印出来相关文件信息,报错就用perror将报错信息打印出来。
  • 同样需要输入要查看的文件才会有信息打印出来

代码filesize.c

  • 原本的代码是指定查找etc/passwd文件的大小,所以后面输入什么文件名都是一样的大小

代码ls1.c

  • 简单的显示所在文件夹中的文件及文件夹列表

代码ls2.c

  • 显示所在文件夹中的文件及文件夹详细信息的列表

代码setecho.c

  • 可以改变符号显示状态,no是不显示符号,yes是显示
  • 可以看到no指令后输入的命令看不见,状态值为0;yes指令后恢复可见,状值态为1.

代码echostate.c

用来检查命令行中的提示符是否显示的,如果显示,输入的命令都可见,不显示则表示输入的命令不可见

代码spwd.c

显示出所在目录

代码testioctl.c

计算当前命令行窗口的行列数大小
不同大小的变化如下:

代码who1.c

从UTMP_FILE文件中读取系统中用户信息

代码调试中的问题

  • 代码fileinfo.c运行不出来,几次尝试都警告权限不够

  • 代码setecho.c运行不出来

本周代码托管截图

感悟与思考

实践很重要

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
第五周 50/1350 2/11 20/120
第六周 100/1450 1/12 20/140
第七周 50/1500 1/13 20/160
第八周 000/1500 2/15 30/190
第九周 50/1550 2/17 30/220
第十周 400/2050 2/19 30/250
posted @ 2016-11-19 18:24  20145330孙文馨  阅读(252)  评论(2编辑  收藏  举报