UNIX环境高级编程——————UNXI基础知识

一、Unix体系结构

(应用程序)---(shell,公共函数库)----(系统调用)---(内核)
其中应用程序既可以使用函数库,也可以使用系统调用。
shell是一种特殊的应用程序,为运行其他应用程序提供接口。
shell是一个命令行解释器,读取用户输入(来自终端或文件),然后执行命令。

二、登录

1.用户在登陆linux系统时,先键入登录名,然后键入口令。系统在其口令文件(通常是/etc/passwd文件)中查看登录名。口令文件中的登陆项由7个以冒号分隔的字段组成,它们是:

登录名、加密口令、数值用户ID、数值组ID、注释字段、起始目录以及shell程序。

sar:x:205:105:Stephen Rago:/home/sar:/bin/ksh

2.文件和目录

文件系统:是目录和文件的一种层次结构,所有文件的起点都是为root(根)的目录

目录:是包含目录项的文件,目录项包括:文件名和文件属性,而文件属性包括文件类型,文件大小,文件所有者,文件权限以及文件最后的修改时间。

文件名:目录下的各个名字即文件名

路径名:包括相对路径和绝对路径,绝对路径是以‘/’开头的,相对路径则不是。

工作目录:每个进程都有个工作目录

起始目录:登录时,工作目录设置为起始目录,是从口令文件中相应的用户登录项中获取

3.时间值
(1)日历时间:该值是自1970年1月1日00:00:00以来国际标准时间(UTC)所经过的秒

数累计值。(系统基本数据类型time_t用于保存这种时间值)

(2)进程时间:也被称为CPU时间,用以度量进程使用的中央处理机资源。(系统基本数据类型clock_t用于保存这种时间值)

4.在支持线程的环境中,多个线程共享进程地址空间,每个线程都有属于它自己的局部errno以避免一个线程干扰另一个线程。
  对于errno应当知道两条规则。
(1)如果没有出错,则其值不会被一个例程清除。因此,仅当函数的返回值指明出错时,才检验其值。
(2)任一函数都不会将errno值设置为0.

你可能感兴趣的:(Linux编程)