20135210——信息安全系统设计基础第十周学习总结

Who命令

  who 读取想要的信息到存储器中,再用标准输出函数打印到屏幕上,关闭文件。

  查看登录前的用户  -who am i;

  列出登录的用户   -who或-w。

 

Unix系统中的错误处理

 

  • unix风格:例如fork函数和外套函数,返回值既包括错误代码,又包括有用的结果。

    if((pid = wait(NULL))<0)
    {
        fprintf(stderr,"wait error:%s\n",strerror(errno));//将errno设置为指向错误原因的代码
        exit(0);
    }
    
  • Posix风格:例如pthread,函数只返回调用成功(0)或者失败(非0),任何有用的信息都返回在通过调用引用进来的参数中。
  • DNS风格:gethostbyname和gethostbyaddr检索NDS(域名系统)库;它们在错误的时候会返回NULL,并设置全局变量h_errno。
  • 错误处理包装函数

    • unix风格

      pid_t Wait(int *status)
      {
          pid_t pid;
          if(pid = wait(status)<0)
              unix_error("wait error");
          return pid;
      }
      
    • Posix风格

      void Pthread_detach(pthread_t tid)
      {
          int rc;
          if(rc=pthread_detach(tid) != 0)
              posix_error(rc,"Pthread_detach error");
      }
      
    • DNS风格

      struct hostent *Gethostbyname(const char *name)
      {
          struct hostname *p;
          if((p = gethostbyname(name)) == NULL)
              dns_error("Gethostbyname error");
          return p;
      }

错误处理包装函数

  •  Unix风格:成功时返回void,返回错误时包装函数打印一条信息,然后退出。
  •  Posix风格:成功时返回void,错误返回码中不会包含有用的结果。
  •  DNS风格:失败时返回Null指针,并且设置全局变量h_errno。

 

共享文件

  •   描述符表:每个进程一张独立的表
  •   文件表:所有进程共享,存放文件位置,引用计数和指向v-node表的指针
  •   v-node 表:所有进程共享,存放文件信息

 

标准I/O

标准I/O库将一个打开的文件模型化为一个流,一个流就是一个指向FILE类型的结构的指针。

  • 总述:这个库提供了unixI/O较高级别的替代。
  • 类型:
    • 打开和关闭文件的函数(fopen和fclose);
    • 读和写字节的函数(fread和fwrite);
    • 读和写字符串的函数(fgets和fputs)
  • 流的应用: 一个流就是指向一个FILE类型的结构的指针(比如,每有一个ASNI C文件打开,都会同时打开STDIN,STDOUT,STDERR三个流)。
    • 含义:流是对文件描述符和流缓冲区的抽象。(流缓冲区的目的和RIO类似,就是减少开销较高的unix系统调用的数量)

ls命令

ls -l 以长格式的形式查看当前目录下所有可见文件的详细属性

ls -a 列出的内容包含以“.”开头的文件

ls -lu 最后访问时间

ls -s 以块为单位的文件大小

ls -t 按时间排序

ls -F 显示文件类型

 

你可能感兴趣的:(20135210——信息安全系统设计基础第十周学习总结)