zoukankan      html  css  js  c++  java
  • 第一章 Unix 基础知识

    一: 引言

    二: UNIX体系结构

        1. 操作系统: 严格意义上, 可将操作系统定义为一种软件,一般而言, 我们称此种软件为内核(kernel)。

                           作用: (1)控制计算机硬件资源。

                                       (2)提供程序运行环境。

        2. 系统调用(system call): 内核的接口。

                              (1)函数库和shell构建在系统调用基础上。

                                (2)  应用软件既可以使用库函数, 也可以使用系统调用。

                   注: shell是一种特殊的应用程序, 为运行其他应用程序提供接口。

                  


    三: 登录

        1. 登录名:用户在登录unix系统时,先键入登录名,后键入口令。系统在口令文件(通常是/etc/passwd)中查看登录名。

                         口令文件中的登录项目由7个以冒号分隔的字段组成, 它们是

                         (1)登录名;

                         (2)加密口令;

                         (3)数值用户ID;

                         (4)数值组ID;

                         (5)注释字段;

                         (6)起始目录;

                         (7)shell程序;

                                  gavin : x : 1000 : 1000 :  : /home/gavin : /bin/bash

            目前所有的系统已经将加密口令移到另一个文件中。 第 6 章将说明这种文件以及访问它们的函数。

        2. shell

            用户通常使用终端(terminal), 有时则通过文件(成为shell脚本, shell script)向 shell 进行输入。

    四: 文件和目录

        1. 文件系统: 文件系统是目录和文件组成的一种层次结构。 目录的起点称为根(root), 其名字是一个字符 /。

                          (1) 目录(directory)是一个包含许多目录项的文件。 在逻辑上, 可以认为每个目录项都包含一个文件名, 同时还包含说明该文件属性的信息。

                                                          文件属性是指文件类型(普通文件还是目录), 文件大小, 文件所有者, 文件权限(其他用户能否访问该文件), 以及文件的

                                                          最后修改时间等。

        2. 文件名:

           (1)目录中每个文件的名字文件名(filename), 不能出现在文件名中的字符只有斜线(/)和空操作符(null)。

                          斜线用来分隔构成路径名, 空操作符用来终止路径名。

            (2)创建目录时会自动创建两个文件名: (.)和(..) 。

            (3)路径名: 一个或多个以斜线分隔的文件名序列构成路径名(pathname), 以斜线开头的路径名称为绝对路径名(absolute pathname), 否则称为

                                   相对路径名(relative pathname)。

                   

             (4) 工作目录: 每个进程都有一个工作目录(working directory), 有时称其为当前工作目录(current working directory)。 所有相对路径名都从工作目录开始解

                                    释。 进程可以用chdir函数更改其工作目录。

            (5)起始目录: 登录时, 工作目录设置为起始目录(home directory), 该起始目录从口令文件中相应用户的登录项中取得。

    五: 输入和输出

        1. 文件描述符(file descriptor): 通常是一个小的非负整数, 内核用它描述一个特定进程在访问的文件。 当内核打开一个已有文件或创建一个新文件时, 它返回一

                                                        个文件描述符。 在读, 写文件时, 就可以使用它。

            Ubuntu下查看FD。

            打开System Monitor, 查看process。

            选中某个process, open files.

           

        2. 标准输入, 标准输出, 标准出错: 按惯例, 每当运行一个新程序时, 所有的shell都会为其打开三个文件描述符: 标准输入(standard input), 标准输出

                                                                  (standard output), 标注出错(standard error)。 如果 像简单命令ls 那样没有做什么处理, 则这三个描述符都链向终端。

                                                                  大多数shell都提供一种方法, 使其中任何一个或所有这三个描述符都能重新定向到某个文件, 如。

                                                                      ls > file.list。

        3. 不用缓冲的I/O: 函数open, read, write, lseek以及 close都提供了不用缓冲的I/O。 这些函数都是使用文件描述符。

                                      如果愿意从标准输入读, 并向标注写出, 则程序清单1-2中的程序可用于复制任一UNIX普通文件。

        

           

  • 相关阅读:
    SAS学习笔记38 SAS Comments注释语句
    SAS学习笔记37 宏程序中parmbuff选项
    SAS学习笔记36 二分类logistic回归
    SAS学习笔记34 指针控制
    SAS学习笔记33 格式修饰符
    SAS学习笔记31 SAS随机分组方法及实现
    angular的websocket使用
    angularjs 使用ui.router 去掉url中的#号
    angular全局确认框confirm
    angular 请求$http载入画面Loading
  • 原文地址:https://www.cnblogs.com/gavinwu/p/3332791.html
Copyright © 2011-2022 走看看