UNIX环境高级编程--第一章总结

来源:互联网 发布:交通节能减排数据 编辑:程序博客网 时间:2024/05/16 14:20

1.shell是一个命令行解释器,它读取用戶输入,然后执行命令.用戶通常用终端(交互式shell),有时通过文件(称为shell脚本,shell script)向shell进行输入.

2.stat和fstat函数返回包含所有文件屬性的一个信息结构.

3.目录是一个包含许多目录项的文件,在邏辑上可以认为每个目录项都包含一个文件名,同时还包含说明文件屬性的信息.(目录项的邏辑视图与实際存放在磁盘上的方式是不同的.UNIX文件系统的大多数并不在目录中存放屬性,这是因为当一个文件具有多个链接时,很难保持多个屬性副本之间的同步)

4.创建文件时会自动创建两个文件名:   .(点)    ..(点-点) 其中点指当前目录,点-点则指向父目录.在最高层的根目录中,点-点与点相同.

5.函数exit终止程序.exit(0):参数0是正常结束.1~255表示出错.

6.必要时我们可以替换库函数,而通常却不能替换系统调用.(比如:库函数malloc用来分配内存,它肯定会调用系统调用中的负责处理器分配的sbrk系统调用.但是我们如果不喜欢malloc函数,我们就可以写自己的内存分配函数.但在我们定义的函数中肯等会用到sbrk系统调用)-----内核中的系统调用sbrk分配另外一块空间给进程,而库函数malloc则在用戶层次管理这一空间.

7.应用程序可以调用系统调用或库函数,而很多库函数则会调用系统调用.

8.守护进程(是指在后台运行且不与终端相连接的一种进程,也常常被称为精灵进程或后台进程)中一个常见的代码序列是关閉所有打开文件.

9.不带缓冲的I/O是指每个read和write都调用内核中的一个系统调用.